と言う訳で今回はjnethackのセルフコンパイルがネタです。
何故かUbuntuのレポジトリには英語nethackはありますが
日本語jnethackはありませんので
自分でコンパイルする必要があります。
○jnethackとは
トルネコやシレンで有名になりましたローグライクな
ダンジョン探索型RPGの代表作の一つです。
レトロですがはまると遊べる高難易度ゲーム。
日本語にも移植されてますので、定番中の定番です。
コンパイル設定でGUI版CUI版を選べますのでお好きな方を。
バイナリが両立出来ないのが何故かの難点ですが。
○jnethackのインストール
中身は移植のjnethackのページそのままですが、
気が付いた変更点を中に追加します。
殆ど転載ですけどw
情報元は下記のページを参照しました。
GUI版、CUI版別々にコンパイルが必要です。
JNetHack for Ubuntu のインストール方法
まず、端末の文字コードをEUC-JPにする。
GNOME端末の場合、端末(T)->文字コードの設定(C)->日本語(EUC-JP)に変更する。
エラーメッセージが読めなくなりますので
実は遊ぶ前だけでも良かったりします。
関連ライブラリのインストールの為、英語版と
コンパイルの準備とロケールの追加。
$ sudo apt-get install nethack
$ sudo apt-get build-dep nethack
$ sudo localedef -f EUC-JP -i ja_JP ja_JP.eucJP
一時的にロケールを変更する。
$ LANG=ja_JP.eucJP
nethack-343-src.tgzを取得。
ファイルを展開し、移動する。
$ tar zxvf nethack-343-src.tgz
$ cd nethack-3.4.3
jnethack-3.4.3-0.10_ubuntu0.05.diff.gzを取得。
ファイルを展開し、パッチを当てる。
nethack-3.4.3の中にパッチファイルをコピーしておきます。
$ gunzip jnethack-3.4.3-0.10_ubuntu0.05.diff.gz
$ patch -ZNp1 < jnethack-3.4.3-0.10_ubuntu0.05.diff
各Makefileを準備する。
$ sh sys/unix/setup.sh
X11版のみ、メイクファイルとヘッダファイルを修正する。
(X11版のみ)修正するファイル:Makefile
=の後を修正
VARDATND = x11tiles pet_mark.xbm rip.xpm
(X11版のみ)修正するファイル:src/Makefile
=の後を修正
WINSRC = $(WINTTYSRC) $(WINX11SRC)
WINOBJ = $(WINTTYOBJ) $(WINX11OBJ)
WINLIB = $(WINTTYLIB) $(WINX11LIB)
(X11版のみ)修正するファイル:include/config.h
空いている所に追加
#define X11_GRAPHICS
#define AUTOPICKUP_EXCEPTIONS
コンパイル、そしてインストール。
$ make all
$ sudo make install
(X11版のみ)設定ファイルを所定の場所へコピーする。
$ sudo cp win/X11/JNetHack.ad /etc/X11/app-defaults/JNetHack
一旦起動し、すぐに終了する。
$ jnethack
現在のゲームを破棄し終了するコマンド#quit
作成された記録用ファイルのアクセス権を変更する。
$ sudo chmod g+w /usr/games/lib/jnethackdir/record
$ sudo chmod g+w /usr/games/lib/jnethackdir/logfile
以上でJNetHackの導入は完了しました。
実行は端末からjnethack
もし日本語が表示されない場合はフォントがEUCになっていません。
EUCに変更すれば表示されます。
$ sudo localedef -f EUC-JP -i ja_JP ja_JP.eucJP
$ LANG=ja_JP.eucJP
色々改変してますが、パッケージを作るならcheckinstallを使いましょう。
○まとめ
一応Netwalkerでもjnethackは遊べます。
ユーザーの希望は大きいので、
正式パッケージに昇格してくれたら尚嬉しいんですが
外来のUbuntuは日本人の声が届きませんのが悩み所。
x86ならVineLinuxが日本語パッケージに積極的なんですけど、
これが外国のディストリと日本のディストリの大きな違いと言いますか。
