Homebrew
Homebrew
自分のアプリを試すためのformulaの書き方を覚えたいなぁ、と以下を読む。
Formula Cookbook — Homebrew Documentation
割と理解出来た気がする。そのうち試してみたい。
自作のtapの公開方法
- 【備忘録】Homebrewで自作ツールを配布する - ハイパーマッスルエンジニア
- brew tapでGolangの自作アプリケーションを公開する方法 - ブロックチェーンエンジニアとして生きる
- A Step-by-Step Guide To Create Homebrew Taps From GitHub Repos | by Shinichi Okada | Better Programming
- 野良 homebrew-cask の作成 - M1 MacBook Air インストール覚書(8) - hkob’s blog
github決め打ちなので試すのにurlが要らないのはいいね。公式のManpageのtapのあたりも良くまとまっている。
ローカルのFormula
/usr/local/Homebrew/Library/Taps 下にある。なお、正しくはbrew --repository でHomebrewまでのパスは分かる。 これをgrepしていくとだいたい書き方が分かる。
Electronアプリのtap
うーむ、brewでビルドするもんかと思ったが、bottleを入れる方が普通なのか?
guashをhomebrewのtapで公開してみる
試しにguashをhomebrewで公開してみよう。
dotnetのruntimeはcaskじゃなくてもあるのか。
出来た!
以後新しいFormulaを追加する手順をまとめておこう。
新しいアプリをtapに加える手順
- タグを打ってバイナリをgithubのreleasesにアップロード
- バイナリのurlに対して
brew create <url> - Formulaの雛形がエディタで開かれるので編集して保存
- tapのレポジトリにmvして加える
tapのアップデートってどうやってやるんだろう?
公式に含まれているものならbump-formula-prというのにurlを渡せばPRを作る所まで良きにはからってやってくれそうだが、 野良tapの場合はどうするのがいいんだろう?
とりあえずbrew create <url>でFormulaを作ってurlとshaをFormulaにコピペして作られたFormulaを手で消す、 という作業でアップデートは出来た。
upgradeのやり方は良くわからないが、
$ brew upgrade karino2/tap
$ brew upgrade karino2/tap/guash
とかをぐちゃぐちゃやっていたらなんか成功してしまった。 正しいやり方がわかったらここは直す。
お、上記のページにUpdate routineというのがあったな。
A Step-by-Step Guide To Create Homebrew Taps From GitHub Repos
createで作ってコピペして手で消すらしい…まぁいいか。
正しい手順は
$ brew upgrade
$ brew install karino2/tap/guash
っぽい?後者はupgradeで出来そうな気もしているが。
追記: なんか上記手順ではFormulaは更新されないなぁ。 エラーメッセージが最後に出るが、以下のコマンドで更新されているように見える。
$ brew upgrade karino2/tap/
正しいやり方が謎だが、まぁこれで更新されるので、あとはbrew installなりbrew upgradeなり出来るからいいか。