brew caskに登録されていないアプリを追加する

brew caskに登録されていないアプリをbrew caskで管理したいと思って調べました。

インストールしたいアプリの情報を記載したrubyファイルを作り、brew caskのライブラリに入れておくだけです。

今回の例では「cooViewer.app」を管理してみようと思います。

# ファイル名規則を確認する

brew caskにはアプリ名からファイル名規則を提案してくれるgenerate_cask_tokenコマンドが用意されています。

"$(brew --repository)/Library/Taps/homebrew/homebrew-cask/developer/bin/generate_cask_token" 'cooViewer'
Proposed token:               cooviewer
Proposed file name:           cooviewer.rb
Cask Header Line:             cask 'cooviewer' do
1
2
3
4

# コマンドからファイルを作る

同様にファイルを作成するcreateコマンドもあります。

brew cask create cooviewer
1

そうするとファイルが自動的に作成されvimで開かれます。

cask 'cooviewer' do
  version ''
  sha256 ''

  url "https://"
  name ''
  homepage ''

  app ''
end
1
2
3
4
5
6
7
8
9
10

埋まっていない情報を埋めていきます。

cask 'cooviewer' do
  version '1.2b25'
  sha256 'b085124c540ce6e7cf2f8dbf1c2a0dc7ae47133d9afbc73357ac98ea168cf09e'

  url "https://github.com/coo-ona/cooViewer/releases/download/#{version}/cooViewer.zip"
  name 'cooViewer'
  homepage 'https://coo-ona.github.io/cooViewer/'

  app 'cooViewer/cooViewer.app'
end
1
2
3
4
5
6
7
8
9
10

zipやdmgを展開した時にアプリが入っているだけならばappの欄にアプリ名を書くだけで済みますが、今回の例ではフォルダの中に入っていたので上記のような書き方になりました。

# SHA-256(ハッシュ関数)を確認

sha256部分はダウンロードするファイルのハッシュ値を記述します。

以下のようなコマンドで取得可能。

shasum -a 256 ファイル名
1

/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks/cooviewer.rbにファイルが作られました。

あとは普段と同じようにbrew cask installするだけ。

ここまででインストールはできます。

以下は新しい環境に移行したときなどでも使えるようにするための設定。

# 新しい環境に移行しても使えるようにしておく

方法は大きく分けて二つある。

  • 公式にPull RequestしてMergeして貰う(王道)
  • 自分専用のtapを作り、githubにあげて自分だけで運用する(邪道)

今回は邪道を選びます。

# githubに適当な名前のレポジトリを作る=自分専用のTAP

  • レポジトリの先頭がhomebrew-で始まらなければならない
  • homebrew-hogecaskとかがいいんじゃないか
  • できたレポジトリ内にCasksフォルダを作ってrubyファイルを入れる
  • こうして準備しておけばbrew tap hoge/homebrew-hogecaskとかで設定を引き継げる

# 参考にしたサイト

Homebrew/homebrew-cask
🍻 A CLI workflow for the administration of macOS applications distributed as binaries - Homebrew/homebrew-cask
brew cask にアプリがなかったら追加しよう - Qiita
公式リポジトリのアプリが増えるとうれしいので、かんたんな追加方法をまとめました。 下記のアプリを実際に登録申請してみました。 > * [ACTPrinter: Virtual Printer](http://houdah.c...
Homebrew Caskのアップデート等
先日書いたとおり1 ちょっと前に新しいMacに移行したのですが、 その際にアプリをHomebrew Caskで出来るだけ管理できるように移行しました。 その際、ちょこちょこ前と変わってる部分もあったのでその辺のまとめ。
gemでYou don't have write permissionsって怒られた時の対処法

gemでYou don't have write permissionsって怒られた時の対処法

久々にmacを新調し、gemとかからいろいろ入れるかーって思ったらYou don't have write permissions for the /Library/Ruby/Gems/2.6.0 direcgtory.って怒られたので、いろいろ調べて直しました。

ファイルがドロップされなくても使えるようなDropletの書き方

ファイルがドロップされなくても使えるようなDropletの書き方

Dropletとは、アプリアイコンにファイルがドロップ&ドロップされると、そのファイルに対して処理を行えるAppleScript製アプリのことです。

そのDropletを普通にアプリとしても起動しても、同じように使えるようにするためのサンプル。

エラー処理とかまったく考えてないので、よしなにしてください。