diff options
author | Jan Cholasta | 2016-05-27 07:35:25 +0200 |
---|---|---|
committer | Jan Cholasta | 2016-05-27 08:39:25 +0200 |
commit | 2bf34393c889bcc008f3752689106b1d54e98081 (patch) | |
tree | 784401dd5cff137fe828a2852c798317513c0612 | |
parent | 7214e4d13a86321a24778f9b065724ad04d2cdde (diff) | |
download | aur-2bf34393c889bcc008f3752689106b1d54e98081.tar.gz |
zdoom-git-2.9pre.982.g34c67b9-1
* Fix fmodex4.26.36 dependency
* Make gxmessage dependency optional, add alternatives
* Move cmake call from build() to prepare()
* Fix package rebuild
* Use linker option rather than patch to make stack not executable
* Move IWAD symlinks to /usr/lib, drop the related patch
* Remove install file as it was superseded by pacman hooks
-rw-r--r-- | .SRCINFO | 17 | ||||
-rw-r--r-- | 0001-Mark-stack-as-not-executable-in-assembler-sources.patch | 116 | ||||
-rw-r--r-- | 0002-Include-SHARE_DIR-in-IWADSearch.Directories.patch | 24 | ||||
-rw-r--r-- | PKGBUILD | 82 | ||||
-rw-r--r-- | install | 16 | ||||
-rw-r--r-- | launcher.desktop (renamed from desktop.template) | 4 |
6 files changed, 44 insertions, 215 deletions
@@ -1,9 +1,8 @@ pkgbase = zdoom-git pkgdesc = Advanced Doom source port (git version) - pkgver = 2.9pre.332.g7f67203 + pkgver = 2.9pre.982.g34c67b9 pkgrel = 1 url = http://www.zdoom.org/ - install = install arch = i686 arch = x86_64 license = BSD @@ -17,9 +16,8 @@ pkgbase = zdoom-git makedepends = imagemagick makedepends = xdg-utils depends = fluidsynth - depends = fmodex=4.26.36 + depends = fmodex4.26.36 depends = gtk2 - depends = gxmessage depends = libgme depends = libsndfile depends = mpg123 @@ -29,23 +27,22 @@ pkgbase = zdoom-git optdepends = chexquest3-wad: Chex Quest 3 game data optdepends = doom1-wad: Doom shareware game data optdepends = freedoom: FreeDoom game data + optdepends = gxmessage: crash dialog (GNOME) optdepends = hacx-wad: HacX game data optdepends = harmony-wad: Harmony game data optdepends = heretic1-wad: Heretic shareware game data optdepends = hexen1-wad: Hexen demo game data + optdepends = kdebase-kdialog: crash dialog (KDE) optdepends = strife0-wad: Strife shareware game data optdepends = square1-wad: The Adventures of Square, Episode 1 game data optdepends = urbanbrawl-wad: Urban Brawl: Action Doom 2 game data + optdepends = xorg-xmessage: crash dialog (other) provides = zdoom conflicts = zdoom source = zdoom::git://github.com/rheit/zdoom.git - source = desktop.template - source = 0001-Mark-stack-as-not-executable-in-assembler-sources.patch - source = 0002-Include-SHARE_DIR-in-IWADSearch.Directories.patch + source = launcher.desktop sha256sums = SKIP - sha256sums = f2c58925238fe0d01e630527c8c4431681ccaec2d763ba075429b747d1a98a8c - sha256sums = deb7df04f36cffb8a4b5c38f289d95a662c25ba1644de668ef8a64965e9a9860 - sha256sums = 8798c5eaa833041ad90823439cd06a1752740b715a03ee7947b46bc247db1d1b + sha256sums = e8932a559baf30ecbfc062546ca014c6dfb70f76d1570549654209d39157e350 makedepends_i686 = nasm pkgname = zdoom-git diff --git a/0001-Mark-stack-as-not-executable-in-assembler-sources.patch b/0001-Mark-stack-as-not-executable-in-assembler-sources.patch deleted file mode 100644 index 75ad8a1bdae0..000000000000 --- a/0001-Mark-stack-as-not-executable-in-assembler-sources.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 4ec44fca7500576f1d6778965504957c1837f2d7 Mon Sep 17 00:00:00 2001 -From: Jan Cholasta <grubber@grubber.cz> -Date: Thu, 18 Feb 2016 10:56:03 +0100 -Subject: [PATCH 1/2] Mark stack as not executable in assembler sources - ---- - src/asm_ia32/a.asm | 10 ++++++++++ - src/asm_ia32/misc.asm | 10 ++++++++++ - src/asm_ia32/tmap.asm | 10 ++++++++++ - src/asm_ia32/tmap2.asm | 10 ++++++++++ - src/asm_ia32/tmap3.asm | 10 ++++++++++ - src/asm_x86_64/tmap3.s | 1 + - 6 files changed, 51 insertions(+) - -diff --git a/src/asm_ia32/a.asm b/src/asm_ia32/a.asm -index 786396d..9530e4c 100644 ---- a/src/asm_ia32/a.asm -+++ b/src/asm_ia32/a.asm -@@ -810,3 +810,13 @@ align 16 - GLOBAL _rtext_a_end - _rtext_a_end: - %endif -+ -+%ifidn __OUTPUT_FORMAT__,elf -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -+%ifidn __OUTPUT_FORMAT__,elf32 -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -+%ifidn __OUTPUT_FORMAT__,elf64 -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -diff --git a/src/asm_ia32/misc.asm b/src/asm_ia32/misc.asm -index b825a4d..c694124 100644 ---- a/src/asm_ia32/misc.asm -+++ b/src/asm_ia32/misc.asm -@@ -198,3 +198,13 @@ BestColor_MMX: - pop ebx - emms - ret -+ -+%ifidn __OUTPUT_FORMAT__,elf -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -+%ifidn __OUTPUT_FORMAT__,elf32 -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -+%ifidn __OUTPUT_FORMAT__,elf64 -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -diff --git a/src/asm_ia32/tmap.asm b/src/asm_ia32/tmap.asm -index fb372d4..05c90fd 100644 ---- a/src/asm_ia32/tmap.asm -+++ b/src/asm_ia32/tmap.asm -@@ -1891,3 +1891,13 @@ _ASM_PatchPitch: - selfmod rtext_start, rtext_end - call setpitch3 - jmp setvlinebpl_ -+ -+%ifidn __OUTPUT_FORMAT__,elf -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -+%ifidn __OUTPUT_FORMAT__,elf32 -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -+%ifidn __OUTPUT_FORMAT__,elf64 -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -diff --git a/src/asm_ia32/tmap2.asm b/src/asm_ia32/tmap2.asm -index 8fa141e..81d92be 100644 ---- a/src/asm_ia32/tmap2.asm -+++ b/src/asm_ia32/tmap2.asm -@@ -638,3 +638,13 @@ rtext_end: - GLOBAL _rtext_tmap2_end - _rtext_tmap2_end: - %endif -+ -+%ifidn __OUTPUT_FORMAT__,elf -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -+%ifidn __OUTPUT_FORMAT__,elf32 -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -+%ifidn __OUTPUT_FORMAT__,elf64 -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -diff --git a/src/asm_ia32/tmap3.asm b/src/asm_ia32/tmap3.asm -index bafc336..7379cb7 100644 ---- a/src/asm_ia32/tmap3.asm -+++ b/src/asm_ia32/tmap3.asm -@@ -342,3 +342,13 @@ shift12: shr ecx,16 - GLOBAL _rtext_tmap3_end - _rtext_tmap3_end: - %endif -+ -+%ifidn __OUTPUT_FORMAT__,elf -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -+%ifidn __OUTPUT_FORMAT__,elf32 -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -+%ifidn __OUTPUT_FORMAT__,elf64 -+section .note.GNU-stack noalloc noexec nowrite progbits -+%endif -diff --git a/src/asm_x86_64/tmap3.s b/src/asm_x86_64/tmap3.s -index 867d11c..e27f05f 100644 ---- a/src/asm_x86_64/tmap3.s -+++ b/src/asm_x86_64/tmap3.s -@@ -139,3 +139,4 @@ vltepilog: - .align 16 - - -+ .section .note.GNU-stack,"",@progbits --- -2.7.2 - diff --git a/0002-Include-SHARE_DIR-in-IWADSearch.Directories.patch b/0002-Include-SHARE_DIR-in-IWADSearch.Directories.patch deleted file mode 100644 index 4ec7ddeb36de..000000000000 --- a/0002-Include-SHARE_DIR-in-IWADSearch.Directories.patch +++ /dev/null @@ -1,24 +0,0 @@ -From dd17047cb5e8f6f1c74dad4650ac2a3a35da7dd5 Mon Sep 17 00:00:00 2001 -From: Jan Cholasta <grubber@grubber.cz> -Date: Thu, 18 Feb 2016 13:34:59 +0100 -Subject: [PATCH 2/2] Include SHARE_DIR in IWADSearch.Directories - ---- - src/gameconfigfile.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/gameconfigfile.cpp b/src/gameconfigfile.cpp -index f162e93..91f7308 100644 ---- a/src/gameconfigfile.cpp -+++ b/src/gameconfigfile.cpp -@@ -133,6 +133,7 @@ FGameConfigFile::FGameConfigFile () - SetValueForKey ("Path", "$PROGDIR", true); - #else - SetValueForKey ("Path", "~/" GAME_DIR, true); -+ SetValueForKey ("Path", SHARE_DIR, true); - // Arch Linux likes them in /usr/share/doom - // Debian likes them in /usr/share/games/doom - // I assume other distributions don't do anything radically different --- -2.7.2 - @@ -1,20 +1,20 @@ # Maintainer: Jan Cholasta <grubber at grubber cz> # Build with the recommended fmodex version: -_fmodex=4.26.36 +_fmodex=fmodex4.26.36 # Build with the currently installed fmodex version: -#_fmodex=$(LC_ALL=C pacman -Q fmodex | grep -Po '(?<= ).+(?=-)') +#_fmodex=$(LC_ALL=C pacman -Q fmodex | sed -r 's/ /=/;s/-.*$//') # Build without fmodex: #_fmodex= # Build with OpenAL: -_openal=1 +_openal=openal # Build without OpenAL: #_openal= _name=zdoom pkgname=${_name}-git -pkgver=2.9pre.332.g7f67203 +pkgver=2.9pre.982.g34c67b9 pkgrel=1 _label='ZDoom' _desc='Advanced Doom source port' @@ -23,13 +23,12 @@ arch=('i686' 'x86_64') url='http://www.zdoom.org/' license=('BSD' 'custom:BUILD' 'custom:doom' 'custom:dumb' 'LGPL') depends=('fluidsynth' - ${_fmodex:+"fmodex=$_fmodex"} + ${_fmodex} 'gtk2' - 'gxmessage' 'libgme' ${_openal:+'libsndfile'} ${_openal:+'mpg123'} - ${_openal:+'openal'} + ${_openal} 'sdl2') makedepends=('cmake' 'desktop-file-utils' @@ -41,25 +40,23 @@ 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' + 'gxmessage: crash dialog (GNOME)' 'hacx-wad: HacX game data' 'harmony-wad: Harmony game data' 'heretic1-wad: Heretic shareware game data' 'hexen1-wad: Hexen demo game data' + 'kdebase-kdialog: crash dialog (KDE)' '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') + 'urbanbrawl-wad: Urban Brawl: Action Doom 2 game data' + 'xorg-xmessage: crash dialog (other)') provides=("${_name}") conflicts=("${_name}") -install=install source=("${_name}::git://github.com/rheit/${_name}.git" - 'desktop.template' - '0001-Mark-stack-as-not-executable-in-assembler-sources.patch' - '0002-Include-SHARE_DIR-in-IWADSearch.Directories.patch') + 'launcher.desktop') _srcsubdir="${_name}" sha256sums=('SKIP' - 'f2c58925238fe0d01e630527c8c4431681ccaec2d763ba075429b747d1a98a8c' - 'deb7df04f36cffb8a4b5c38f289d95a662c25ba1644de668ef8a64965e9a9860' - '8798c5eaa833041ad90823439cd06a1752740b715a03ee7947b46bc247db1d1b') + 'e8932a559baf30ecbfc062546ca014c6dfb70f76d1570549654209d39157e350') pkgver() { cd "${_srcsubdir}" @@ -70,31 +67,12 @@ pkgver() { prepare() { cd "${_srcsubdir}" - local _file - for _file in "${source[@]}"; do - if [[ "${_file}" == *.patch ]]; then - patch -p1 <"${srcdir}/${_file}" - fi - done -} - -build() { - cd "${_srcsubdir}" - - cat >"${_name}.sh" <<EOF -#!/bin/sh -exec /usr/lib/${_name}/${_name} "\$@" -EOF - - local _nofmod _noopenal _fmodincdir + local _nofmod _noopenal _fmodincdir _fmodlib if [[ -n "${_fmodex}" ]]; then _nofmod=OFF - - _fmodincdir="/usr/include/fmodex-${_fmodex}" - if [[ ! -e "${_fmodincdir}" ]]; then - _fmodincdir='/usr/include/fmodex' - fi + _fmodincdir=$(LC_ALL=C pacman -Ql ${_fmodex%=*} | grep -Eo '/usr/include/fmodex[^/]*/$') + _fmodlib=$(LC_ALL=C pacman -Ql ${_fmodex%=*} | grep -Eo '/usr/lib/libfmodex-[^/]*\.so$') else _nofmod=ON fi @@ -109,23 +87,29 @@ EOF -DNO_OPENAL=${_noopenal} \ -DGME_INCLUDE_DIR='/usr/include/gme' \ -DFMOD_INCLUDE_DIR="${_fmodincdir}" \ - -DFMOD_LIBRARY="/usr/lib/libfmodex-${_fmodex}.so" \ + -DFMOD_LIBRARY="${_fmodlib}" \ -DFORCE_INTERNAL_GME=OFF \ -DCMAKE_C_FLAGS="$CFLAGS -DSHARE_DIR=\\\"/usr/share/${_name}\\\"" \ -DCMAKE_CXX_FLAGS="$CXXFLAGS -DSHARE_DIR=\\\"/usr/share/${_name}\\\"" \ + -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -Wl,-z,noexecstack" \ . +} + +build() { + cd "${_srcsubdir}" + + cat >"${_name}.sh" <<EOF +#!/bin/sh +exec /usr/lib/${_name}/${_name} "\$@" +EOF + make sed -n '/\*\*-/,/\*\*-/p' 'src/version.h' >'bsd.txt' - 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" + cp "${srcdir}/launcher.desktop" "${_name}.desktop" - mkdir 'icons' + mkdir -p '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' @@ -142,12 +126,12 @@ package() { if [[ -n "${_fmodex}" ]]; then install 'liboutput_sdl.so' "${pkgdir}/usr/lib/${_name}/" fi + ln -s '/usr/share/doom/doom.wad' "${pkgdir}/usr/lib/${_name}/freedoomu.wad" + ln -s '/usr/share/doom/doom2.wad' "${pkgdir}/usr/lib/${_name}/freedoom.wad" + ln -s '/usr/share/doom/heretic.wad' "${pkgdir}/usr/lib/${_name}/blasphemer.wad" + ln -s '/usr/share/doom/hexen.wad' "${pkgdir}/usr/lib/${_name}/hexendemo.wad" mkdir -p "${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" diff --git a/install b/install deleted file mode 100644 index a3292a2070bc..000000000000 --- a/install +++ /dev/null @@ -1,16 +0,0 @@ -post_install() { - if [[ -x usr/bin/xdg-icon-resource ]]; then - usr/bin/xdg-icon-resource forceupdate - fi - if [[ -x usr/bin/update-desktop-database ]]; then - usr/bin/update-desktop-database -q - fi -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/desktop.template b/launcher.desktop index 172a5d7cae83..ab8906650d8b 100644 --- a/desktop.template +++ b/launcher.desktop @@ -1,6 +1,10 @@ [Desktop Entry] Type=Application Version=1.0 +Name=ZDoom +GenericName=Advanced Doom source port +Icon=zdoom +Exec=zdoom %F Terminal=false MimeType=application/x-doom-wad; Categories=Game;ActionGame; |