summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatej Groma2022-05-08 14:47:46 +0200
committerMatej Groma2022-05-08 14:52:37 +0200
commit64f90aa74a2534444f3e4e8ab68eb9be08077db0 (patch)
tree3a33a9cfb412cf35048a3c2b96278618a0a1503b
parentb6467ab19c8ebef562ed495d09e996dd5b4db4e8 (diff)
downloadaur-enigma_sdl.tar.gz
Upgrade to version 1.30
Also add patch to fix invalid memory access occurring with older compiler or runtime (not sure about the exact cause). Signed-off-by: Matej Groma <sbovdvvnir68a8hftegth9whs+arch-aur@matejgroma.com>
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD24
-rw-r--r--fix_invalid_access.patch13
-rw-r--r--src_Value.cc.patch15
-rw-r--r--src_client.cc.patch12
-rw-r--r--src_lev_Proxy.cc.patch11
6 files changed, 33 insertions, 62 deletions
diff --git a/.SRCINFO b/.SRCINFO
index cf166f59743a..040fec617be8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = enigma_sdl
pkgdesc = Puzzle game inspired by Oxyd on the Atari ST and Rock'n'Roll on the Amiga.
- pkgver = 1.21
- pkgrel = 4
+ pkgver = 1.30
+ pkgrel = 1
url = http://www.nongnu.org/enigma/
arch = i686
arch = x86_64
@@ -16,14 +16,12 @@ pkgbase = enigma_sdl
depends = xdg-utils
depends = curl
depends = hicolor-icon-theme
- source = http://downloads.sourceforge.net/enigma-game/enigma-1.21.tar.gz
- source = src_client.cc.patch
- source = src_lev_Proxy.cc.patch
- source = src_Value.cc.patch
- sha256sums = d872cf067d8eb560d3bb1cb17245814bc56ac3953ae1f12e2229c8eb6f82ce01
- sha256sums = 0d4ec33182e481b6856ceb029b1f144b8c31b0902e8f49ceb08093a66fe67304
- sha256sums = b27c2f114bbf76a3a0f7032380db885bdb3983e2a2a4648aed520c1b066e5aad
- sha256sums = 4899aa6f7f965deb441840400b42d6fda65ea6e44c7fb131521db9a4e6fb4f2f
+ depends = sdl2_ttf
+ depends = sdl2_mixer
+ depends = sdl2_image
+ source = https://github.com/Enigma-Game/Enigma/releases/download/1.30/Enigma-1.30-src.tar.gz
+ source = fix_invalid_access.patch
+ sha256sums = ae64b91fbc2b10970071d0d78ed5b4ede9ee3868de2e6e9569546fc58437f8af
+ sha256sums = 61709cbf9fe420d062fb8b24e56a6165242626f4f211bf798ee90155a0208bb2
pkgname = enigma_sdl
-
diff --git a/PKGBUILD b/PKGBUILD
index 73bddb8b4cc1..3a634f81de79 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,26 +1,24 @@
+# Maintainer: Matej Groma <sbovdvvnir68a8hftegth9whs+arch-aur@matejgroma.com>
# Contributor: Nagy Gabor <Gabor.V.Nagy@@gmail.com>
pkgname=enigma_sdl
-pkgver=1.21
-pkgrel=4
+pkgver=1.30
+pkgrel=1
pkgdesc="Puzzle game inspired by Oxyd on the Atari ST and Rock'n'Roll on the Amiga."
url="http://www.nongnu.org/enigma/"
-depends=('libpng' 'sdl_image' 'sdl_mixer' 'sdl_ttf' 'xerces-c' 'xdg-utils' 'curl' 'hicolor-icon-theme')
+depends=('libpng' 'sdl_image' 'sdl_mixer' 'sdl_ttf' 'xerces-c' 'xdg-utils' 'curl' 'hicolor-icon-theme'
+ 'sdl2_ttf' 'sdl2_mixer' 'sdl2_image')
makedepends=('imagemagick' 'pkgconf')
-source=(http://downloads.sourceforge.net/enigma-game/enigma-$pkgver.tar.gz
- src_client.cc.patch src_lev_Proxy.cc.patch src_Value.cc.patch)
-sha256sums=('d872cf067d8eb560d3bb1cb17245814bc56ac3953ae1f12e2229c8eb6f82ce01'
- '0d4ec33182e481b6856ceb029b1f144b8c31b0902e8f49ceb08093a66fe67304'
- 'b27c2f114bbf76a3a0f7032380db885bdb3983e2a2a4648aed520c1b066e5aad'
- '4899aa6f7f965deb441840400b42d6fda65ea6e44c7fb131521db9a4e6fb4f2f')
+source=(https://github.com/Enigma-Game/Enigma/releases/download/$pkgver/Enigma-$pkgver-src.tar.gz
+ fix_invalid_access.patch)
+sha256sums=('ae64b91fbc2b10970071d0d78ed5b4ede9ee3868de2e6e9569546fc58437f8af'
+ '61709cbf9fe420d062fb8b24e56a6165242626f4f211bf798ee90155a0208bb2')
license=('GPL')
arch=('i686' 'x86_64')
build() {
- CXXFLAGS+=" -std=gnu++11 -Wno-deprecated-declarations"
+ CXXFLAGS+=" -std=gnu++14 -Wno-deprecated-declarations -Wno-format-security"
cd $srcdir/enigma-$pkgver
- patch -Np1 -i $srcdir/src_client.cc.patch
- patch -Np0 -i $srcdir/src_lev_Proxy.cc.patch
- patch -Np0 -i $srcdir/src_Value.cc.patch
+ patch -Np1 -i $srcdir/fix_invalid_access.patch
autoconf
./configure --prefix=/usr --program-suffix=_sdl --sysconfdir=/etc --disable-sdltest --enable-optimize
make
diff --git a/fix_invalid_access.patch b/fix_invalid_access.patch
new file mode 100644
index 000000000000..a5b83fc5d208
--- /dev/null
+++ b/fix_invalid_access.patch
@@ -0,0 +1,13 @@
+--- a/lib-src/zipios++/zipios++/zipheadio.h 2021-06-18 22:04:12.000000000 +0200
++++ b/lib-src/zipios++/zipios++/zipheadio.h 2022-05-08 13:58:16.936444854 +0200
+@@ -150,7 +150,9 @@
+ }
+
+ inline void writeByteSeq ( ostream &os, const vector < unsigned char > &vec ) {
+- os.rdbuf()->sputn( reinterpret_cast< const char * >( &( vec[ 0 ] ) ), vec.size() ) ;
++ if ( vec.size () != 0 ) {
++ os.rdbuf()->sputn( reinterpret_cast< const char * >( &( vec[ 0 ] ) ), vec.size() ) ;
++ }
+ }
+
+ istream& operator>> ( istream &is, ZipLocalEntry &zlh ) ;
diff --git a/src_Value.cc.patch b/src_Value.cc.patch
deleted file mode 100644
index 885c8f0c78fc..000000000000
--- a/src_Value.cc.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/Value.cc.orig 2017-09-03 15:39:37 UTC
-+++ src/Value.cc
-@@ -146,10 +146,10 @@ namespace enigma {
- val.str[0] = 0;
- break;
- case BOOL :
-- val.dval[0] = false;
-+ val.dval[0] = 0;
- break;
- case OBJECT :
-- val.dval[0] = (double) NULL;
-+ val.dval[0] = 0;
- break;
- case NAMEDOBJECT:
- ASSERT(false, XLevelRuntime, "Value: illegal type usage");
diff --git a/src_client.cc.patch b/src_client.cc.patch
deleted file mode 100644
index 48d989470ff9..000000000000
--- a/src_client.cc.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/client.cc
-+++ b/src/client.cc
-@@ -208,8 +208,8 @@ void Client::handle_events() {
- case SDL_MOUSEBUTTONUP: on_mousebutton(e); break;
- case SDL_ACTIVEEVENT: {
- update_mouse_button_state();
-- if (e.active.gain == 0 && !video::IsFullScreen())
-- show_menu(false);
-+// if (e.active.gain == 0 && !video::IsFullScreen())
-+// show_menu(false);
- break;
- }
diff --git a/src_lev_Proxy.cc.patch b/src_lev_Proxy.cc.patch
deleted file mode 100644
index 4ba1676e9f75..000000000000
--- a/src_lev_Proxy.cc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/lev/Proxy.cc.orig 2017-09-03 15:54:50 UTC
-+++ src/lev/Proxy.cc
-@@ -933,7 +933,7 @@ namespace enigma { namespace lev {
- } else if (haveLocalCopy) {
- // plain file
- basic_ifstream<char> ifs(absExtPath.c_str(), ios::binary | ios::in);
-- if (ifs != NULL)
-+ if (ifs)
- Readfile(ifs, extCode);
- else
- haveLocalCopy = false;