132006はじめにGentooのパッケージ管理システムPortageは、FreeBSDのportsやNetBSDのpkgsrcのようにソースからビルドする利用方法が一般的です。通常使われるソースとしては、tar.bz2などのアーカイブされたものを利用しますが、Portageではcvsからcheckoutしたものを利用することができるようになってます。emacs用のテキストブラウザであるemacs-w3mをcvsソースからビルドするためのパッケージを自作してみます。通常版とcvs版があるWanderlust(Emacsenで動作するMUA)のebuildファイルを比較して、ポイントを確認してみます。http://dev.gentoo.org/~usata/distfiles/${MY_P}-20050405.diff"+SRC_URI="":ポイントは以下の3点になります。inheritキーワードにcvsを追加これはcvs.eclassというものを使うための宣言です。ECVS_SERVER、ECVS_MODULE、ECVS_BRANCHという3つの変数を定義これはcvsモジュールをcheckoutしてくるための情報になります。checkout先は/usr/portage/distfiles/cvs-src配下になります。SRC_URIが空tar.bz2等アーカイブをダウンロードしてくる必要がなくなりますので、こちらの変数は空にします。未定義ではエラーになります。emacs-w3m-cvs.ebuild作成Wanderlustにならって、app-emacs/emacs-w3mのcvs版ebuildを作成してみました。${FILESDIR}/70emacs-w3m-gentoo.elオリジナルからの変更点は、Wanderlustで確認した3点とおおよそ同じです。digestを実行してdigestファイルを作成しておきます。配布元がCVSのebuildを作成したいのですが。232005emacs-w3mのcvs版ebuildを作ってみました。ballなアーカイブソース以外からでもパッケージをビルド、インストールできるので便利です。hogehogeの1ステップで済む更新時に削除(廃止)されたファイルも消してくれるパッケージ管理下にできるので依存関係をごまかす必要がないといった点でしょうか。