Homebrew ディレクトリメモ

  • 11
    Like
  • 0
    Comment
More than 1 year has passed since last update.

手間取ったのでメモ

概要

  • GitHubにhomebrew-foobarって名前のリポジトリを作るとbrew tap {username}/foobarでtapできる
  • homebrew-foobarfoobar.rbを置くとbrew install foobarができる
    • その時の処理はfoobar.rb内のdef installで定義することができる

ファイルツリー

/usr/local/
  |- Library/
  |    `- Taps/
  |         `- {username}/
  |              `- homebrew-foobar/
  |                   `- foobar.rb
  |- Cellar/
  |    `- foobar/
  |         `- {version}/
  |              |- bin/
  |              |    `- foobar
  |              `- share/
  |                   `- foobar/
  |                        `- hogefuga
  |- bin/
  |    `- foobar@ -> /usr/local/Cellar/foobar/{version}/bin/foobar
  `- share/
       `- foobar@ -> /usr/local/Cellar/foobar/share/foobar
            `- hogefuga

/usr/local/Library/Taps/{username}/homebrew-foobar/foobar.rb

foobar.rb
require "formula"

class foobar < Formula
    homepage "https://github.com/{username}/foobar"
    url "https://github.com/{username}/foobar/archive/{version}.tar.gz"
    sha256 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    head "https://github.com/{usename}/foobar.git"
    version "{username}"

    def install
        system "make", "install", "PREFIX=#{prefix}"
    end
end

落としてきたファイルのインストールの方法とか書いてあるやつ。
GitHubにhomebrew-foobarって名前のリポジトリを作ってこれを入れると、brew tap {username}/foobarをすることができる。

brew tap {username}/foobarがすること

  1. /usr/local/Library/Taps/{username}homebrew-foobarをクローンする

だけ。ただ、これをするとbrew search foobarとかbrew install foobarができるようになる。

brew install foobarがすること

  1. foobar.rburlに書かれたファイルをダウンロードして、def install〜endで定義された処理が実行される
  2. 生成されたbin/なりshare//usr/local/Cellar/foobar/{version}以下にコピーされる
  3. /usr/local/Cellar/foobar/{version}の中身が/usr/local/binなり/usr/local/shareにシンボリックリンクが貼られる

TODO