summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Swanson2016-09-28 12:30:43 -0700
committerMike Swanson2016-09-28 12:30:43 -0700
commiteefa1bf8492461a9838a0c81113f89f034c21d1b (patch)
treeb59a34e7508a652eae3a56ee85ca866863cf1a19
parent9695ac8ab302ec354f23198f29c014d79ccb9967 (diff)
downloadaur-eefa1bf8492461a9838a0c81113f89f034c21d1b.tar.gz
Backport the patch to load Freedoom in Eternity correctly
Also, switching to use GitHub for the source download. Lines in the Zip are in DOS format and I don't know if there are other differences.
-rw-r--r--.SRCINFO10
-rw-r--r--.gitignore2
-rw-r--r--0001-Fix-wrong-Freedoom-IWAD-detection-fixes-7.patch73
-rw-r--r--PKGBUILD22
4 files changed, 98 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 051460d3b4e8..c6ab6f847f26 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Sun Jul 17 00:39:19 UTC 2016
+# Wed Sep 28 19:30:02 UTC 2016
pkgbase = eternity-engine
pkgdesc = An advanced Doom port with vanilla compatibility
pkgver = 3.40.46
- pkgrel = 4
+ pkgrel = 5
url = http://eternity.youfailit.net/
arch = i686
arch = x86_64
@@ -13,8 +13,10 @@ pkgbase = eternity-engine
depends = sdl_mixer
depends = sdl_net
depends = zlib
- source = http://eternity.mancubus.net/ee-3.40.46-src.zip
- sha256sums = 27c49450fb814c4d9c81e5f2895cbd825f9c7a9f3d024e824ed6feb70ef6965c
+ source = https://github.com/team-eternity/eternity/archive/3.40.46.tar.gz
+ source = 0001-Fix-wrong-Freedoom-IWAD-detection-fixes-7.patch
+ sha256sums = 6479c127bdc1986421d0daa821131d21bd3d95621c4181d3528f1efe14c0084b
+ sha256sums = f708c5838e7415e21e0ba4e7c1c01305dca5854f65159989e1fdb06c6f5d9658
pkgname = eternity-engine
diff --git a/.gitignore b/.gitignore
index 376a69d6c613..665307854be8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
*.pkg.tar*
*.src.tar*
-*.zip
+*.gz
src
pkg
diff --git a/0001-Fix-wrong-Freedoom-IWAD-detection-fixes-7.patch b/0001-Fix-wrong-Freedoom-IWAD-detection-fixes-7.patch
new file mode 100644
index 000000000000..6ff00dfdaafc
--- /dev/null
+++ b/0001-Fix-wrong-Freedoom-IWAD-detection-fixes-7.patch
@@ -0,0 +1,73 @@
+From 2dabf254717a54dea6db4dbdbac3f5ea7b6aa171 Mon Sep 17 00:00:00 2001
+From: Max Waine <bobishmax@hotmail.com>
+Date: Wed, 28 Sep 2016 16:14:22 +0100
+Subject: [PATCH] Fix wrong Freedoom IWAD detection (fixes #7)
+
+---
+ source/d_findiwads.cpp | 8 +++++++-
+ source/d_iwad.cpp | 3 +++
+ source/d_iwad.h | 1 +
+ 3 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/source/d_findiwads.cpp b/source/d_findiwads.cpp
+index 765e5fb..bb9ec64 100644
+--- a/source/d_findiwads.cpp
++++ b/source/d_findiwads.cpp
+@@ -491,6 +491,7 @@ static void D_determineIWADVersion(const qstring &fullpath)
+ version.gamemission = none;
+ version.hassecrets = false;
+ version.freedoom = false;
++ version.freedm = false;
+ version.bfgedition = false;
+ version.error = false;
+ version.flags = IWADF_NOERRORS;
+@@ -524,7 +525,12 @@ static void D_determineIWADVersion(const qstring &fullpath)
+ case commercial: // DOOM II
+ if(version.freedoom)
+ {
+- if(PATHEMPTY(gi_path_fdoom)) // FreeDoom
++ if(version.freedm)
++ {
++ if(PATHEMPTY(gi_path_freedm)) // FreeDM
++ var = &gi_path_freedm;
++ }
++ else if(PATHEMPTY(gi_path_fdoom)) // FreeDoom
+ var = &gi_path_fdoom;
+ }
+ else
+diff --git a/source/d_iwad.cpp b/source/d_iwad.cpp
+index ef20c30..85ca49a 100644
+--- a/source/d_iwad.cpp
++++ b/source/d_iwad.cpp
+@@ -860,6 +860,8 @@ void D_CheckIWAD(const char *iwadname, iwadcheck_t &version)
+ ++sosr;
+ else if(!lumpnamecmp(n, "FREEDOOM"))
+ version.freedoom = true;
++ else if(!lumpnamecmp(n, "FREEDM")) // Needed to discern freedm from freedoom2
++ version.freedm = true;
+ else if(!lumpnamecmp(n, "HACX-R"))
+ ++hacx;
+ else if(!lumpnamecmp(n, "M_ACPT" ) || // haleyjd 11/03/12: BFG Edition
+@@ -1369,6 +1371,7 @@ static void D_identifyIWAD()
+ version.gamemission = none;
+ version.hassecrets = false;
+ version.freedoom = false;
++ version.freedm = false;
+ version.bfgedition = false;
+ version.error = false;
+ version.flags = IWADF_FATALNOTOPEN | IWADF_FATALNOTWAD;
+diff --git a/source/d_iwad.h b/source/d_iwad.h
+index f50ca5c..38e8538 100644
+--- a/source/d_iwad.h
++++ b/source/d_iwad.h
+@@ -55,6 +55,7 @@ struct iwadcheck_t
+ GameMission_t gamemission;
+ bool hassecrets;
+ bool freedoom;
++ bool freedm;
+ bool bfgedition;
+ };
+
+--
+2.10.0
+
diff --git a/PKGBUILD b/PKGBUILD
index 566697153a33..2614d382b473 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,21 +2,35 @@
pkgname=eternity-engine
pkgver=3.40.46
-pkgrel=4
+pkgrel=5
pkgdesc="An advanced Doom port with vanilla compatibility"
url="http://eternity.youfailit.net/"
arch=('i686' 'x86_64')
license=('GPL3')
depends=('sdl' 'sdl_mixer' 'sdl_net' 'zlib')
makedepends=('cmake')
-source=(http://eternity.mancubus.net/ee-$pkgver-src.zip)
-sha256sums=('27c49450fb814c4d9c81e5f2895cbd825f9c7a9f3d024e824ed6feb70ef6965c')
+source=(https://github.com/team-eternity/eternity/archive/$pkgver.tar.gz
+ 0001-Fix-wrong-Freedoom-IWAD-detection-fixes-7.patch)
+sha256sums=('6479c127bdc1986421d0daa821131d21bd3d95621c4181d3528f1efe14c0084b'
+ 'f708c5838e7415e21e0ba4e7c1c01305dca5854f65159989e1fdb06c6f5d9658')
+
+prepare() {
+ cd "eternity-$pkgver"
+
+ for patch in ../*.patch; do
+ if [ ! -f "$patch" ]; then
+ break;
+ else
+ patch -p1 -i "$patch"
+ fi
+ done
+}
build() {
# Cannot do in-tree build.
mkdir "ee-build"
cd "ee-build"
- cmake ../ee-$pkgver-src -DCMAKE_INSTALL_PREFIX=/usr
+ cmake ../eternity-$pkgver -DCMAKE_INSTALL_PREFIX=/usr
make
}