diff options
author | Jan Cholasta | 2016-02-26 08:11:31 +0100 |
---|---|---|
committer | Jan Cholasta | 2016-03-03 07:52:44 +0100 |
commit | 53f552ee2460efc2481c5a6a09ba963fcf5f25e6 (patch) | |
tree | 03eae9ac1b87fc743eee44a19767cb912d27c834 /PKGBUILD | |
parent | 8796e29a60e11a3601691ff207b13fe91bee6357 (diff) | |
download | aur-53f552ee2460efc2481c5a6a09ba963fcf5f25e6.tar.gz |
Update to 1.9.1
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 214 |
1 files changed, 145 insertions, 69 deletions
@@ -1,15 +1,44 @@ # Maintainer: Jan Cholasta <grubber at grubber cz> -pkgname=gzdoom1 -pkgver=1.8.10 +# Build with the recommended fmodex version: +_fmodex=4.26.36 +# Build with the currently installed fmodex version: +#_fmodex=$(LC_ALL=C pacman -Q fmodex | grep -Po '(?<= ).+(?=-)') +# Build without fmodex: +#_fmodex= + +# Build with OpenAL: +_openal=1 +# Build without OpenAL: +#_openal= + +_name=gzdoom +pkgname=${_name}1 +pkgver=1.9.1 pkgrel=1 -pkgdesc="Doom source port based on ZDoom with an OpenGL renderer (legacy version)." +_label='GZDoom' +_desc='Advanced Doom source port with OpenGL support' +pkgdesc="${_desc} (legacy version)" arch=('i686' 'x86_64') -url="http://www.osnanet.de/c.oelckers/gzdoom/" -license=('custom') -depends=('fluidsynth' 'fmodex4.26.36' 'glew' 'gtk2' 'gxmessage' 'sdl2') -makedepends=('nasm' 'cmake' 'imagemagick' 'mesa') -optdepends=('blasphemer: Blasphemer (free Heretic) game data' +url='http://www.zdoom.org/' +license=('BSD' 'custom:BUILD' 'custom:doom' 'custom:dumb' 'LGPL') +depends=('fluidsynth' + ${_fmodex:+"fmodex=$_fmodex"} + 'gtk2' + 'gxmessage' + 'libgl' + 'libgme' + ${_openal:+'libsndfile'} + ${_openal:+'mpg123'} + ${_openal:+'openal'} + 'sdl2') +makedepends=('cmake' + 'desktop-file-utils' + 'git' + 'imagemagick' + 'xdg-utils') +makedepends_i686=('nasm') +optdepends=('blasphemer-wad: Blasphemer (free Heretic) game data' 'chexquest3-wad: Chex Quest 3 game data' 'doom1-wad: Doom shareware game data' 'freedoom: FreeDoom game data' @@ -18,78 +47,125 @@ optdepends=('blasphemer: Blasphemer (free Heretic) game data' 'heretic1-wad: Heretic shareware game data' 'hexen1-wad: Hexen demo game data' 'strife0-wad: Strife shareware game data' + 'square1-wad: The Adventures of Square, Episode 1 game data' 'urbanbrawl-wad: Urban Brawl: Action Doom 2 game data') -provides=('gzdoom') -conflicts=('gzdoom') -source=(https://github.com/coelckers/gzdoom/archive/${pkgver}.tar.gz - gitinfo.h - git-c915049.patch - git-37321d1.patch - git-cab509c.patch - git-fb3bf0e.patch - config-update-fix.patch - doom-share-dir.patch - stack-noexec.patch - gzdoom.desktop) -sha256sums=('6070acf8ebd0c1add79dd0359a28b0a51aee28fb723a8da0ffe3f2a90bb0f677' - 'd8762c8b6510adac67147f4a652ea2a56da0d40743aaab8d6a74cf2594bc0c36' - '7bbe5aee7e66780f92d29e8b44417b6165828a610471811a3adae9085234cd12' - '48562c7a6110b19cdd4d795b5d28b5445243831533269f8bb25cc19ba67333ff' - '5150353839bc653282720b8e434b09930b2747d91115afdb1eda32daa6162f59' - 'acb5a37bff36f866345c68b8b512bc3bb4c549d347020ea8e1f0c52b271049bc' - '7c68a97e95987117093552b5b0628db7e0f19e8ffa2c1919eaaa7b84d973e0ea' - '0b22552e0550a01cf6c652804aff6a7157471740630a9c7158e4ee709bc24b80' - 'cd13c6582fa1eb09ccba377f4593d3c552e97e07d231911e152e5dd5395b3529' - '2a0b837ddc423d3a6be50f60735c55ee27cd26f58c42540b44aab395030b9cc4') - -_fmodver=4.26.36 -_libdir=/usr/lib/gzdoom -_sharedir=/usr/share/games/gzdoom +provides=("${_name}") +conflicts=("${_name}") +install=install +source=("${_name}::git://github.com/coelckers/${_name}.git#tag=g${pkgver}" + 'desktop.template' + '0001-Mark-stack-as-not-executable-in-assembler-sources.patch' + '0002-Include-SHARE_DIR-in-IWADSearch.Directories.patch') +_srcsubdir="${_name}" +sha256sums=('SKIP' + 'f2c58925238fe0d01e630527c8c4431681ccaec2d763ba075429b747d1a98a8c' + '3f3596161e1d6d92e3d20d64e9b62ed10a485b538aaa2e49df05967b31b8f717' + '9a1ddfc3083c2dec7995008c07382e75a37485c69f2cb33ec256f922fef6f0e2') prepare() { - cd gzdoom-$pkgver + cd "${_srcsubdir}" - cp "$srcdir"/gitinfo.h src/gitinfo.h + local _file + for _file in "${source[@]}"; do + if [[ "${_file}" == *.patch ]]; then + patch -p1 <"${srcdir}/${_file}" + fi + done +} - patch -p1 <"$srcdir"/git-c915049.patch - patch -p1 <"$srcdir"/git-37321d1.patch - patch -p1 <"$srcdir"/git-cab509c.patch - patch -p1 <"$srcdir"/git-fb3bf0e.patch +build() { + cd "${_srcsubdir}" - patch -p1 <"$srcdir/config-update-fix.patch" - patch -p1 <"$srcdir/doom-share-dir.patch" - patch -p1 <"$srcdir/stack-noexec.patch" + cat >"${_name}.sh" <<EOF +#!/bin/sh +exec /usr/lib/${_name}/${_name} "\$@" +EOF - sed -i "s|setPluginPath(progdir)|setPluginPath(\"$_libdir\")|" src/sound/fmodsound.cpp -} + local _nofmod _noopenal _fmodincdir -build() { - cd gzdoom-$pkgver + if [[ -n "${_fmodex}" ]]; then + _nofmod=OFF + + _fmodincdir="/usr/include/fmodex-${_fmodex}" + if [[ ! -e "${_fmodincdir}" ]]; then + _fmodincdir='/usr/include/fmodex' + fi + else + _nofmod=ON + fi + + if [[ -n "${_openal}" ]]; then + _noopenal=OFF + else + _noopenal=ON + fi + + cmake -DNO_FMOD=${_nofmod} \ + -DNO_OPENAL=${_noopenal} \ + -DGME_INCLUDE_DIR='/usr/include/gme' \ + -DFMOD_INCLUDE_DIR="${_fmodincdir}" \ + -DFMOD_LIBRARY="/usr/lib/libfmodex-${_fmodex}.so" \ + -DFORCE_INTERNAL_GME=OFF \ + -DCMAKE_C_FLAGS="$CFLAGS -DSHARE_DIR=\\\"/usr/share/${_name}\\\"" \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS -DSHARE_DIR=\\\"/usr/share/${_name}\\\"" \ + . + make - cmake -DFMOD_INCLUDE_DIR=/usr/include/fmodex-$_fmodver \ - -DFMOD_LIBRARY=/usr/lib/libfmodex-$_fmodver.so \ - -DCMAKE_C_FLAGS="$CFLAGS -DSHARE_DIR=\\\"$_sharedir\\\"" \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS -DSHARE_DIR=\\\"$_sharedir\\\"" \ - . - make + sed -n '/\*\*-/,/\*\*-/p' 'src/version.h' >'bsd.txt' - convert "src/win32/icon1.ico[2]" gzdoom.png + cp "${srcdir}/desktop.template" "${_name}.desktop" + desktop-file-edit --set-name="${_label}" \ + --set-generic-name="${_desc}" \ + --set-icon="${_name}" \ + --set-key=Exec --set-value="${_name} %F" \ + "${_name}.desktop" + + mkdir 'icons' + convert 'src/win32/icon1.ico[2]' 'icons/48.png' + convert 'src/win32/icon1.ico[3]' 'icons/32.png' + convert 'src/win32/icon1.ico[4]' 'icons/16.png' } package() { - cd gzdoom-$pkgver - - 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" + cd "${_srcsubdir}" + + install -D "${_name}.sh" "${pkgdir}/usr/bin/${_name}" + + mkdir -p "${pkgdir}/usr/lib/${_name}" + install "${_name}" "${pkgdir}/usr/lib/${_name}/" + install -m644 "${_name}.pk3" "${pkgdir}/usr/lib/${_name}/" + if [[ -n "${_fmodex}" ]]; then + install 'liboutput_sdl.so' "${pkgdir}/usr/lib/${_name}/" + fi + + mkdir -p "${pkgdir}/usr/share/${_name}" + install -m644 'brightmaps.pk3' "${pkgdir}/usr/share/${_name}/" + install -m644 'lights.pk3' "${pkgdir}/usr/share/${_name}/" + ln -s '/usr/share/doom/doom.wad' "${pkgdir}/usr/share/${_name}/freedoomu.wad" + ln -s '/usr/share/doom/doom2.wad' "${pkgdir}/usr/share/${_name}/freedoom.wad" + ln -s '/usr/share/doom/heretic.wad' "${pkgdir}/usr/share/${_name}/blasphemer.wad" + ln -s '/usr/share/doom/hexen.wad' "${pkgdir}/usr/share/${_name}/hexendemo.wad" + + mkdir -p "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 'bsd.txt' "${pkgdir}/usr/share/licenses/${pkgname}/bsd.txt" + install -m644 'docs/BUILDLIC.TXT' "${pkgdir}/usr/share/licenses/${pkgname}/buildlic.txt" + install -m644 'docs/doomlic.txt' "${pkgdir}/usr/share/licenses/${pkgname}/doomlic.txt" + install -m644 'dumb/licence.txt' "${pkgdir}/usr/share/licenses/${pkgname}/dumb.txt" + + desktop-file-install --dir="${pkgdir}/usr/share/applications" "${_name}.desktop" + + mkdir -p "${pkgdir}/usr/share/icons/hicolor" + ( + cd 'icons' + export XDG_DATA_DIRS="${pkgdir}/usr/share" + + local _file + for _file in *.png; do + xdg-icon-resource install --noupdate \ + --novendor \ + --size "${_file%.png}" \ + "${_file}" \ + "${_name}" + done + ) } |