RandomThoughts

RandomThoughts

Homebrew

Contents:
  1. 自作のtapの公開方法
  2. ローカルのFormula
  3. Electronアプリのtap
  4. guashをhomebrewのtapで公開してみる
    1. 新しいアプリをtapに加える手順
    2. tapのアップデートってどうやってやるんだろう?

自分のアプリを試すためのformulaの書き方を覚えたいなぁ、と以下を読む。

Formula Cookbook — Homebrew Documentation

割と理解出来た気がする。そのうち試してみたい。

自作のtapの公開方法

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なり出来るからいいか。