ImageMagick がちょいちょい細かくバージョンを上げてくれるので、自分が使いたいバージョンにあげたときの作業ログです。 私が作業したのは https://github.com/Homebrew/homebrew-core/pull/40921 です。
Pull Request を作成するところで hub
が使われるのでインストールしておく。
$ brew install hub
Pull Request を送れるように、手元の Repository に https://github.com/Linuxbrew/brew/blob/master/docs/How-To-Open-a-Homebrew-Pull-Request.md#formulae-related-pull-request に従い Repository を fork し remote を指定しておきます。
$ cd $(brew --repository homebrew/core) $ git remote add <YOUR_USERNAME> https://github.com/<YOUR_USERNAME>/homebrew-core.git
環境変数 HOMEBREW_GITHUB_API_TOKEN
で GitHub の API トークンを設定しておく必要がありました。
あとは、以下の様に bump-formula-pr
コマンドを実行すると、テスト実行やら Pull Request の作成まで自動でやってくれます。
$ export IMAGEMAGICK_VERSION="6.9.10-96" $ curl -O https://imagemagick.org/download/releases/ImageMagick-$IMAGEMAGICK_VERSION.tar.xz $ export SHASUM256=`shasum -a 256 ImageMagick-$IMAGEMAGICK_VERSION.tar.xz | awk '{print $1}'` $ cd $(brew --repository homebrew/core) $ brew bump-formula-pr imagemagick@6 --strict \ --url=https://dl.bintray.com/homebrew/mirror/imagemagick%406-$IMAGEMAGICK_VERSION.tar.xz \ --mirror=https://www.imagemagick.org/download/releases/ImageMagick-$IMAGEMAGICK_VERSION.tar.xz \ --sha256=$SHASUM256
どうも ImageMagick が特殊らしく、Pull Request がマージされると --url
で指定した URL へ --mirror
からコピーされるようです。ImageMagick 公式サイトでは最新の tar ball しか保持していないからいろいろ都合が悪いのでしょうか。
そのせいか、本来は --sha256
を指定しなければ自動計算されるらしいのですが、いちいち指定しないと駄目っぽい。(sha256
の自動取得の際に --url
の URL が使われるのだがそこにはまだファイルが存在していないため。) という作法を知らなかったため、ずいぶんハマりました(・ω・)