diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..0295cd8ed607 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,110 @@ +# Contributor: Jan Cholasta <grubber at grubber cz> +# Maintainer: Jan Cholasta <grubber at grubber cz> + +_fmodver=42636 +_fmodarch=linux +if [[ "$CARCH" == x86_64 ]]; then + _fmodarch=linux64 +fi + +pkgname=gzdoom-git +pkgver=20130829 +pkgrel=1 +pkgdesc="Doom source port based on ZDoom with an OpenGL renderer (git version)." +arch=('i686' 'x86_64') +url="http://www.osnanet.de/c.oelckers/gzdoom/" +license=('custom') +depends=('fluidsynth' 'gxmessage' 'sdl' 'glu') +makedepends=('nasm' 'cmake' 'git' 'imagemagick' 'mesa') +optdepends=('blasphemer: Blasphemer (free Heretic) game data' + 'chexquest3-wad: Chex Quest 3 game data' + 'doom1-wad: Doom shareware game data' + 'freedoom: FreeDoom game data' + 'hacx-wad: HacX game data' + 'harmony-wad: Harmony game data' + 'heretic1-wad: Heretic shareware game data' + 'hexen1-wad: Hexen demo game data' + 'strife0-wad: Strife shareware game data' + 'urbanbrawl-wad: Urban Brawl: Action Doom 2 game data') +provides=('gzdoom') +conflicts=('gzdoom') +source=(gzdoom::git://github.com/coelckers/gzdoom.git \ + http://www.fmod.org/download/fmodex/api/Linux/fmodapi${_fmodver}${_fmodarch}.tar.gz \ + config-update-fix.patch \ + doom-share-dir.patch \ + stack-noexec.patch \ + gzdoom.desktop) +md5sums=('SKIP' + '220a54f330bdf3056d6207a0facf2096' + '2fda668ab449b7ca2d75a5b62dae6870' + 'ed6c7d1175146bedac3f5a59d09d8f4b' + 'b83081e982b742010df0afe36b4d49b6' + '3f5920d839086c9ad04ed1338c3fb546') + +if [[ "$CARCH" == i?86 ]]; then + md5sums[1]='220a54f330bdf3056d6207a0facf2096' +elif [[ "$CARCH" == x86_64 ]]; then + md5sums[1]='355cba00a34eb5f7d027da68b452f6d9' +fi + +_libdir=/usr/lib/gzdoom +_sharedir=/usr/share/games/gzdoom + +pkgver() { + date +%Y%m%d +} + +prepare() { + cd gzdoom + + patch -p1 <"$srcdir/config-update-fix.patch" + patch -p1 <"$srcdir/doom-share-dir.patch" + patch -p1 <"$srcdir/stack-noexec.patch" + + sed -i "s|setPluginPath(progdir)|setPluginPath(\"$_libdir\")|" src/sound/fmodsound.cpp +} + +build() { + cd gzdoom + + local _fmodlib + if [[ "$CARCH" == i?86 ]]; then + _fmodlib=libfmodex-${_fmodver:0:1}.${_fmodver:1:2}.${_fmodver:3:2}.so + elif [[ "$CARCH" == x86_64 ]]; then + _fmodlib=libfmodex64-${_fmodver:0:1}.${_fmodver:1:2}.${_fmodver:3:2}.so + fi + + cp "$srcdir/fmodapi${_fmodver}${_fmodarch}/api/lib/$_fmodlib" libfmodex.so + + cmake -DFMOD_INCLUDE_DIR="$srcdir/fmodapi${_fmodver}${_fmodarch}/api/inc" \ + -DFMOD_LIBRARY=libfmodex.so \ + -DCMAKE_C_FLAGS="$CFLAGS -DSHARE_DIR=\\\"$_sharedir\\\"" \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS -DSHARE_DIR=\\\"$_sharedir\\\"" \ + -DCMAKE_INSTALL_RPATH=$_libdir \ + -DCMAKE_BUILD_WITH_INSTALL_RPATH=1 \ + -DCMAKE_SKIP_BUILD_RPATH=1 \ + . + make + + convert "src/win32/icon1.ico[2]" gzdoom.png +} + +package() { + cd gzdoom + + install -Dm755 libfmodex.so "$pkgdir/$_libdir/libfmodex.so" + + install -Dm755 gzdoom "$pkgdir/usr/bin/gzdoom" + install -Dm755 liboutput_sdl.so "$pkgdir/$_libdir/liboutput_sdl.so" + install -Dm644 gzdoom.pk3 "$pkgdir/$_sharedir/gzdoom.pk3" + install -Dm644 brightmaps.pk3 "$pkgdir/$_sharedir/brightmaps.pk3" + install -Dm644 lights.pk3 "$pkgdir/$_sharedir/lights.pk3" + ln -s /usr/share/doom/doom.wad "$pkgdir/$_sharedir/freedoomu.wad" + ln -s /usr/share/doom/doom2.wad "$pkgdir/$_sharedir/freedoom.wad" + ln -s /usr/share/doom/hexen.wad "$pkgdir/$_sharedir/hexendemo.wad" + + install -Dm644 gzdoom.png "$pkgdir/usr/share/pixmaps/gzdoom.png" + install -Dm644 "$srcdir/gzdoom.desktop" "$pkgdir/usr/share/applications/gzdoom.desktop" + install -Dm644 docs/BUILDLIC.TXT "$pkgdir/usr/share/licenses/$pkgname/BUILDLIC.TXT" + install -Dm644 docs/doomlic.txt "$pkgdir/usr/share/licenses/$pkgname/DOOMLIC.TXT" +} |