summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Cholasta2016-05-27 07:35:25 +0200
committerJan Cholasta2016-05-27 08:39:25 +0200
commit2bf34393c889bcc008f3752689106b1d54e98081 (patch)
tree784401dd5cff137fe828a2852c798317513c0612
parent7214e4d13a86321a24778f9b065724ad04d2cdde (diff)
downloadaur-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--.SRCINFO17
-rw-r--r--0001-Mark-stack-as-not-executable-in-assembler-sources.patch116
-rw-r--r--0002-Include-SHARE_DIR-in-IWADSearch.Directories.patch24
-rw-r--r--PKGBUILD82
-rw-r--r--install16
-rw-r--r--launcher.desktop (renamed from desktop.template)4
6 files changed, 44 insertions, 215 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d0408bea1628..b1de69c767fb 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
-
diff --git a/PKGBUILD b/PKGBUILD
index 33a2cc1d36e9..20dbe2718eea 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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;