app-editors/emacs-cvs-23.0.9999 の emerge に成功

ジックリ設定する時間が無かったものですから、gentoo に移行してからというもの、ほぼデフォルトで我慢してきましたが、しかしさすがに限界。特に emacs の色。
私は「アンチエリアス必須の人」なので、23 以前の場合は必然的に -nw 前提となる訳ですが、しかし、各種 elisp にあらかじめ設定されている美しいと思しき配色のほとんどは gui が前提のようですので、256色化された screen といえども太刀打ちできていない様子。
例えば、wanderlust のフォルダなどは -nw の場合、 unread が MediumVioletRed、zero が BlueViolet と、ちょっとスゴい配色です。個人的には、TextMate の Slate (by Wilson Miner) の色合いが大のお気に入りなので、こちらを emacs で再現できれば、本当に大満足です。

Themes / UserSubmittedThemes browse ― TextMate Wiki

なので、当初諦めた emacs-cvs の emerge を再度試みました。
当初は emerge 中の bootstrap で失敗したので、「こりゃあ大変そうだ」ということで半ば諦めましたが、数週間ぶりの今回の emerge では、なぜか所変わって patch でコケている様子。これならば、私でも何とかなりそうです。

追記: 現在(2008/11/13 現在)は問題なく emerge できていますので、下記のような修正は必要ありません。


失敗している patch は emacs-cvs-freebsd-sparc.patch。emerge が吐き出したログを見ると、パッチが適用できていない。そこで、当該パッチが対象としている emacs/src/alloc.c を覗いて見ると、パッチに記載されている箇所そのものが存在しない。これでは怒られても仕方ありませんね。
なので、以下の手順で当該パッチを無効にしてみたところ、emerge が無事通過しました。

1. ローカルに portage の overlay を準備する

# echo PORTDIR_OVERLAY="/usr/local/portage" >> /etc/make.conf
(当該ディレクトリが無ければ、あらかじめ作成しておいてください)
# mkdir /usr/local/portage/app-editors
# cp -r /usr/portage/app-editors/emacs-cvs /usr/local/portage/app-editors/

2. パッチの適用を無効にする

# cd /usr/local/portage/app-editors/emacs-cvs/
# cp emacs-cvs-23.0.9999.ebuild emacs-cvs--23.0.9999.ebuild.bak
# sed 's/epatch "${FILESDIR}/${PN}-freebsd-sparc.patch"/#&/' emacs-cvs-23.0.9999.ebuild.bak > emacs-cvs-23.0.9999.ebuild

3. ebuild の digest を生成
emerge emacs-cvs を 4回繰り返して、emacs-cvs-23.0.9999.ebuild のファイルサイズ, RMD160, SHA1, SHA256 を取得。エラーメッセージに表示されますので、それを頂戴してしまおう、という案配です。

# ebuild emacs-cvs-23.0.9999.ebuild digest

4. 上記 4つを /usr/local/portage/app-editors/emacs-cvs/Mainfest に転記する(手抜きw)

後は通常通りのインストール手順となります。ちなみに、私の USES Flag は以下の通りです。

# emerge -pv emacs-cvs

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] app-editors/emacs-cvs-23.0.9999  USE="X gif gpm gtk jpeg png tiff xft xpm -Xaw3d -alsa -dbus -gzip-el -hesiod -kerberos -m17n-lib -motif -sound -source -spell -svg -toolkit-scroll-bars" 0 kB [1]

Total: 1 package (1 reinstall), Size of downloads: 0 kB
Portage tree and overlays:
 [0] /usr/portage
 [1] /usr/local/portage

取りあえず、emacs-w3m 以外は諸々問題無く動作しています。私的には使用頻度はあまり高くないので、dot.emacs からコメントアウトしておりますが、必要な方は以下のサイトをご参考に。

Gentoo で Emacs 23 を使う ― ありえるえりあ