homebrew

手軽に自作アプリケーションをbrew installできるようにする

More than 3 years have passed since last update.

先日、乳首からレーザービームを出す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のファイルを作成します。


chikubeam.rb

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の実行ファイルをインストールするよう定義しました。

sha256urlに指定したファイルのSHA256メッセージダイジェストを記述します。これはopenssl dgst -sha256 [filename]のようにコマンドを発行することで取得することができます。

以上の内容をpushしましょう。

これで


install.sh

$ brew tap user_name/name

$ brew install app_name

でアプリケーションをインストールできるようになります。

installメソッドの中にはmanコマンドで呼び出すマニュアルをインストールする指定、依存ライブラリを同時にインストールする指定などもあります。詳しくはFormula Cookbook · Homebrew/homebrew Wikiを読みましょう。


サンプル

masawada / homebrew-chikubeam


install.sh

$ brew tap masawada/chikubeam

$ brew install chikubeam