環境
Gnashとは
ビルドしよう!
AURからのみ提供されているので、自分でビルドする必要があります。
というわけで意気揚々とyaourt -S gnash
したらコケました。
Gnash - The GNU Flash player - Bugs: bug #42574, Gnash building is broken in... [Savannah]
なんかバグがあるっぽくてworkaroundな修正をしないとアレっぽいです。 というわけでパッチをあててビルドしましょう。
パッチをあててビルドしよう!
まずはソースを落としてきましょう。結構時間かかった。
$ yaourt -G gnash $ cd gnash
上のバグページに書いてあるものをパッチにします。こんな感じ。
diff --git a/libbase/GnashImageGif.cpp b/libbase/GnashImageGif.cpp index 26865c1..4cec676 100644 --- a/libbase/GnashImageGif.cpp +++ b/libbase/GnashImageGif.cpp @@ -121,7 +121,7 @@ GifInput::GifInput(boost::shared_ptr<IOChannel> in) GifInput::~GifInput() { // Clean up allocated data. - DGifCloseFile(_gif); + DGifCloseFile(_gif, 0); } size_t
これをてきとーにgiflib.patch
とかの名前でPKGBUILD
があるディレクトリに保存します。
そして、PKGBUILDでこのパッチを使うように修正します。
--- PKGBUILD.bak 2014-08-04 16:44:55.684175134 +0900 +++ PKGBUILD 2014-08-04 16:44:48.314175051 +0900 @@ -17,9 +17,11 @@ backup=(etc/gnashrc etc/gnashthumbnailrc etc/gnashpluginrc) install=gnash-gtk.install source=('gnash::git://git.sv.gnu.org/gnash.git#commit=a3180f2' - nodebug.patch) + nodebug.patch + giflib.patch) sha256sums=('SKIP' - '0ebb104a7632af997c7e6b268755949fa0c1eea5e32015b95a22d63d0e431551') + '0ebb104a7632af997c7e6b268755949fa0c1eea5e32015b95a22d63d0e431551' + 'SKIP') prepare() { @@ -27,6 +29,7 @@ # Disable very, very verbose debugging (gigabytes of logs) patch -Np1 -i ../nodebug.patch + patch -Np1 -i ../giflib.patch ./autogen.sh }
あとは通常通りmakepkg -s
でパッケージが出来ます。時間かかるけど。
つかう
やったーこれでタイピングゲームができるぞ…!!
あれ…ずれてる……(´・ω・`)
でも一応ゲームは出来ました。よいかんじ。