Zaurus Freeciv


Development on this client is stalled -- I'm now working on my own client -- but I'm keeping this page around for the moment.


I have converted Rob Fisher's Zaurus Freeciv source into a patch that can be cleanly applied to the Freeciv 1.14.1 tree.

Binary

Here is a binary package of the server, client and data files. I have replaced the trident tileset with the tinydent tileset, which is more suited to the Zaurus' small screen.

For some reason, Opie will not display any icon in the taskbar for the Freeciv client. (So, when you start the client, don't be alarmed if nothing happens for several seconds.) This means you might not be able to get back to the client if you switch to another application.

If you are running the server locally, you might want to run cmdlevel hack first before launcing the client; this will allow you to start the server directly from the client.

Source

If you want to try builing it, you will need:

If you're running Debian sid/unstable with my arm-cross repository, this is all you need to do:

apt-get install libqpe-fb-dev-arm-cross automake1.6 autoconf
apt-get source freeciv

(Replace libqpe-fb-dev-arm-cross with libqpe-fb-dev if you want to compile natively.)

Apply the patch (freeciv-qpe.patch.bz2) to the Freeciv source tree, then run automake and autoconf. You can now configure/make as usual, with the added client qpe now available. (If your QT/Embedded files are not in /usr/share/qte2, you will need to set the $QTDIR variable with configure.)

Here's how I cross-compiled the server:

./configure \
	--build i386-linux --host arm-linux \
	--prefix=/usr --datadir=\${prefix}/share --bindir=\${prefix}/bin \
	--enable-server --disable-client \
	CPPFLAGS=-DALWAYS_ROOT \
	QTDIR=/usr/arm-linux/share/qte2

And here's how I cross-compiled the client:

./configure \
	--build i386-linux --host arm-linux \
	--prefix=/usr --datadir=\${prefix}/share --bindir=\${prefix}/bin \
	--disable-server --enable-client=qpe \
	--without-zlib \
	CPPFLAGS=-DALWAYS_ROOT \
	QTDIR=/usr/arm-linux/share/qte2

There appears to be a bug in Automake which prevents the .ui files from being compiled and included in the library. When the qpe build aborts, do this (assuming your shell is sh):

cd client/gui-qpe
for z in *.ui; do make `echo $z | sed 's/\.ui$/\.o/'`; done
rm -f libguiclient.a
ar cru libguiclient.a *.o
cd -
make