StepManiaの概要とMandriva Linuxのパッケージについて
StepManiaはpydanceと同様、タイミングに合わせて指定のキーを押す(踏む)ルールの音楽ゲームで、GNU/Linux版も存在する(公式サイトにx86_32版がある他、ソースからビルドすることも可能)。
機能は豊富で、曲データが追加できるだけでなく譜面データの編集機能も存在し、他にも、テーマの変更によりアプリケーション全体の見栄えを大きく変えることもできる。
Mandriva Linux 2009.0のパッケージでは動作に問題あり
Mandriva Linux 2009.0に用意されているパッケージには曲の最後まで進んでも結果の画面が出ずにまた同じ曲が始まる不具合があり、使い物にならない。(2009/5/5)2009.1のパッケージではこの不具合は解消されているが、動画背景は動作していない。
パッチを当ててRPMパッケージを作成することで問題は解決
Gentoo Linuxのパッケージで使用されているパッチを入手してこれを当てるように.specファイルを修正し、RPMパッケージのビルドを行ったところ、この問題には対処できた。ただ、パッチを当てるようにするだけでは(中略) checking for jpeglib.h... yes checking for lua-config50... no checking for lua-config... no checking for lua_open in -llua... yes checking for luaopen_base in -llualib... no checking for luaopen_base in -llualib50... no *** liblualib is required to build StepMania; please make sure that *** it is installed to continue the installation process. + make make: *** No targets specified and no makefile found. Stop.
となってしまったため、Luaライブラリの検出の部分を「検出済み」と見せかけるため
export ac_cv_lib_lualib_luaopen_base=yes
を.specファイル内の「%build」の先頭に記述して回避した。この手法はGentooのどこかのパッケージのebuildで使用されていたもの。これにより
(中略) checking for jpeglib.h... yes checking for lua-config50... no checking for lua-config... no checking for lua_open in -llua... yes checking for luaopen_base in -llualib... (cached) yes checking for inflate in -lz... yes checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes (以下略)
上のように、検出済みとしての結果を再利用する格好でチェックが通過できている。
(2009/1/28)この部分は「Mandriva Linux 2009.0のStepManiaのパッケージで背景動画が動作しない件について」では別の方法で回避するようにしている。
以下はバージョン3.9-9mdv2009.0の.specファイルに対する修正。ファイル名の先頭が数字のパッチがGentooのもので、Gentooのミラーサーバのstepmania-patches-3.tar.bz2から取り出したもの。
--- stepmania-3.9-9mdv2009.0/SPECS/stepmania.spec +++ stepmania-3.9-10kkr2009.0/SPECS/stepmania.spec @@ -23,10 +23,15 @@ Patch5: StepMania-3.9-eventmask.patch Patch6: StepMania-3.9-extraqual.patch Patch7: StepMania-3.9-replace-this.patch -Patch8: StepMania-3.9-src-gettid.patch -Patch9: StepMania-3.9-src-averror.patch -Patch10: StepMania-3.9-src-int64_c.patch -Patch11: StepMania-3.9-src-avcodec_namespace.patch +Patch8: StepMania-3.9-src-averror.patch +Patch9: StepMania-3.9-src-int64_c.patch +Patch10: StepMania-3.9-src-avcodec_namespace.patch +Patch11: 010_all_alsa.patch +Patch12: 040_all_alias.patch +Patch13: 060_all_gettid.patch +Patch14: 090_all_vorbis.patch +Patch15: 100_all_jpeg.patch +Patch16: 110_all_gcc43.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot @@ -60,12 +65,19 @@ %patch5 -p1 -b .eventmask %patch6 -p1 -b .extraqual %patch7 -p1 -b .replace -%patch8 -p1 -b .gettid -%patch9 -p1 -b .averror -%patch10 -p1 -b .int64_c -%patch11 -p1 -b .avcodec_namespace +%patch8 -p1 -b .averror +%patch9 -p1 -b .int64_c +%patch10 -p1 -b .avcodec_namespace +%patch11 -p1 -b .alsa +%patch12 -p1 -b .alias +%patch13 -p1 -b .gettid +%patch14 -p1 -b .vorbis +%patch15 -p1 -b .jpeg +%patch16 -p0 -b .gcc43 %build +# can't detect Lua5? +export ac_cv_lib_lualib_luaopen_base=yes %configure \ --bindir=%{_gamesbindir} \ --datadir=%{_gamesdatadir} \
この修正を行ったMandriva Linux向けパッケージを別館の配布ページで公開した。
(2014/10/12)配布ページは削除済み。
使用したバージョン:
- stepmania 3.9-9mdv2009.0