In case this helps with other distros, I was able to build sdl-gnash on Tiny Core Linux 11.1 x64. Initial build with the Cairo renderer seemed successful but only showed black in the game window, so I did it again with Anti-Grain Geometry (AGG). Also had to build AGG first, since it wasn't available. Here's my process:
Building AGG
Source was agg-svn-r138-agg-2.4.zip from
here. Dependencies are:
automake.tcz
compiletc.tcz
freetype-dev.tcz
libX11-dev.tcz
libtool-dev.tcz
sdl-dev.tcz
squashfs-tools.tcz (only needed for packaging)
Also had to download
libglib-2.0.la and put it in
/usr/local/lib. Then the process was straightforward:
./autogen.sh
./configure --enable-shared --disable-examples --disable-ctrl --disable-platform --disable-sdltest
make
sudo make install
Building Gnash
Source was what
greysondn linked earlier.
Apply the sensible, boost, and agg patches from
debian/patches. I think the download already has the tinatos1 patches applied (if not, oops).
Edit
libmedia/ffmpeg/MediaHandlerFfmpeg.cpp and
libmedia/ffmpeg/MediaParserFfmpeg.cpp in order to update some variable names due to changes in FFmpeg: Replace FF_INPUT_BUFFER_PADDING_SIZE with AV_INPUT_BUFFER_PADDING_SIZE (1 occurrence in Handler and 3 in Parser).
Dependencies are:
automake.tcz
compiletc.tcz
squashfs-tools.tcz (only needed for packaging)
boost-1.74-dev.tcz
curl-dev.tcz
ffmpeg4-dev.tcz
sdl-dev.tcz
libagg (built above)
libglib-2.0.la (download and place as above)
Run
autogen.sh. Then edit lines 52231 and 52250 in
configure to remove an extra double quote in each error message about SSH and SSL. Then
./configure --enable-gui=sdl --enable-sound=sdl --enable-media=ffmpeg --enable-renderer=agg --without-gconf --disable-jemalloc
make
sudo make install
Only did a few tests so far, but both sound and graphics work. There seems to be some sound lag, however, and the console shows some message about ALSA pcm underrun. Also, there are a bunch of messages about unimplemented things.
Notes
- I used FFmpeg for media handling rather than GStreamer because libTAS also depends on FFmpeg. "Two birds with one stone" and all that.
- I decided against using gconf and jemalloc because Gnash allowed me to build without those. Someone more knowledgeable can comment if those might be preferred.
EDIT:
Oh, the dependencies for actually running Gnash in TCL are:
boost-1.74.tcz
curl.tcz
ffmpeg4.tcz
giflib7.tcz
libltdl.tcz
sdl.tcz
speexdsp.tcz
libagg