summaryrefslogtreecommitdiff
path: root/games/etlegacy
diff options
context:
space:
mode:
authorMatteo Bernardini <ponce@slackbuilds.org>2016-03-04 16:00:50 +0100
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2016-03-06 17:43:40 +0700
commit031a4ead6e65088d5dba9a8098e7e611b30427cd (patch)
treefe5d5efb49917c46ff438424e81df36a2046858d /games/etlegacy
parentb4ef43715231e920fee6f0910cc5d186019a3f74 (diff)
downloadslackbuilds-031a4ead6e65088d5dba9a8098e7e611b30427cd.tar.gz
games/etlegacy: Switch to packaging the original binaries.
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
Diffstat (limited to 'games/etlegacy')
-rw-r--r--games/etlegacy/README15
-rw-r--r--games/etlegacy/etlegacy.SlackBuild135
-rw-r--r--games/etlegacy/etlegacy.info14
-rw-r--r--games/etlegacy/files/etl5
-rw-r--r--games/etlegacy/files/etl_bot5
-rw-r--r--games/etlegacy/files/etlded5
-rw-r--r--games/etlegacy/files/etlded_bot5
-rw-r--r--games/etlegacy/files/get_tarball_from_git.sh31
8 files changed, 49 insertions, 166 deletions
diff --git a/games/etlegacy/README b/games/etlegacy/README
index 7d9f4aaf5a..ef35ae49c4 100644
--- a/games/etlegacy/README
+++ b/games/etlegacy/README
@@ -9,18 +9,7 @@ and make it playable on all major operating systems while still
remaining compatible with the ET 2.60b version and as many of its mods
as possible.
-This script builds the server with omni-bot support (x86 32bit only).
-(http://www.omni-bot.com/)
-
-This command line switches are available:
-- RENDERER2=yes (default: no) enable the new renderer (it performs
- better but needs an OpenGL 3.0+ capable GPU; also it's still WIP,
- so enable at your own risk, may cause incompatibilities with some
- maps);
-- FREETYPE=yes (default: no) enables freetype support;
-- OPENAL=yes (default: no) enables OpenAL support
- (for this you need the optional dependency OpenAL);
-- CROUCH=yes (default: no) enables sticky crouching (during game).
+This script repackages the binaries distributes by the etlegacy devs.
To play you *need* also the data files from the original game
(etlegacy-data).
@@ -28,4 +17,4 @@ To play you *need* also the data files from the original game
* WARNING *
To have a client/server compatible with the existing ones (to play
-on the existing online servers), build it on/for a 32bit platform.
+on the existing online servers), use the 32bit version.
diff --git a/games/etlegacy/etlegacy.SlackBuild b/games/etlegacy/etlegacy.SlackBuild
index 367aba07bb..02e67a8f72 100644
--- a/games/etlegacy/etlegacy.SlackBuild
+++ b/games/etlegacy/etlegacy.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Slackware build script for etlegacy
-# Copyright 2013-2014 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2013-2016 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,15 +22,15 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=etlegacy
-VERSION=${VERSION:-20141115_3a6dbd5}
+VERSION=${VERSION:-2.74}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i*86) ARCH=i686 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
+ i*86) ARCH=i386 ;;
+ x86_64) ARCH=x86_64 ;;
+ *) echo "$ARCH architecture not supported. This script is available only for i386 and x86_64." ;;
esac
fi
@@ -39,134 +39,41 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-w_omnibot=1
-if [ "$ARCH" = "i386" ]; then
- SLKCFLAGS="-O2 -march=i386 -mtune=i686"
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=core2"
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- w_omnibot=0
-else
- SLKCFLAGS="-O2"
- w_omnibot=0
-fi
-
-# The new renderer performs better but needs an OpenGL 3.0+ capable GPU;
-# also it's still WIP, so enable at your own risk, may cause incompatibilities
-# with some maps
-if [ "${RENDERER2:-no}" = "yes" ]; then w_renderer=1; else w_renderer=0; fi
-if [ "${FREETYPE:-no}" = "yes" ]; then w_freetype=1; else w_freetype=0; fi
-if [ "${OPENAL:-no}" = "yes" ]; then w_openal=1; else w_openal=0; fi
-if [ "${CROUCH:-no}" = "yes" ]; then w_crouch=1; else w_crouch=0; fi
-if [ "${MULTIVIEW:-no}" = "yes" ]; then w_multiview=1; else w_multiview=0; fi
-
set -e
rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.?z*
-cd $PRGNAM-$VERSION
+mkdir -p $TMP $PKG/usr/share $OUTPUT
+cd $PKG/usr/share
+tar xvf $CWD/$PRGNAM-v$VERSION-$ARCH.tar.?z
+mv $PRGNAM-v$VERSION-$ARCH $PRGNAM
+cd $PRGNAM
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 -o -perm 770 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# Fix location of the omnibot.zip, man install path
-# and leave the relative path to binaries off
-sed -i "s|share/man|man|" CMakeLists.txt
-sed -i "s|^\.\/etl|etl|" misc/etl_bot.sh misc/etlded_bot.sh
-
-mkdir -p build/legacy
-cd build
- ln -s $CWD/omnibot-linux-latest.tar.gz legacy/
- # We have to use bundled lua and sdl
- cmake \
- -DCMAKE_C_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS_RELEASE:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX="/usr" \
- -DINSTALL_DEFAULT_BINDIR="bin" \
- -DINSTALL_DEFAULT_MODDIR="share/$PRGNAM" \
- -DINSTALL_DEFAULT_BASEDIR="/usr/share/$PRGNAM" \
- -DBUILD_CLIENT=1 \
- -DBUILD_SERVER=1 \
- -DBUILD_MOD=1 \
- -DBUILD_MOD_PK3=1 \
- -DBUILD_PAK3_PK3=1 \
- -DFEATURE_ANTICHEAT=1 \
- -DFEATURE_CURL=1 \
- -DFEATURE_LUA=1 \
- -DFEATURE_TRACKER=1 \
- -DFEATURE_OMNIBOT=$w_omnibot \
- -DINSTALL_OMNIBOT=$w_omnibot \
- -DFEATURE_MULTIVIEW=0 \
- -DFEATURE_CURSES=0 \
- -DCROSS_COMPILE32=0 \
- -DFEATURE_OGG_VORBIS=1 \
- -DFEATURE_FREETYPE=$w_freetype \
- -DFEATURE_OPENAL=$w_openal \
- -DFEATURE_AUTOUPDATE=0 \
- -DFEATURE_IPV6=0 \
- -DFEATURE_GETTEXT=1 \
- -DFEATURE_RENDERER2=$w_renderer \
- -DFEATURE_CROUCH=$w_crouch \
- -DFEATURE_MULTIVIEW=$w_multiview \
- -DRENDERER_DYNAMIC=0 \
- -DBUNDLED_LIBS=1 \
- -DBUNDLED_SDL=1 \
- -DBUNDLED_LUA=1 \
- -DBUNDLED_CURL=0 \
- -DBUNDLED_JPEG=0 \
- -DBUNDLED_OGG_VORBIS=0 \
- -DBUNDLED_GLEW=0 \
- -DBUNDLED_FREETYPE=0 \
- -DBUNDLED_JANSSON=1 \
- -DCMAKE_BUILD_TYPE=Release ..
-
- # JIC, sanitize the just-uncompressed omnibot stuff
- chown -R root:root legacy
- find -L legacy \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
- make
- make install DESTDIR=$PKG
-cd ..
-
-# Move man pages in the proper place
-mv $PKG/usr/share/man $PKG/usr/man
+chmod +x etl etlded
+rm *.sh
# Install a script to open urls, and move two scripts to launch the client and
-# the dedicated server with omnibot support in the binaries folder
+# the dedicated server with/without omnibot support in the binaries folder
+mkdir -p $PKG/usr/bin
install -m 0755 $CWD/files/openurl.sh $PKG/usr/bin/openurl.sh
-mv $PKG/usr/share/$PRGNAM/etl*.sh $PKG/usr/bin/
-chmod 755 $PKG/usr/bin/etl*.sh
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+install -m 0755 $CWD/files/etl $PKG/usr/bin/etl
+install -m 0755 $CWD/files/etlded $PKG/usr/bin/etlded
+install -m 0755 $CWD/files/etl_bot $PKG/usr/bin/etl_bot
+install -m 0755 $CWD/files/etlded_bot $PKG/usr/bin/etlded_bot
-# Install an icon, a desktop file and man pages
+# Install an icon and a desktop file
install -m 0644 -D $CWD/files/$PRGNAM.svg \
$PKG/usr/share/pixmaps/$PRGNAM.svg
install -m 0644 -D $CWD/files/$PRGNAM.desktop \
$PKG/usr/share/applications/$PRGNAM.desktop
-mkdir -p $PKG/usr/man/man6
-gzip -9 -c docs/linux/man/man6/etl.6 > $PKG/usr/man/man6/etl.6.gz
-gzip -9 -c docs/linux/man/man6/etlded.6 > $PKG/usr/man/man6/etlded.6.gz
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-mv \
- $PKG/usr/share/$PRGNAM/README.md \
- $PKG/usr/share/$PRGNAM/COPYING.txt \
- $PKG/usr/doc/$PRGNAM-$VERSION
+mv $PKG/usr/share/$PRGNAM/*.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/games/etlegacy/etlegacy.info b/games/etlegacy/etlegacy.info
index cf871ff17d..26fc199c10 100644
--- a/games/etlegacy/etlegacy.info
+++ b/games/etlegacy/etlegacy.info
@@ -1,12 +1,10 @@
PRGNAM="etlegacy"
-VERSION="20141115_3a6dbd5"
+VERSION="2.74"
HOMEPAGE="http://www.etlegacy.com"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/etlegacy-20141115_3a6dbd5.tar.xz \
- http://ponce.cc/slackware/sources/repo/omnibot-linux-latest.tar.gz"
-MD5SUM="9a4ac962170e7a9d0d7b9ac995917546 \
- 2d15c58fe8dd3829e16e710f29f695cb"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="%README% etlegacy-data zenity"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/etlegacy-v2.74-i386.tar.gz"
+MD5SUM="113a41fb98e06f755ab732eb3e5089be"
+DOWNLOAD_x86_64="http://ponce.cc/slackware/sources/repo/etlegacy-v2.74-x86_64.tar.gz"
+MD5SUM_x86_64="b1c26341646f31594927952d44eb307f"
+REQUIRES="%README% etlegacy-data"
MAINTAINER="Matteo Bernardini"
EMAIL="ponce@slackbuilds.org"
diff --git a/games/etlegacy/files/etl b/games/etlegacy/files/etl
new file mode 100644
index 0000000000..f408cf6263
--- /dev/null
+++ b/games/etlegacy/files/etl
@@ -0,0 +1,5 @@
+#!/bin/sh
+# Simple script to start ET Legacy client
+#
+cd /usr/share/etlegacy
+./etl $@
diff --git a/games/etlegacy/files/etl_bot b/games/etlegacy/files/etl_bot
new file mode 100644
index 0000000000..fbd6f79e3c
--- /dev/null
+++ b/games/etlegacy/files/etl_bot
@@ -0,0 +1,5 @@
+#!/bin/sh
+# Simple script to start ET Legacy client/listen server with Omni-Bots
+#
+cd /usr/share/etlegacy
+./etl +set omnibot_enable 1 +set omnibot_path "./legacy/omni-bot"
diff --git a/games/etlegacy/files/etlded b/games/etlegacy/files/etlded
new file mode 100644
index 0000000000..8bbb916f73
--- /dev/null
+++ b/games/etlegacy/files/etlded
@@ -0,0 +1,5 @@
+#!/bin/sh
+# Simple script to start ET Legacy dedicated server
+#
+cd /usr/share/etlegacy
+./etlded $@ +exec etl_server.cfg
diff --git a/games/etlegacy/files/etlded_bot b/games/etlegacy/files/etlded_bot
new file mode 100644
index 0000000000..f82942839c
--- /dev/null
+++ b/games/etlegacy/files/etlded_bot
@@ -0,0 +1,5 @@
+#!/bin/sh
+# Simple script to start ET Legacy dedicated server with Omni-Bots
+#
+cd /usr/share/etlegacy
+./etlded +set g_protect 1 +set omnibot_enable 1 +set omnibot_path "./legacy/omni-bot" +exec etl_server.cfg
diff --git a/games/etlegacy/files/get_tarball_from_git.sh b/games/etlegacy/files/get_tarball_from_git.sh
deleted file mode 100644
index 42aaa1626d..0000000000
--- a/games/etlegacy/files/get_tarball_from_git.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-rm -fR /tmp/tmp-etlegacy
-mkdir -p /tmp/tmp-etlegacy
-cd /tmp/tmp-etlegacy
-git clone git://github.com/etlegacy/etlegacy.git
-cd etlegacy
-git submodule init
-git submodule update
-cd libs
-git archive master > ../../libs.tar
-cd ..
-cd scripts
-git archive master > ../../scripts.tar
-cd ..
-COMMIT=$( git log -1 | head -1 | cut -c 8-14 )
-COMMDATE=$( git log -1 --date=short | grep ^Date | awk '{print $2}' | sed 's/-//g' )
-rm -f /tmp/etlegacy-${COMMDATE}_${COMMIT}.tar.xz
-git archive master > ../src.tar
-cd ..
-mkdir etlegacy-${COMMDATE}_${COMMIT}
-cd etlegacy-${COMMDATE}_${COMMIT}
-tar xf ../src.tar
-cd libs
-tar xf ../../libs.tar
-cd ..
-cd scripts
-tar xf ../../scripts.tar
-cd ..
-cd ..
-rm -f src.tar libs.tar scripts.tar
-tar Jcf /tmp/etlegacy-${COMMDATE}_${COMMIT}.tar.xz etlegacy-${COMMDATE}_${COMMIT}
-echo "/tmp/etlegacy-${COMMDATE}_${COMMIT}.tar.xz done."