NetWalkerでEmacs23のビルドとインストール

経緯

シャープのNetWalkerを買ったんですが、リポジトリにEmacs23のdebパッケージが無いことに我慢できなかったので…

230 login:Penguin [sage] 2009/09/24(木) 11:47:00  ID:JFelCHGc Be:
    ヘタレなのでEmacs23をセルフビルドすることにした。 

231 login:Penguin [sage] 2009/09/24(木) 12:27:48 ID:hMFgf6/j Be:
    emacsってクロス難しいんだよね確か 

236 230 [sage] 2009/09/24(木) 17:52:53  ID:QUF01YAU Be:
    わーいEmacs23ビルド終了。2時間半かかった。
    よく考えたら、ARM非依存なパケジやら-noxなパケジもビルドしてたので
    かなり無駄が多い。

    さて、.emacsを母艦から移してこよう。 

237 login:Penguin [sage] 2009/09/24(木) 17:59:26 ID:GIHpyZ/y Be:
    モバイル機でemacsを2時間半でビルド出来るのか、良い時代だな 

238 login:Penguin [sage] 2009/09/24(木) 18:01:26 ID:EhXsQnjd Be:
    >>237
    Pentium3くらいのCPU性能ありそうだね。 

244 230 [sage] 2009/09/25(金) 01:49:14  ID:xNiZuKqJ Be:
    navi2ch on NetWalker から記念パピコ
    キーバインドすっかり忘れてもうたorz

    >>240
    ここからどうぞ
    http://www11.atwiki.jp/s-irie/pub/netwalker/emacs23/
    ARM依存のパケジのみ置いてあります。
    他に必要なものは PPA for Ubuntu Emacs Lisp のリポジトリを利用してね。
    https://launchpad.net/~ubuntu-elisp/+archive/ppa 

245 login:Penguin [sage] 2009/09/25(金) 03:23:12 ID:dlDjmijH Be:
    emacsありがとー 

230が私です。

LCフォントにアンチエイリアスが効いていて、なかなか綺麗です。

以下、実際に行った手順を書きます。

ビルド

aptのソースにPPA for Ubuntu Emacs Lispリポジトリを追加する

ターミナルの画面から以下のコマンドを順に入力します。

$ cd /etc/apt/sources.list.d
$ sudo touch emacs-ppa.list
$ sudo gedit emacs-ppa.list

geditが起動しemacs-ppa.listファイルが開いたら、以下のように編集して保存します。

## PPA for Ubuntu Emacs Lisp
deb http://ppa.launchpad.net/ubuntu-elisp/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/ubuntu-elisp/ppa/ubuntu jaunty main

再びターミナル画面に戻って、次のコマンドを入力します。

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D62FCE72
$ sudo apt-get update
ビルド環境のインストール

以下のコマンドを入力します。

$ sudo apt-get install dpkg-dev devscripts

パッケージを2つだけ指定していますが、依存関係により大量のパッケージがインストールされます。これで約50MBのディスク領域を消費します。

ビルドに必要なライブラリのインストール

以下のコマンドを入力します。

$ sudo apt-get build-dep emacs23

これも大量のパッケージがインストールされ、約100MBのディスク領域を消費します。

作業用ディレクトリの準備

内蔵のストレージ上でビルドしてもいいんですが、Flashモリーを酷使するので外部ストレージ上で行うことにします。私の場合はMicroSDカード上で行いました。ファイルシステムがvfatではビルドできないかもしれないので、ext2 でフォーマットしました(フォーマットの方法は省略)。
外部ストレージが /media/disk にマウントされたとして、/media/disk/tmp/emacs23という作業用ディレクトリを作るため、以下のコマンドを入力します。

$ cd /media/disk
$ sudo mkdir tmp
$ sudo chmod 1777 tmp
$ cd tmp
$ mkdir emacs23
$ cd emacs23
ビルドの実行

今、上記の作業用ディレクトリの中にいるとして、次のコマンドを実行します。

$ sudo apt-get -b source emacs23

これにより 3 つのファイルがダウンロードされ、自動的にパッケージのビルドが始まります。
ビルドには2時間半程度かかります。

インストール

インストールの方法はいろいろ考えられますが、私はローカルのリポジトリを作ってインストールしました。

リポジトリの準備

例えば、リポジトリをホームディレクトリ以下のpackagesというディレクトリに作ります。

$ cd
$ mkdir packages
$ cd packages

このディレクトリにビルドしたdebパッケージをコピーします。

$ cp /media/disk/tmp/emacs23/*_armel.deb .

なお、私のビルドしたパッケージがhttp://www11.atwiki.jp/s-irie/pub/netwalker/emacs23/においてありますので、そちらを利用する事もできます。その場合は上記のアドレスに置いてある2つのdebパッケージをFirefox等を使ってダウンロードし、このディレクトリに移動します。ただし、自分でビルドしない場合も、PPA for Ubuntu Emacs Lispリポジトリはいくつかのファイルを取得するために必要ですので、登録しておかなければなりません。

さらに、同じディレクトリ内にPackagesファイルを作成します。

$ apt-ftparchive packages . | tee Packages | gzip -c9 > Packages.gz
リポジトリの登録

ターミナルの画面から以下のコマンドを順に入力します。

$ cd /etc/apt/sources.list.d
$ sudo touch mypackages.list
$ sudo gedit mypackages.list

geditでmypackages.listファイルが開いたら、以下のように編集して保存します。ただし、ここではユーザー名がhogeであるとした場合ですので、「hoge」の部分は自分のユーザー名に変更します。

## Emacs23
deb file:/home/hoge/packages ./
インストールの実行

次のコマンドで、リポジトリ情報の更新とインストールを行います。

$ sudo apt-get update
$ sudo apt-get install emacs

追記(9/29)

http://www11.atwiki.jp/s-irie/pub/netwalker/emacs23/に置いてあるdebパッケージとそのmd5sumです。

eb68808eceb477185918a967b8f2290a  emacs23_23.1+1-4ubuntu1~jaunty1~ppa2_armel.deb
86eae370f675e56e454b2f4525cb97b3  emacs23-bin-common_23.1+1-4ubuntu1~jaunty1~ppa2_armel.deb