summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorprofessorkaos642016-12-21 09:25:08 -0500
committerprofessorkaos642016-12-21 09:25:08 -0500
commit43a67ecae7eb0c849708fe380c6eae7c329da40e (patch)
tree45bca7f645b83814d97a4aaeb1c71e2cc1094d05
parent0629eea94a180596470eea9c245091c178e77a6f (diff)
downloadaur-43a67ecae7eb0c849708fe380c6eae7c329da40e.tar.gz
add some patches for linux build
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD25
-rw-r--r--disable-asmcse-opt.patch35
-rw-r--r--disable-offending-shell-code.patch12
-rw-r--r--hard-code-svn-revision.patch12
5 files changed, 87 insertions, 5 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 47589ffecac9..c828e88faf7d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = doomrl-git
pkgdesc = Doom: The Rogue-like (git-latest) (WIP!).
pkgver = r8.0cbac80
- pkgrel = 5
+ pkgrel = 6
url = http://drl.chaosforge.org/
arch = any
license = GPL3
@@ -16,9 +16,15 @@ pkgbase = doomrl-git
source = doomrl-git::git+https://github.com/ChaosForge/doomrl
source = fpcvalkyrie::git+https://github.com/ChaosForge/fpcvalkyrie
source = http://www.libregeek.org/Linux/game-files/doomrl/doomrl-linux-assets-x64-0997.tar
+ source = disable-asmcse-opt.patch
+ source = disable-offending-shell-code.patch
+ source = hard-code-svn-revision.patch
sha256sums = SKIP
sha256sums = SKIP
sha256sums = 590c28b4e7f655e23c01bca0b2f9ddf9b8dd024f3a8b7ac5ec65d79877a6450b
+ sha256sums = 1844d4698da23f31276f71e2fdd369959b41eac0b69677a147bd534b9c32b5ce
+ sha256sums = 439de08ce548b0dc7ff6ba31ace7f375a1e6f0ebac32addf8a05d3d31283e192
+ sha256sums = e57148577e3152c99a61adb7ae841272491b7be62b168b8d62ee73b322b37418
pkgname = doomrl-git
diff --git a/PKGBUILD b/PKGBUILD
index c8354baf7a0e..295671cf41c1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=doomrl-git
pkgver=r8.0cbac80
doomrl_assets='doomrl-linux-assets-x64-0997'
-pkgrel=5
+pkgrel=6
pkgdesc="Doom: The Rogue-like (git-latest) (WIP!)."
arch=(any)
url="http://drl.chaosforge.org/"
@@ -13,23 +13,35 @@ makedepends=('git' 'fpc-svn' 'lua')
source=("$pkgname::git+https://github.com/ChaosForge/doomrl"
"fpcvalkyrie::git+https://github.com/ChaosForge/fpcvalkyrie"
"http://www.libregeek.org/Linux/game-files/doomrl/${doomrl_assets}.tar"
+ 'disable-asmcse-opt.patch'
+ 'disable-offending-shell-code.patch'
+ 'hard-code-svn-revision.patch'
)
sha256sums=('SKIP'
'SKIP'
'590c28b4e7f655e23c01bca0b2f9ddf9b8dd024f3a8b7ac5ec65d79877a6450b'
+ '1844d4698da23f31276f71e2fdd369959b41eac0b69677a147bd534b9c32b5ce'
+ '439de08ce548b0dc7ff6ba31ace7f375a1e6f0ebac32addf8a05d3d31283e192'
+ 'e57148577e3152c99a61adb7ae841272491b7be62b168b8d62ee73b322b37418'
)
prepare()
{
- # fpcvalkyrie is harcoded from Makefile to look a level up
- # from doomrl/makeifle.lua ...
- cp -ru $srcdir/fpcvalkyrie $srcdir/$pkgname
+ # clean
+ find "$srcdir/$pkgname" "$srcdir/fpcvalkyrie" \
+ '(' -iname '*.o' -or -iname '*.ppu' ')' -exec rm -f '{}' ';'
# assets
cp -ru "$srcdir/$doomrl_assets/mp3"/* "$srcdir/$pkgname/bin/mp3"
cp -ru "$srcdir/$doomrl_assets/wavhq"/* "$srcdir/$pkgname/bin/wavhq"
+ # patch
+ cd "${srcdir}"
+ patch -p1 < disable-asmcse-opt.patch
+ patch -p1 < disable-offending-shell-code.patch
+ patch -p1 < hard-code-svn-revision.patch
+
}
pkgver() {
@@ -42,8 +54,13 @@ build()
cd $srcdir/$pkgname
rm -rf tmp && mkdir tmp
+
+ # add Linux config
+ echo "OS=\"LINUX\"" > "$srcdir/$pkgname/config.lua"
+ echo "VALKYRIE_ROOT=\"$srcdir/fpcvalkyrie/\"" >> "$srcdir/$pkgname/config.lua"
lua makefile.lua hq
+
}
package() {
diff --git a/disable-asmcse-opt.patch b/disable-asmcse-opt.patch
new file mode 100644
index 000000000000..4b1e2eaf46bf
--- /dev/null
+++ b/disable-asmcse-opt.patch
@@ -0,0 +1,35 @@
+diff -ruN src.orig/doomrl-git/src/doomrl.inc src/doomrl-git/src/doomrl.inc
+--- src.orig/doomrl-git/src/doomrl.inc 2016-12-21 09:10:24.713011262 -0500
++++ src/doomrl-git/src/doomrl.inc 2016-12-21 09:08:53.035649390 -0500
+@@ -2,13 +2,13 @@
+ {$INTERFACES CORBA}
+ {$COPERATORS ON}
+ {$INLINE ON}
++{ASMCSE OFF}
+
+ {$IFNDEF WINDOWS}
+ {$OPTIMIZATION OFF}
+ {.$OPTIMIZATION REGVAR}
+ {$OPTIMIZATION STACKFRAME}
+ {$OPTIMIZATION PEEPHOLE}
+- {$OPTIMIZATION ASMCSE}
+ {$OPTIMIZATION LOOPUNROLL}
+ {$OPTIMIZATION CSE}
+ {.$OPTIMIZATION DFA}
+diff -ruN src.orig/fpcvalkyrie/src/valkyrie.inc src/fpcvalkyrie/src/valkyrie.inc
+--- src.orig/fpcvalkyrie/src/valkyrie.inc 2016-12-21 09:10:08.592888936 -0500
++++ src/fpcvalkyrie/src/valkyrie.inc 2016-12-21 09:08:53.038982749 -0500
+@@ -4,12 +4,12 @@
+ {$COPERATORS ON}
+ {$MACRO ON}
+ {$INLINE ON}
++{ASMCSE OFF}
+
+ {$IFNDEF WINDOWS}
+ {$OPTIMIZATION OFF}
+ {.$OPTIMIZATION REGVAR}
+ {$OPTIMIZATION PEEPHOLE}
+- {$OPTIMIZATION ASMCSE}
+ {$OPTIMIZATION LOOPUNROLL}
+ {$OPTIMIZATION CSE}
+ {$OPTIMIZATION DFA}
diff --git a/disable-offending-shell-code.patch b/disable-offending-shell-code.patch
new file mode 100644
index 000000000000..f7cb896158ff
--- /dev/null
+++ b/disable-offending-shell-code.patch
@@ -0,0 +1,12 @@
+diff -ruN src.orig/fpcvalkyrie/src/vtextio.pas src/fpcvalkyrie/src/vtextio.pas
+--- src.orig/fpcvalkyrie/src/vtextio.pas 2016-12-21 09:02:25.722725632 -0500
++++ src/fpcvalkyrie/src/vtextio.pas 2016-12-21 09:14:21.148142771 -0500
+@@ -284,7 +284,7 @@
+ try if FMouse then DoneMouse; except on Exception do end;
+ try DoneVideo except on Exception do end;
+ //Unknown to myself, I have no clue why I get an access violation here...
+- {$IFDEF UNIX}Shell('reset');{$ENDIF}
++// {$IFDEF UNIX}Shell('reset');{$ENDIF}
+ inherited Destroy;
+ end;
+
diff --git a/hard-code-svn-revision.patch b/hard-code-svn-revision.patch
new file mode 100644
index 000000000000..21804326dfd3
--- /dev/null
+++ b/hard-code-svn-revision.patch
@@ -0,0 +1,12 @@
+diff -ruN src.orig/fpcvalkyrie/scripts/lua_make.lua src/fpcvalkyrie/scripts/lua_make.lua
+--- src.orig/fpcvalkyrie/scripts/lua_make.lua 2016-12-21 09:02:25.719392273 -0500
++++ src/fpcvalkyrie/scripts/lua_make.lua 2016-12-21 09:13:00.747530463 -0500
+@@ -319,7 +319,7 @@
+ VERSION_STRING = '{!string}';
+ VERSION_ARRAY : array[1..{!length}] of byte = ({!array});
+ VERSION_BETA = {!beta};
+-VERSION_REV = {!revision};
++VERSION_REV = 1;
+ ]]
+ make.write_file( target, text, subs )
+ end