先日、乳首からレーザービームを出すchikubeamというアプリケーションを作り、せっかくなので brew install chikubeam
できると良いなと思い調べてみました。
方針
brew install chikubeam
するためには以下の2通りの方法があります。
- Homebrew/homebrewにPull Requestを送る
- 独自リポジトリを
brew tap
してからbrew install
する - chikubeamは下ネタ要素も含んでいるので今回は後者を選択しました。
リポジトリの作成
brew tap
するにはGitHubにリポジトリを作成する必要があります。リポジトリの名前は homebrew-[name]
にします。すると、 brew tap [user name]/[name]
でtapできるようになります。
パッケージ情報の記述
homebrew-[name]
ワークツリーのルートに [app_name].rb
というRubyのファイルを作成します。
require "formula" class Chikubeam < Formula homepage "https://github.com/masawada/chikubeam" url "https://github.com/masawada/chikubeam/archive/v1.2.tar.gz" sha256 "606d00bc4736ef3fe10fdaa554985a08fd5642279a96f30ab2727b2cc7a771c1" head "https://github.com/masawada/chikubeam.git" version "1.2" def install system "make" bin.install "chikubeam" end end
まず、 require "formula"
します。 Formula
を継承したclassを作成し、その中に homepage
などのURL指定とinstallメソッドを定義します。
ここでは make
して生成されたchikubeamの実行ファイルをインストールするよう定義しました。
sha256
は url
に指定したファイルのSHA256メッセージダイジェストを記述します。これは openssl dgst -sha256 [filename]
のようにコマンドを発行することで取得することができます。
以上の内容をpushしましょう。
これで
$ brew tap user_name/name $ brew install app_name
でアプリケーションをインストールできるようになります。
install
メソッドの中には man
コマンドで呼び出すマニュアルをインストールする指定、依存ライブラリを同時にインストールする指定などもあります。詳しくはFormula Cookbook · Homebrew/homebrew Wikiを読みましょう。
サンプル
$ brew tap masawada/chikubeam $ brew install chikubeam