summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtem Vorotnikov2015-08-23 18:13:10 +0300
committerArtem Vorotnikov2015-08-23 18:13:10 +0300
commitdbcf7003bcab91aa31b2be032862d680e5a9301a (patch)
treeab375fff9d318d3cc386c160e5c6cfef5c19ba4d
downloadaur-dbcf7003bcab91aa31b2be032862d680e5a9301a.tar.gz
Initial import
-rw-r--r--.SRCINFO51
-rw-r--r--PKGBUILD102
-rw-r--r--etlegacy.install38
3 files changed, 191 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..b4762900e14d
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,51 @@
+pkgbase = etlegacy
+ pkgver = 2.74
+ pkgrel = 1
+ url = http://www.etlegacy.com/
+ arch = x86_64
+ license = GPL3
+ license = custom
+ makedepends = cmake
+ makedepends = zip
+ makedepends = alsa-lib
+ makedepends = curl
+ makedepends = freetype2
+ makedepends = gcc-libs
+ makedepends = glew
+ makedepends = libjpeg-turbo
+ makedepends = libvorbis
+ makedepends = sdl2
+ source = https://github.com/etlegacy/etlegacy/archive/v2.74.tar.gz
+ source = http://www.etlegacy.com/download/file/74
+ sha512sums = eafeb40fed714db76635ee2656b66ff738435385314e4a3d45d48643c0147365d643f3b024ea87c3fd984a08f48a963342226decbc2f878dcd6d863edd570c0f
+ sha512sums = aea236a3d17d418df2381d324e7ddbda4a0663aa5e3ed5f2c2dd39ee2e08cbb02b036dc20d2ca897d27bf59bc4b1ed18db874b5ff7e73bd80b760710e9e2f881
+
+pkgname = etlegacy
+ pkgdesc = Wolfenstein: Enemy Territory 2.60b compatible client/server (etlegacy engine)
+ install = etlegacy.install
+ depends = etlegacy-mod
+ depends = alsa-lib
+ depends = curl
+ depends = freetype2
+ depends = gcc-libs
+ depends = glew
+ depends = libjpeg-turbo
+ depends = libvorbis
+ depends = lua
+ depends = sdl2
+ 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
+
+pkgname = etlegacy-mod
+ pkgdesc = Wolfenstein: Enemy Territory 2.60b compatible client/server (etlegacy mod)
+ depends = enemy-territory-data
+ depends = geoip-database
+ optdepends = etlegacy-omnibot: artificial intelligence (AI) controlled opponent
+ optdepends = geoip-database: GeoLite country geolocation database
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..c475d1a96dd4
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,102 @@
+# Full 64 bit ET:Legacy clients can only connect to ET:Legacy servers running mods providing a 64 bit version.
+# If you want to connect to existing 32 bit only mods, install the cross-compiled "etlegacy32" package instead.
+# The engine is dynamically compiled, while the official precompiled mod libraries are provided.
+
+_pkgbase=etlegacy
+pkgbase=etlegacy
+pkgname=('etlegacy' 'etlegacy-mod')
+pkgver=2.74
+pkgrel=1
+arch=('x86_64')
+url="http://www.etlegacy.com/"
+license=('GPL3' 'custom')
+makedepends=('cmake' 'zip' 'alsa-lib' 'curl' 'freetype2' 'gcc-libs' 'glew' 'libjpeg-turbo' 'libvorbis' 'sdl2')
+source=("https://github.com/etlegacy/$_pkgbase/archive/v$pkgver.tar.gz"
+ "http://www.etlegacy.com/download/file/74")
+#noextract=("etl_bin_v$pkgver.pk3" "pak3_v$pkgver.pk3")
+sha512sums=('eafeb40fed714db76635ee2656b66ff738435385314e4a3d45d48643c0147365d643f3b024ea87c3fd984a08f48a963342226decbc2f878dcd6d863edd570c0f'
+ 'aea236a3d17d418df2381d324e7ddbda4a0663aa5e3ed5f2c2dd39ee2e08cbb02b036dc20d2ca897d27bf59bc4b1ed18db874b5ff7e73bd80b760710e9e2f881')
+
+build() {
+ cd "$_pkgbase-$pkgver"
+
+ cmake . ${cmakeopts[@]} \
+ -DCMAKE_LIBRARY_PATH=/usr/lib \
+ -DCROSS_COMPILE32=0 \
+ -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_etlegacy() {
+ pkgdesc="Wolfenstein: Enemy Territory 2.60b compatible client/server (etlegacy engine)"
+ depends=('etlegacy-mod' 'alsa-lib' 'curl' 'freetype2' 'gcc-libs' 'glew' 'libjpeg-turbo' 'libvorbis' 'lua' '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_etlegacy-mod() {
+ pkgdesc="Wolfenstein: Enemy Territory 2.60b compatible client/server (etlegacy mod)"
+ depends=('enemy-territory-data' 'geoip-database')
+ optdepends=('etlegacy-omnibot: artificial intelligence (AI) controlled opponent'
+ 'geoip-database: GeoLite country geolocation database')
+
+ # 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
+}