summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtem Vorotnikov2015-08-23 18:05:05 +0300
committerArtem Vorotnikov2015-08-23 18:05:05 +0300
commit7d6a8682598bdf819235860c9083938f356678ed (patch)
tree0507fe254e1c9fa0d78cfe439edad71d2bf79a99
downloadaur-7d6a8682598bdf819235860c9083938f356678ed.tar.gz
Initial import
-rw-r--r--.SRCINFO71
-rw-r--r--PKGBUILD118
-rw-r--r--etlegacy.install38
3 files changed, 227 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..2dd46b37a12d
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,71 @@
+pkgbase = etlegacy32
+ pkgver = 2.74
+ pkgrel = 1
+ url = http://www.etlegacy.com/
+ arch = i686
+ arch = x86_64
+ license = GPL3
+ license = custom
+ makedepends = cmake
+ makedepends = zip
+ source = https://github.com/etlegacy/etlegacy/archive/v2.74.tar.gz
+ source = http://www.etlegacy.com/download/file/74
+ sha512sums = eafeb40fed714db76635ee2656b66ff738435385314e4a3d45d48643c0147365d643f3b024ea87c3fd984a08f48a963342226decbc2f878dcd6d863edd570c0f
+ sha512sums = aea236a3d17d418df2381d324e7ddbda4a0663aa5e3ed5f2c2dd39ee2e08cbb02b036dc20d2ca897d27bf59bc4b1ed18db874b5ff7e73bd80b760710e9e2f881
+ makedepends_i686 = alsa-lib
+ makedepends_i686 = curl
+ makedepends_i686 = freetype2
+ makedepends_i686 = gcc-libs
+ makedepends_i686 = glew
+ makedepends_i686 = libjpeg-turbo
+ makedepends_i686 = libvorbis
+ makedepends_i686 = sdl2
+ makedepends_x86_64 = lib32-alsa-lib
+ makedepends_x86_64 = lib32-curl
+ makedepends_x86_64 = lib32-freetype2
+ makedepends_x86_64 = lib32-gcc-libs
+ makedepends_x86_64 = lib32-glew
+ makedepends_x86_64 = lib32-libjpeg-turbo
+ makedepends_x86_64 = lib32-libvorbis
+ makedepends_x86_64 = lib32-sdl2
+
+pkgname = etlegacy32
+ pkgdesc = Wolfenstein: Enemy Territory 2.60b compatible client/server (etlegacy engine, 32 bit)
+ install = etlegacy.install
+ depends = etlegacy32-mod
+ provides = etlegacy
+ conflicts = etlegacy
+ backup = etc/xdg/etlegacy/etmain/etl_server.cfg
+ backup = etc/xdg/etlegacy/etmain/legacy.cfg
+ backup = etc/xdg/etlegacy/etmain/campaigncycle.cfg
+ backup = etc/xdg/etlegacy/etmain/lmscycle.cfg
+ backup = etc/xdg/etlegacy/etmain/mapvotecycle.cfg
+ backup = etc/xdg/etlegacy/etmain/objectivecycle.cfg
+ depends_i686 = alsa-lib
+ depends_i686 = curl
+ depends_i686 = freetype2
+ depends_i686 = gcc-libs
+ depends_i686 = glew
+ depends_i686 = libjpeg-turbo
+ depends_i686 = libvorbis
+ depends_i686 = lua
+ depends_i686 = sdl2
+ depends_x86_64 = lib32-alsa-lib
+ depends_x86_64 = lib32-curl
+ depends_x86_64 = lib32-freetype2
+ depends_x86_64 = lib32-gcc-libs
+ depends_x86_64 = lib32-glew
+ depends_x86_64 = lib32-libjpeg-turbo
+ depends_x86_64 = lib32-libvorbis
+ depends_x86_64 = lib32-lua
+ depends_x86_64 = lib32-sdl2
+
+pkgname = etlegacy32-mod
+ pkgdesc = Wolfenstein: Enemy Territory 2.60b compatible client/server (etlegacy mod, 32 bit)
+ depends = enemy-territory-data
+ depends = geoip-database
+ optdepends = etlegacy-omnibot: artificial intelligence (AI) controlled opponent
+ optdepends = geoip-database: GeoLite country geolocation database
+ provides = etlegacy-mod
+ conflicts = etlegacy-mod
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..5e18c7e457f9
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,118 @@
+# ET:Legacy is provided as a cross-compiled 32 bit version for compatibility reason with existing 32 bit mods.
+# On a 64 bits system, [multilib] must be enabled and multilib-devel installed for 32 bits cross-compilation.
+# The engine is dynamically compiled, while the official precompiled mod libraries are provided.
+
+_pkgbase=etlegacy
+pkgbase=etlegacy32
+pkgname=('etlegacy32' 'etlegacy32-mod')
+pkgver=2.74
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://www.etlegacy.com/"
+license=('GPL3' 'custom')
+makedepends=('cmake' 'zip')
+makedepends_i686=('alsa-lib' 'curl' 'freetype2' 'gcc-libs' 'glew' 'libjpeg-turbo' 'libvorbis' 'sdl2')
+makedepends_x86_64=('lib32-alsa-lib' 'lib32-curl' 'lib32-freetype2' 'lib32-gcc-libs' 'lib32-glew' 'lib32-libjpeg-turbo' 'lib32-libvorbis' 'lib32-sdl2')
+source=("https://github.com/etlegacy/etlegacy/archive/v$pkgver.tar.gz"
+ "http://www.etlegacy.com/download/file/74") # only for pre-built libraries
+#noextract=("etl_bin_v$pkgver.pk3" "pak3_v$pkgver.pk3")
+sha512sums=('eafeb40fed714db76635ee2656b66ff738435385314e4a3d45d48643c0147365d643f3b024ea87c3fd984a08f48a963342226decbc2f878dcd6d863edd570c0f'
+ 'aea236a3d17d418df2381d324e7ddbda4a0663aa5e3ed5f2c2dd39ee2e08cbb02b036dc20d2ca897d27bf59bc4b1ed18db874b5ff7e73bd80b760710e9e2f881')
+
+build() {
+ cd "$_pkgbase-$pkgver"
+
+ if [[ "$CARCH" == "i686" ]]; then
+ cmakeopts+=(
+ '-DCMAKE_LIBRARY_PATH=/usr/lib'
+ '-DCROSS_COMPILE32=0'
+ )
+ else
+ cmakeopts+=(
+ '-DCMAKE_LIBRARY_PATH=/usr/lib32'
+ '-DCROSS_COMPILE32=1'
+ )
+ fi
+
+ cmake . ${cmakeopts[@]} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DINSTALL_DEFAULT_BASEDIR=/usr/lib/etlegacy\
+ -DINSTALL_DEFAULT_BINDIR=bin \
+ -DINSTALL_DEFAULT_MODDIR=lib/etlegacy \
+ -DBUILD_SERVER=1 \
+ -DBUILD_CLIENT=1 \
+ -DBUILD_MOD=0 \
+ -DBUILD_MOD_PK3=0 \
+ -DBUILD_PAK3_PK3=0 \
+ -DFEATURE_AUTOUPDATE=0 \
+ -DINSTALL_OMNIBOT=0
+
+ make
+}
+
+package_etlegacy32() {
+ pkgdesc="Wolfenstein: Enemy Territory 2.60b compatible client/server (etlegacy engine, 32 bit)"
+ depends=('etlegacy32-mod')
+ depends_i686=('alsa-lib' 'curl' 'freetype2' 'gcc-libs' 'glew' 'libjpeg-turbo' 'libvorbis' 'lua' 'sdl2')
+ depends_x86_64=('lib32-alsa-lib' 'lib32-curl' 'lib32-freetype2' 'lib32-gcc-libs' 'lib32-glew' 'lib32-libjpeg-turbo' 'lib32-libvorbis' 'lib32-lua' 'lib32-sdl2')
+ provides=('etlegacy')
+ conflicts=('etlegacy')
+ backup=('etc/xdg/etlegacy/etmain/etl_server.cfg'
+ 'etc/xdg/etlegacy/etmain/legacy.cfg'
+ 'etc/xdg/etlegacy/etmain/campaigncycle.cfg'
+ 'etc/xdg/etlegacy/etmain/lmscycle.cfg'
+ 'etc/xdg/etlegacy/etmain/mapvotecycle.cfg'
+ 'etc/xdg/etlegacy/etmain/objectivecycle.cfg')
+ install=etlegacy.install
+
+ cd "$_pkgbase-$pkgver"
+
+ # engine
+ make DESTDIR="$pkgdir/" install
+
+ # mod
+ rm -rf $pkgdir/usr/lib/$_pkgbase/legacy
+
+ # assets
+ ln -s /usr/share/enemy-territory/etmain/{pak0,pak1,pak2}.pk3 $pkgdir/usr/lib/$_pkgbase/etmain/
+
+ # doc
+ mkdir -p $pkgdir/usr/share/doc/$_pkgbase
+ mv $pkgdir/usr/lib/$_pkgbase/INSTALL.txt $pkgdir/usr/share/doc/$_pkgbase/
+ install -m 644 docs/game/anticheat.html $pkgdir/usr/share/doc/$_pkgbase/
+
+ # license
+ mkdir -p $pkgdir/usr/share/licenses/$_pkgbase
+ mv $pkgdir/usr/lib/$_pkgbase/COPYING.txt $pkgdir/usr/share/licenses/$_pkgbase/
+
+ # systemd
+ mkdir -p $pkgdir/etc/xdg/$_pkgbase/etmain
+ mkdir -p $pkgdir/usr/lib/systemd/system
+ install -m 644 misc/etlegacy.conf $pkgdir/etc/xdg/$_pkgbase/
+ install -m 644 misc/etlegacy.service $pkgdir/usr/lib/systemd/system/
+
+ # config
+ mv $pkgdir/usr/lib/$_pkgbase/etmain/*.cfg $pkgdir/etc/xdg/$_pkgbase/etmain/
+ ln -s /etc/xdg/$_pkgbase/etmain/{etl_server,legacy,{campaign,lms,mapvote,objective}cycle}.cfg $pkgdir/usr/lib/$_pkgbase/etmain/
+
+ # server
+ mkdir -p $pkgdir/var/lib/$_pkgbase-server
+ ln -s /etc/xdg/$_pkgbase/etmain $pkgdir/var/lib/$_pkgbase-server/
+}
+
+package_etlegacy32-mod() {
+ pkgdesc="Wolfenstein: Enemy Territory 2.60b compatible client/server (etlegacy mod, 32 bit)"
+ depends=('enemy-territory-data' 'geoip-database')
+ optdepends=('etlegacy-omnibot: artificial intelligence (AI) controlled opponent'
+ 'geoip-database: GeoLite country geolocation database')
+ provides=('etlegacy-mod')
+ conflicts=('etlegacy-mod')
+
+ # mod
+ mkdir -p $pkgdir/usr/lib/$_pkgbase/legacy
+ install -m 644 $srcdir/etlegacy-v$pkgver-x86_64/legacy/{etl_bin,pak3}_v$pkgver.pk3 $pkgdir/usr/lib/$_pkgbase/legacy
+
+ # geoip
+ ln -s /usr/share/GeoIP/GeoIP.dat $pkgdir/usr/lib/$_pkgbase/legacy
+}
diff --git a/etlegacy.install b/etlegacy.install
new file mode 100644
index 000000000000..040c26cf4192
--- /dev/null
+++ b/etlegacy.install
@@ -0,0 +1,38 @@
+_update_desktop_environment() {
+ # update icon cache
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+
+ # update desktop database
+ update-desktop-database -q
+
+ # update mime database
+ echo "==> updating mime database"
+ update-mime-database /usr/share/mime &> /dev/null
+}
+
+_add_server_user() {
+ if ! getent passwd etlegacy >/dev/null; then
+ useradd -rM -d /var/lib/etlegacy-server -c "ET Legacy dedicated server" -s /bin/false etlegacy
+ fi
+}
+
+_delete_server_user() {
+ if getent passwd etlegacy >/dev/null; then
+ userdel etlegacy
+ fi
+}
+
+_chown_server_home() {
+ chown -R etlegacy:etlegacy /var/lib/etlegacy-server
+}
+
+post_install() {
+ _add_server_user
+ _chown_server_home
+ _update_desktop_environment
+}
+
+post_remove() {
+ _delete_server_user
+ _update_desktop_environment
+}