homebrew-cask
homebrew-cask という OS X の GUI アプリケーション (*.app
のこと) も Homebrew のような DSL で管理できたらいいじゃん、という発想に基づいたプロジェクトがある。
homebrew-cask は tap という Homebrew に formula を追加する仕組みの上にできていてなかなか筋がよいと思う。
Cask を書く
自分は IME として AquaSKK を利用しているので、homebrew-cask を使ってインストールできるようにしようと思う。
homebrew-cask/CONTRIBUTING.md at master · phinze/homebrew-cask · GitHub
Cask *1 の書き方は上記のとおり、Formula と似ている。
Uninstall のサポートが興味深い。
OS X の GUI アプリケーションはインストールされたパスではないところに設定などを保存したりする場合があるので後片付け処理を行わないといけないので、そのためのサポートが含まれている。
AquaSKK は pkg 形式で配付されているので、uninstall
メソッドに :pkgutil
オプションを渡す。
Cask を提供する tap をつくる
リポジトリ・ルート下にある Casks/*.rb
を Cask として認識するようだった。
注意しなければいけない点として、tap として妥当なリポジトリ名の正規表現は (homebrew-)?(\w+)
なので -
(ハイフン) は使えない。
In a nutshell, your repository name can only contain letters, numbers, and underscores.
brew tap · Homebrew/homebrew Wiki · GitHub
それでできた tap:
README に書いてあるとおり、brew tap aereal/homebrew-aereal_casks
を実行すると使えるようになる。
brew cask install aquaskk
で AquaSKK がインストールできるようになる。
*1:Homebrew で言う Formula