diff options
author | Artem Vorotnikov | 2015-08-23 18:05:05 +0300 |
---|---|---|
committer | Artem Vorotnikov | 2015-08-23 18:05:05 +0300 |
commit | 7d6a8682598bdf819235860c9083938f356678ed (patch) | |
tree | 0507fe254e1c9fa0d78cfe439edad71d2bf79a99 | |
download | aur-7d6a8682598bdf819235860c9083938f356678ed.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 71 | ||||
-rw-r--r-- | PKGBUILD | 118 | ||||
-rw-r--r-- | etlegacy.install | 38 |
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 +} |