summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Cholasta2016-02-18 14:26:27 +0100
committerJan Cholasta2016-03-03 07:29:37 +0100
commitf0c267e9c843e2140b29c6801c2d9bc1ca9eeae9 (patch)
tree01d777e72e77b5414d391adc917947a5e811d964
parentaf1dc690b824d969aed963ca5338e7f11ee46329 (diff)
downloadaur-f0c267e9c843e2140b29c6801c2d9bc1ca9eeae9.tar.gz
Update to 2.8.1
-rw-r--r--.SRCINFO46
-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--PKGBUILD193
-rw-r--r--desktop.template (renamed from zdoom.desktop)8
-rw-r--r--doom-share-dir.patch11
-rw-r--r--install16
-rw-r--r--stack-noexec.patch93
8 files changed, 331 insertions, 176 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 03169d8ec4e2..7353fbb53a1d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,21 +1,31 @@
pkgbase = zdoom
- pkgdesc = An enhanced Doom port with additional support for Heretic, Hexen and Strife.
- pkgver = 2.7.1
- pkgrel = 3
+ pkgdesc = Advanced Doom source port
+ pkgver = 2.8.1
+ pkgrel = 1
url = http://www.zdoom.org/
+ install = install
arch = i686
arch = x86_64
- license = custom
- makedepends = nasm
+ license = BSD
+ license = custom:BUILD
+ license = custom:doom
+ license = custom:dumb
+ license = LGPL
makedepends = cmake
+ makedepends = desktop-file-utils
makedepends = imagemagick
makedepends = p7zip
+ makedepends = xdg-utils
depends = fluidsynth
- depends = fmodex4.26.36
+ depends = fmodex=4.26.36
depends = gtk2
depends = gxmessage
- depends = sdl
- optdepends = blasphemer: Blasphemer (free Heretic) game data
+ depends = libgme
+ depends = libsndfile
+ depends = mpg123
+ depends = openal
+ depends = sdl2
+ optdepends = blasphemer-wad: Blasphemer (free Heretic) game data
optdepends = chexquest3-wad: Chex Quest 3 game data
optdepends = doom1-wad: Doom shareware game data
optdepends = freedoom: FreeDoom game data
@@ -24,16 +34,18 @@ pkgbase = zdoom
optdepends = heretic1-wad: Heretic shareware game data
optdepends = hexen1-wad: Hexen demo game data
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
- noextract = zdoom-2.7.1-src.7z
- source = http://zdoom.org/files/zdoom/2.7/zdoom-2.7.1-src.7z
- source = doom-share-dir.patch
- source = stack-noexec.patch
- source = zdoom.desktop
- sha256sums = 7419c95cdb598882c42f8afb0f5911241b31f21f4028da19185278c984b4cf19
- sha256sums = a260c4b3be21a05a000433a160ed90f8aff64610fc60600a99c063b3ece0bfc7
- sha256sums = 17ee253f20f94b316d09de5306559c7fa1ec671ea9a1c85ae18581badb03242b
- sha256sums = 2badd2c2de643172242c441f5e4aedb8c3c6969b10a7e87f8fc83f257b64c1b0
+ noextract = zdoom-2.8.1-src.7z
+ source = http://zdoom.org/files/zdoom/2.8/zdoom-2.8.1-src.7z
+ source = desktop.template
+ source = 0001-Mark-stack-as-not-executable-in-assembler-sources.patch
+ source = 0002-Include-SHARE_DIR-in-IWADSearch.Directories.patch
+ sha256sums = 782179d4667d2e56e26e21d7a0872523f8e4262ed176072fef00d0043376a310
+ sha256sums = f2c58925238fe0d01e630527c8c4431681ccaec2d763ba075429b747d1a98a8c
+ sha256sums = e41f5b11ccd73047bdd861fa3c4568430cf4120a3175efd5498ea6f1c439d7be
+ sha256sums = e075a9a1da1dbb16c610b5d28e52ff9e941b7e3295c8fae429e865db9e0c66e4
+ makedepends_i686 = nasm
pkgname = zdoom
diff --git a/0001-Mark-stack-as-not-executable-in-assembler-sources.patch b/0001-Mark-stack-as-not-executable-in-assembler-sources.patch
new file mode 100644
index 000000000000..2c558df9498c
--- /dev/null
+++ b/0001-Mark-stack-as-not-executable-in-assembler-sources.patch
@@ -0,0 +1,116 @@
+From e56a822ef7077699d5cc06b8e3d944aeb00ee0ae Mon Sep 17 00:00:00 2001
+From: Jan Cholasta <grubber@grubber.cz>
+Date: Thu, 18 Feb 2016 10:56:03 +0100
+Subject: [PATCH] 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 b4bc529..bbde26b 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 69e7238..ddd94ec 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 00e6333..539d74d 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 e1f1668..39603fb 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 3161ff3..39233eb 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.1
+
diff --git a/0002-Include-SHARE_DIR-in-IWADSearch.Directories.patch b/0002-Include-SHARE_DIR-in-IWADSearch.Directories.patch
new file mode 100644
index 000000000000..61f18e014460
--- /dev/null
+++ b/0002-Include-SHARE_DIR-in-IWADSearch.Directories.patch
@@ -0,0 +1,24 @@
+From b502fdae8fa07c62f6f70dc48f173fd467e074ae Mon Sep 17 00:00:00 2001
+From: Jan Cholasta <grubber@grubber.cz>
+Date: Thu, 18 Feb 2016 13:34:59 +0100
+Subject: [PATCH] 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 3d396d9..c258b2d 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.1
+
diff --git a/PKGBUILD b/PKGBUILD
index cd8b14688f5a..cab60cc12255 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,16 +1,44 @@
# Maintainer: Jan Cholasta <grubber at grubber cz>
# Contributor: Andrew Rabert <arabert@nullsum.net>
-pkgname=zdoom
-pkgver=2.7.1
-pkgrel=3
-pkgdesc="An enhanced Doom port with additional support for Heretic, Hexen and Strife."
+# 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=zdoom
+pkgname=${_name}
+pkgver=2.8.1
+pkgrel=1
+_label='ZDoom'
+_desc='Advanced Doom source port'
+pkgdesc="${_desc}"
arch=('i686' 'x86_64')
-url="http://www.zdoom.org/"
-license=('custom')
-depends=('fluidsynth' 'fmodex4.26.36' 'gtk2' 'gxmessage' 'sdl')
-makedepends=('nasm' 'cmake' 'imagemagick' 'p7zip')
-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'
+ 'libgme'
+ ${_openal:+'libsndfile'}
+ ${_openal:+'mpg123'}
+ ${_openal:+'openal'}
+ 'sdl2')
+makedepends=('cmake'
+ 'desktop-file-utils'
+ 'imagemagick'
+ 'p7zip'
+ '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'
@@ -19,57 +47,124 @@ 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')
-source=(http://zdoom.org/files/zdoom/2.7/zdoom-$pkgver-src.7z \
- doom-share-dir.patch \
- stack-noexec.patch \
- zdoom.desktop)
-noextract=(zdoom-$pkgver-src.7z)
-sha256sums=('7419c95cdb598882c42f8afb0f5911241b31f21f4028da19185278c984b4cf19'
- 'a260c4b3be21a05a000433a160ed90f8aff64610fc60600a99c063b3ece0bfc7'
- '17ee253f20f94b316d09de5306559c7fa1ec671ea9a1c85ae18581badb03242b'
- '2badd2c2de643172242c441f5e4aedb8c3c6969b10a7e87f8fc83f257b64c1b0')
-
-_fmodver=4.26.36
-_libdir=/usr/lib/zdoom
-_sharedir=/usr/share/games/zdoom
+install=install
+source=("http://zdoom.org/files/${_name}/${pkgver%.${pkgver#*.*.}}/${_name}-${pkgver}-src.7z"
+ 'desktop.template'
+ '0001-Mark-stack-as-not-executable-in-assembler-sources.patch'
+ '0002-Include-SHARE_DIR-in-IWADSearch.Directories.patch')
+noextract=("${source[0]##*/}")
+_srcsubdir='.'
+sha256sums=('782179d4667d2e56e26e21d7a0872523f8e4262ed176072fef00d0043376a310'
+ 'f2c58925238fe0d01e630527c8c4431681ccaec2d763ba075429b747d1a98a8c'
+ 'e41f5b11ccd73047bdd861fa3c4568430cf4120a3175efd5498ea6f1c439d7be'
+ 'e075a9a1da1dbb16c610b5d28e52ff9e941b7e3295c8fae429e865db9e0c66e4')
prepare() {
- 7z x -y -o$pkgname-$pkgver zdoom-$pkgver-src.7z &>/dev/null
-
- cd $pkgname-$pkgver
+ 7z x -y "${source[0]##*/}" >/dev/null
- patch -p1 <"$srcdir/doom-share-dir.patch"
- patch -p1 <"$srcdir/stack-noexec.patch"
+ cd "${_srcsubdir}"
- sed -i "s|setPluginPath(progdir)|setPluginPath(\"$_libdir\")|" src/sound/fmodsound.cpp
+ local _file
+ for _file in "${source[@]}"; do
+ if [[ "${_file}" == *.patch ]]; then
+ patch -p1 <"${srcdir}/${_file}"
+ fi
+ done
}
build() {
- cd $pkgname-$pkgver
+ cd "${_srcsubdir}"
+
+ cat >"${_name}.sh" <<EOF
+#!/bin/sh
+exec /usr/lib/${_name}/${_name} "\$@"
+EOF
+
+ local _nofmod _noopenal _fmodincdir
+
+ 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]" zdoom.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 $pkgname-$pkgver
-
- install -Dm755 zdoom "$pkgdir/usr/bin/zdoom"
- install -Dm755 liboutput_sdl.so "$pkgdir/$_libdir/liboutput_sdl.so"
- install -Dm644 zdoom.pk3 "$pkgdir/$_sharedir/zdoom.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 zdoom.png "$pkgdir/usr/share/pixmaps/zdoom.png"
- install -Dm644 "$srcdir/zdoom.desktop" "$pkgdir/usr/share/applications/zdoom.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}"
+ 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
+ )
}
diff --git a/zdoom.desktop b/desktop.template
index 541805c8cbb6..172a5d7cae83 100644
--- a/zdoom.desktop
+++ b/desktop.template
@@ -1,10 +1,6 @@
[Desktop Entry]
-Encoding=UTF-8
-Version=1.0
Type=Application
-Name=ZDoom
-GenericName=Enhanced Doom Engine
-Icon=zdoom
-Exec=zdoom %F
+Version=1.0
Terminal=false
+MimeType=application/x-doom-wad;
Categories=Game;ActionGame;
diff --git a/doom-share-dir.patch b/doom-share-dir.patch
deleted file mode 100644
index 8481a8bf4ee0..000000000000
--- a/doom-share-dir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur a/src/gameconfigfile.cpp b/src/gameconfigfile.cpp
---- a/src/gameconfigfile.cpp 2013-07-03 02:47:30.000000000 +0200
-+++ b/src/gameconfigfile.cpp 2013-07-13 11:43:45.110540335 +0200
-@@ -141,6 +141,7 @@
- #else
- SetValueForKey ("Path", "~/" GAME_DIR, true);
- SetValueForKey ("Path", SHARE_DIR, true);
-+ SetValueForKey ("Path", "/usr/share/doom", true);
- #endif
- }
-
diff --git a/install b/install
new file mode 100644
index 000000000000..a3292a2070bc
--- /dev/null
+++ b/install
@@ -0,0 +1,16 @@
+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/stack-noexec.patch b/stack-noexec.patch
deleted file mode 100644
index f9f76470c1d8..000000000000
--- a/stack-noexec.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-diff -ur a/src/asm_ia32/a.asm b/src/asm_ia32/a.asm
---- a/src/asm_ia32/a.asm 2013-07-03 02:47:30.000000000 +0200
-+++ b/src/asm_ia32/a.asm 2013-07-13 11:44:21.263874289 +0200
-@@ -810,3 +810,13 @@
- 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 -ur a/src/asm_ia32/misc.asm b/src/asm_ia32/misc.asm
---- a/src/asm_ia32/misc.asm 2013-07-03 02:47:30.000000000 +0200
-+++ b/src/asm_ia32/misc.asm 2013-07-13 11:44:21.263874289 +0200
-@@ -198,3 +198,13 @@
- 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 -ur a/src/asm_ia32/tmap.asm b/src/asm_ia32/tmap.asm
---- a/src/asm_ia32/tmap.asm 2013-07-03 02:47:30.000000000 +0200
-+++ b/src/asm_ia32/tmap.asm 2013-07-13 11:44:21.263874289 +0200
-@@ -1891,3 +1891,13 @@
- 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 -ur a/src/asm_ia32/tmap2.asm b/src/asm_ia32/tmap2.asm
---- a/src/asm_ia32/tmap2.asm 2013-07-03 02:47:30.000000000 +0200
-+++ b/src/asm_ia32/tmap2.asm 2013-07-13 11:44:21.263874289 +0200
-@@ -638,3 +638,13 @@
- 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 -ur a/src/asm_ia32/tmap3.asm b/src/asm_ia32/tmap3.asm
---- a/src/asm_ia32/tmap3.asm 2013-07-03 02:47:30.000000000 +0200
-+++ b/src/asm_ia32/tmap3.asm 2013-07-13 11:44:21.263874289 +0200
-@@ -342,3 +342,13 @@
- 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 -ur a/src/asm_x86_64/tmap3.s b/src/asm_x86_64/tmap3.s
---- a/src/asm_x86_64/tmap3.s 2013-07-03 02:47:30.000000000 +0200
-+++ b/src/asm_x86_64/tmap3.s 2013-07-13 11:46:03.960542714 +0200
-@@ -139,3 +139,4 @@
- .align 16
-
-
-+ .section .note.GNU-stack,"",@progbits