Compile Zandronum on GNU/Linux
Open a terminal and copy and paste the whole code box for each step.
Step 1
Install the following dependencies and tools as superuser:
Debian/Ubuntu
Code: Select all
sudo apt-get install build-essential zlib1g-dev libsdl1.2-dev libjpeg-dev \
nasm tar libbz2-dev libgtk2.0-dev cmake mercurial libfluidsynth-dev libgl1-mesa-dev \
libssl-dev
Fedora
Code: Select all
yum install gcc-c++ make zlib-devel SDL-devel libjpeg-turbo-devel \
nasm tar bzip2-devel gtk2-devel cmake mercurial fluidsynth-devel mesa-libGL-devel \
openssl-devel
openSUSE
Code: Select all
zypper install gcc-c++ make zlib-devel libSDL-devel libjpeg-devel \
nasm tar libbz2-devel gtk2-devel cmake mercurial fluidsynth-devel Mesa-libGL-devel \
libopenssl-devel
Mageia
Code: Select all
if [ "$(uname -m)" = "x86_64" ]; then
a="64"
else
a=""
fi && \
urpmi gcc-c++ make lib"$a"zlib-devel lib"$a"SDL-devel \
lib"$a"jpeg-devel nasm tar lib"$a"bzip2-devel \
lib"$a"gtk+2.0-devel cmake mercurial lib"$a"fluidsynth-devel \
lib"$a"mesagl1-devel lib"$a"cairo-devel lib"$a"openssl-devel
Arch Linux
Code: Select all
pacman -S --needed gcc make zlib sdl libjpeg-turbo nasm tar bzip2 gtk2 cmake mercurial fluidsynth mesa glu openssl
Gentoo
Code: Select all
emerge -avn sys-devel/gcc sys-devel/make sys-libs/zlib media-libs/libsdl media-libs/libjpeg-turbo \
dev-lang/nasm app-arch/tar app-arch/bzip2 x11-libs/gtk+ dev-util/cmake dev-vcs/mercurial media-sound/fluidsynth \
media-libs/mesa media-libs/glu dev-libs/openssl
PCLinuxOS
Code: Select all
if [ "$(uname -m)" = "x86_64" ]; then
a="64"
else
a=""
fi && \
apt-get install gcc-c++ make zlib1-devel lib"$a"SDL-devel \
lib"$a"jpeg62-devel nasm tar lib"$a"bzip2-devel \
lib"$a"gtk+2.0_0-devel cmake mercurial lib"$a"fluidsynth1-devel \
lib"$a"mesagl1-devel lib"$a"openssl-devel
Do the following steps as normal user.
Step 2
Make zandronum_build directory:
Step 3
Download the Zandronum source and make buildclient and buildserver directories:
Code: Select all
cd $HOME/zandronum_build && \
hg clone https://bitbucket.org/Torr_Samaho/zandronum && \
mkdir -pv zandronum/{buildclient,buildserver}
Step 4
Download FMOD 4.24.16 32-bit or 64-bit and extract files to zandronum directory:
Code: Select all
cd $HOME/zandronum_build && \
if [ "$(uname -m)" = "x86_64" ]; then
FMODFOLDER="fmodapi42416linux64"
else
FMODFOLDER="fmodapi42416linux"
fi && \
wget -nc http://www.fmod.org/download/fmodex/api/Linux/$FMODFOLDER.tar.gz && \
tar -xvzf $FMODFOLDER.tar.gz -C zandronum
Step 4.1 - Get the SQLite Amalgamation
Download the latest amalgamation of
SQLite and extract files to zandronum/sqlite directory:
Code: Select all
cd $HOME/zandronum_build && \
v=$(wget -q -O - http://www.sqlite.org/download.html | \
sed -n '/>Source Code</,/zip</ s/.*sqlite-amalgamation-\(.*\)\.zip.*/\1/p') && \
wget -nc http://www.sqlite.org/$(date +%Y)/sqlite-amalgamation-"$v".zip && \
unzip -j sqlite-amalgamation-"$v".zip -d zandronum/sqlite
Step 5
Compile Zandronum client:
Code: Select all
cd $HOME/zandronum_build/zandronum/buildclient && \
if [ "$(uname -m)" = "x86_64" ]; then
FMODFOLDER="fmodapi42416linux64"
FMODFILE="libfmodex64-4.24.16"
else
FMODFOLDER="fmodapi42416linux"
FMODFILE="libfmodex-4.24.16"
fi && \
make clean ; \
cmake -DCMAKE_BUILD_TYPE=Release \
-DFMOD_LIBRARY=$HOME/zandronum_build/zandronum/$FMODFOLDER/api/lib/$FMODFILE.so \
-DFMOD_INCLUDE_DIR=$HOME/zandronum_build/zandronum/$FMODFOLDER/api/inc .. && \
make
Compile Zandronum server:
Code: Select all
cd $HOME/zandronum_build/zandronum/buildserver && \
make clean ; \
cmake -DCMAKE_BUILD_TYPE=Release -DSERVERONLY=ON .. && \
make
Current stable version
Show the current stable version:
Code: Select all
cd $HOME/zandronum_build/zandronum && \
hg identify -r "max(tagged())"
If you want to compile the current stable version, run the following:
Code: Select all
cd $HOME/zandronum_build/zandronum && \
hg update -cr "max(tagged())"
and compile.
After compiling and backing up the current stable version, run the following:
Code: Select all
cd $HOME/zandronum_build/zandronum && \
hg update
Step 6
Follow this step if you want or manually copy (backup) zandronum, zandronum.pk3, skulltag_actors.pk3, liboutput_sdl.so and zandronum-server.
Make and name a directory with the corresponding Zandronum version/revision and copy zandronum, zandronum.pk3, skulltag_actors.pk3, liboutput_sdl.so and zandronum-server to it:
Code: Select all
cd $HOME/zandronum_build && \
BACKUPZANDRONUM="$(sed -n 's/.*#define GAMEVER_STRING "\(.*\)".*/\1/p' \
zandronum/src/version.h)\
$(sed -n 's/.*#define DOTVERSIONSTR.*GAMEVER_STRING "\(.*\)".*/\1/p' \
zandronum/src/version.h)\
-r$(sed -n 's/.*#define SVN_REVISION_STRING "\(.*\)".*/\1/p' \
zandronum/src/svnrevision.h)" && \
mkdir -pv "$BACKUPZANDRONUM" && \
cp -v zandronum/{buildclient/{zandronum,zandronum.pk3,\
skulltag_actors.pk3,output_sdl/liboutput_sdl.so},\
buildserver/zandronum-server} "$BACKUPZANDRONUM"
Step 6.1 (Optional)
Make and name a directory with the current year, month, day, hour and minute and copy zandronum, zandronum.pk3, skulltag_actors.pk3, liboutput_sdl.so and zandronum-server to it:
Code: Select all
cd $HOME/zandronum_build && \
COPYANDPASTEZAN="$(date +%Y%m%d%H%M)" && \
mkdir -pv "$COPYANDPASTEZAN" && \
cp -v zandronum/{buildclient/{zandronum,zandronum.pk3,\
skulltag_actors.pk3,output_sdl/liboutput_sdl.so},\
buildserver/zandronum-server} "$COPYANDPASTEZAN"
If you did "Step 6" or "Step 6.1 (Optional)", the previous files should be located at:
/home/<your username>/zandronum_build/
Update Zandronum
When you wish to update Zandronum, copy and paste the following:
Code: Select all
cd $HOME/zandronum_build/zandronum && \
hg pull ; hg update
When the update finish, go to Step 5.
Install Zandronum
The following steps contain commands that require to be run as superuser with the sudo command.
If you want to install Zandronum, do the following:
Step i1
Make /usr/games/zandronum directory:
Code: Select all
sudo mkdir -pv /usr/games/zandronum
Step i2
Copy zandronum, zandronum.pk3, skulltag_actors.pk3, liboutput_sdl.so, zandronum-server and libfmodex64-4.24.16.so or libfmodex-4.24.16.so to /usr/games/zandronum:
Code: Select all
if [ "$(uname -m)" = "x86_64" ]; then
FMODFOLDER="fmodapi42416linux64"
FMODFILE="libfmodex64-4.24.16"
else
FMODFOLDER="fmodapi42416linux"
FMODFILE="libfmodex-4.24.16"
fi && \
sudo cp -v /home/$USER/zandronum_build/zandronum/{buildclient/{zandronum,\
zandronum.pk3,skulltag_actors.pk3,output_sdl/liboutput_sdl.so},\
buildserver/zandronum-server,$FMODFOLDER/api/lib/$FMODFILE.so} \
/usr/games/zandronum
Step i3
Make zandronum script, add executable permission and copy it to /usr/bin:
Code: Select all
cd /tmp && \
echo '#!/bin/sh' > zandronum && \
echo >> zandronum && \
echo 'export LD_LIBRARY_PATH=/usr/games/zandronum' >> zandronum && \
echo 'exec /usr/games/zandronum/zandronum "$@"' >> zandronum && \
chmod 755 zandronum && \
sudo cp -v zandronum /usr/bin && \
rm -fv zandronum
Step i4
Make zandronum-server script, add executable permission and copy it to /usr/bin:
Code: Select all
cd /tmp && \
echo '#!/bin/sh' > zandronum-server && \
echo >> zandronum-server && \
echo 'exec /usr/games/zandronum/zandronum-server "$@"' >> zandronum-server && \
chmod 755 zandronum-server && \
sudo cp -v zandronum-server /usr/bin && \
rm -fv zandronum-server
Now from a terminal you should be able to execute zandronum or zandronum-server from any user account.
Remove Zandronum
To remove the previous installation steps:
Step r1
Remove /usr/games/zandronum directory and all its files:
Code: Select all
cd /usr/games && \
sudo rm -rfv zandronum
Step r2
Remove zandronum script
Code: Select all
cd /usr/bin && \
sudo rm -fv zandronum
Step r3
Remove zandronum-server script
Code: Select all
cd /usr/bin && \
sudo rm -fv zandronum-server
########################################################################################################################################################
Compile Doomseeker on GNU/Linux
Open a terminal and copy and paste the whole code box for each step.
Step 1
Install the following dependencies and tools as superuser:
Debian/Ubuntu
Code: Select all
sudo apt-get install g++ cmake libqt4-dev mercurial make zlib1g-dev libbz2-dev
Fedora
Code: Select all
yum install gcc-c++ cmake qt-devel mercurial make zlib-devel bzip2-devel
openSUSE
Code: Select all
zypper install gcc-c++ cmake libqt4-devel mercurial make zlib-devel libbz2-devel
Mageia
Code: Select all
if [ "$(uname -m)" = "x86_64" ]; then
a="64"
else
a=""
fi && \
urpmi gcc-c++ cmake lib"$a"qt4-devel mercurial make \
lib"$a"zlib-devel lib"$a"bzip2-devel lib"$a"qtcore4
Arch Linux
Code: Select all
pacman -S --needed gcc cmake qt4 mercurial make zlib bzip2
Gentoo
Code: Select all
emerge -avn sys-devel/gcc dev-util/cmake dev-qt/qtcore dev-vcs/mercurial sys-devel/make sys-libs/zlib app-arch/bzip2
PCLinuxOS
Code: Select all
if [ "$(uname -m)" = "x86_64" ]; then
a="64"
else
a=""
fi && \
apt-get install gcc-c++ cmake lib"$a"qt4-devel \
mercurial make zlib1-devel lib"$a"bzip2-devel
Do the following steps as normal user.
Step 2
Make doomseeker_build directory:
Step 3
Download the Doomseeker source and make build directory:
Code: Select all
cd $HOME/doomseeker_build && \
hg clone https://bitbucket.org/Blzut3/doomseeker && \
mkdir -pv doomseeker/build
Step 4
Compile Doomseeker:
Code: Select all
cd $HOME/doomseeker_build/doomseeker/build && \
make clean ; rm -f engines/*.so ; \
cmake -DCMAKE_BUILD_TYPE=Release .. && \
make
Current stable version
Show the current stable version:
Code: Select all
cd $HOME/doomseeker_build/doomseeker && \
hg identify -r "max(tagged())"
If you want to compile the current stable version, run the following:
Code: Select all
cd $HOME/doomseeker_build/doomseeker && \
hg update -cr "max(tagged())"
and compile.
After compiling and backing up the current stable version, run the following:
Code: Select all
cd $HOME/doomseeker_build/doomseeker && \
hg update
Step 5
Follow this step if you want or manually copy (backup) doomseeker, libwadseeker.so and the engines directory.
Make and name a directory with the corresponding Doomseeker version/revision and copy doomseeker, libwadseeker.so and the engines directory to it:
Code: Select all
cd $HOME/doomseeker_build && \
BACKUPDOOMSEEKER="$(sed -n 's/.*#define VERSION_STRING "\(.*\)".*/\1/p' \
doomseeker/src/core/versiondefs.h)\
-$(sed -n 's/.*#define SVN_REVISION_STRING "\(.*\)".*/\1/p' \
doomseeker/src/core/svnrevision.h)" && \
mkdir -pv "$BACKUPDOOMSEEKER" && \
cp -rv doomseeker/build/{doomseeker,libwadseeker.so,engines} \
"$BACKUPDOOMSEEKER"
Step 5.1 (Optional)
Make and name a directory with the current year, month, day, hour and minute and copy doomseeker, libwadseeker.so and the engines directory to it:
Code: Select all
cd $HOME/doomseeker_build && \
COPYANDPASTEDS="$(date +%Y%m%d%H%M)" && \
mkdir -pv "$COPYANDPASTEDS" && \
cp -rv doomseeker/build/{doomseeker,libwadseeker.so,engines} \
"$COPYANDPASTEDS"
If you did "Step 5" or "Step 5.1 (Optional)", the previous files should be located at:
/home/<your username>/doomseeker_build/
Update Doomseeker
When you wish to update Doomseeker, copy and paste the following:
Code: Select all
cd $HOME/doomseeker_build/doomseeker && \
hg pull ; hg update
When the update finish, go to Step 4.
Install Doomseeker
The following steps contain commands that require to be run as superuser with the sudo command.
If you want to install Doomseeker, do the following:
Step i1
Make /usr/games/doomseeker directory:
Code: Select all
sudo mkdir -pv /usr/games/doomseeker
Step i2
Copy doomseeker, libwadseeker.so and the engines directory to /usr/games/doomseeker:
Code: Select all
sudo cp -rv /home/$USER/doomseeker_build/doomseeker/build/{doomseeker,\
libwadseeker.so,engines} /usr/games/doomseeker
Step i3
Make doomseeker script, add executable permission and copy it to /usr/bin:
Code: Select all
cd /tmp && \
echo '#!/bin/sh' > doomseeker && \
echo >> doomseeker && \
echo 'export LD_LIBRARY_PATH=/usr/games/doomseeker' >> doomseeker && \
echo 'exec /usr/games/doomseeker/doomseeker "$@"' >> doomseeker && \
chmod 755 doomseeker && \
sudo cp -v doomseeker /usr/bin && \
rm -fv doomseeker
Now from a terminal you should be able to execute doomseeker from any user account.
Remove Doomseeker
To remove the previous installation steps:
Step r1
Remove /usr/games/doomseeker directory and all its files:
Code: Select all
cd /usr/games && \
sudo rm -rfv doomseeker
Step r2
Remove doomseeker script
Code: Select all
cd /usr/bin && \
sudo rm -fv doomseeker