@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Homebrew でインストールしようとしたパッケージがダウンロードできないとき

kyanny-macbookair:~ kyanny$ brew install emacs --cocoa
==> Downloading http://ftp.gnu.org/pub/gnu/emacs/emacs-23.3.tar.bz2

curl: (22) The requested URL returned error: 404
Error: Failure while executing: /usr/bin/curl -f#LA Homebrew\ 0.8\ (Ruby\ 1.8.7-249;\ Mac\ OS\ X\ 10.7) http://ftp.gnu.org/pub/gnu/emacs/emacs-23.3.tar.bz2 -o /Users/kyanny/Library/Caches/Homebrew/emacs-23.3.tar.bz2

こんな風になってしまったとき、 brew edit emacs で formula を書き換えることもできるけど、 tarball をよそからダウンロードしてきて cache ディレクトリに置くほうがはやい。

https://github.com/mxcl/homebrew/wiki/Tips-N'-Tricks

Pre-downloading a file for a formula
Sometimes it's faster to download a file via means other than those strategies that are available as part of Homebrew. For example, Erlang provides a Torrent that'll let you download at 4–5× the normal HTTP method. Download the file and drop it in ~/Library/Caches/Homebrew, but watch the file name. Homebrew downloads files as {{ formula name }}-{{ version }}. In the case of Erlang, this requires renaming the file from otp_src_R13B03 to erlang-R13B03.

New:

mv the_tarball `brew --cache formula-name`
You can also pre-cache the download by using the external command brew fetch formula which also displays the MD5. This can be useful for updating formulae to new versions.

というわけでこうするとよい。

kyanny-macbookair:~ kyanny$ curl -O http://core.ring.gr.jp/pub/GNU/emacs/emacs-23.3a.tar.bz2
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 36.9M  100 36.9M    0     0  2206k      0  0:00:17  0:00:17 --:--:-- 2551k
kyanny-macbookair:~ kyanny$ mv emacs-23.3a.tar.bz2 `brew --cache emacs`

と思ったら MD5 チェックサムが違うみたいでうまくいきませんでしたとさ。ちゃんちゃん。

kyanny-macbookair:~ kyanny$ brew install emacs --cocoa
==> Downloading http://ftp.gnu.org/pub/gnu/emacs/emacs-23.3.tar.bz2
File already downloaded in /Users/kyanny/Library/Caches/Homebrew
Error: MD5 mismatch
Expected: a673c163b4714362b94ff6096e4d784a
Got: f2cf8dc6f28f8ae59bc695b4ddda339c
Archive: /Users/kyanny/Library/Caches/Homebrew/emacs-23.3.tar.bz2
(To retry an incomplete download, remove the file above.)

md5sum でチェックサムを計算して、 brew edit emacs で formula をひらいてチェックサムを書き換える。

kyanny-macbookair:~ kyanny$ md5sum emacs-23.3a.tar.bz2
f2cf8dc6f28f8ae59bc695b4ddda339c  emacs-23.3a.tar.bz2
kyanny-macbookair:~ kyanny$ md5sum `brew --cache emacs`
f2cf8dc6f28f8ae59bc695b4ddda339c  /Users/kyanny/Library/Caches/Homebrew/emacs-23.3.tar.bz2
kyanny-macbookair:~ kyanny$ brew edit emacs

これで無事に brew install emacs できるようになった。 --cocoa オプションもつけてみる。

ダメだった、というか brew update したら emacs-23.3a とかにちゃんとかわってるし make できない不具合も修正済みっぽかった。

修正済みじゃなかったので https://github.com/mxcl/homebrew/issues/6803#issuecomment-1727757 これに従って

brew install https://raw.github.com/ColinHebert/homebrew/a68ad4e09b881e002b3b25d9951477ce4b14da84/Library/Formula/emacs.rb --cocoa

としたら無事に入った。

入ったはいいけどこんなエラーが出る。

Warning: arch-dependent data dir (/private/tmp/homebrew-emacs-23.3a-WraV/emacs-23.3/nextstep/Emacs.app/Contents/MacOS/libexec/emacs/23.3/x86_64-apple-darwin11.0.1/) does not exist.

なんかよくわからん・・・。ていうか Homebrew のメモのつもりだったのに emacs インストールのメモになってしまってる。

とりあえずメモだけどんどん追記してあとで別エントリにしよう。

Lion 用に修正された + emacs-23.3a 向けに修正された Formula はこれ。

https://gist.github.com/1128997

https://gist.github.com/1109223 これから fork したものらしい。 1109223 のほうは 22.3 なのでたぶんいまはもう使えない。

brew install https://raw.github.com/gist/1128997/347bb0d97155a294d9c50b6418c9130fadec8a5b/emacs.rb --cocoa

参考 2011-08-21

あー 1128997 もっとダメだ。ツールバーがでないのと -nw もきかない。

違うな --lion つけわすれてた。

brew install https://raw.github.com/gist/1128997/347bb0d97155a294d9c50b6418c9130fadec8a5b/emacs.rb --cocoa --lion