commit:     f419801b327bce7a56f79c4b97c1f4e47141f202
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 17 02:27:17 2021 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sat Jul 17 07:58:48 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f419801b

games-puzzle/xlogical: add 1.0.8, remove alt_gfx, gcc11 fix

"New" version (from 2006) now uses the alt_gfx pack by default.
There's no pack to revert old style (fixes bug #695084).

Been broken with gcc11 because of "pointer >= 0" (no bug report).

Also:
* added icon
* edos2unix removed as it was only used to ease patching
* rebased and slightly adjusted gcc4.3 patch due to the above
* fixed executable not being gamestat group + relocated score file

Closes: https://bugs.gentoo.org/695084
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 games-puzzle/xlogical/Manifest                     |  2 +
 .../xlogical/files/xlogical-1.0.8-gcc11.patch      | 12 +++++
 .../xlogical/files/xlogical-1.0.8-gcc4.3.patch     | 36 +++++++++++++
 games-puzzle/xlogical/xlogical-1.0.8.ebuild        | 61 ++++++++++++++++++++++
 4 files changed, 111 insertions(+)

diff --git a/games-puzzle/xlogical/Manifest b/games-puzzle/xlogical/Manifest
index 3c5c1d11cb2..ced2bdce6d0 100644
--- a/games-puzzle/xlogical/Manifest
+++ b/games-puzzle/xlogical/Manifest
@@ -1,2 +1,4 @@
 DIST xlogical-1.0-7.tar.bz2 1853575 BLAKE2B 
6f78f92a14313cf65f171b99c28a4377f7685bf73705a91b92fcf370ad1f3555b7aefe99e6004aa32c62cf8b71f2d754d64acadf3bda345cc8cf3e3f91647d02
 SHA512 
b47aadff91a7d3057fe8657bdda5c16a910f84f6d324bee82f1beba55de7faf6a599231c8d53ed68cc30f9edfe18f57f31dfc9fe06b8e03fa6120905f37c290d
+DIST xlogical-1.0-8.tar.bz2 1789699 BLAKE2B 
5d33cc7345c43a21bea8e899e36c87ccf57752f8b96aaa52b61a9042f6531adf6944dff9e57684a86a0f759a8e4e24253618fc2c2e3cdd3c70d20a9cb0a27398
 SHA512 
3cbba38c430b1f2a6786d1d6893249812e75941fd7ab336ca5d111ec526ef61bb7e09d5365dbcaae23f32a336d8ab840c0e343656054d252043c6c7962b39d18
+DIST xlogical.png 4477 BLAKE2B 
276abddabc3b26c7b9a3322e34079073a517ae1c7477307ff3429739eb3a88f9cc23dc0e3c637cf0a7aed13c9cf5cf12b40cb8858eaa0c67246d5d1bf746dedf
 SHA512 
761953cc61bf1cea1b0d306006b71cabee800c6ea74aae4ed31f2fcf2e5cb9fa672c6c226c5444ab6b0af858a54522dafe0a1eb0351bb0c9f359fa447d0fbfa0
 DIST xlogical_gfx.zip 347801 BLAKE2B 
b9c2f963e8ddc5af9fcd7adac691a71c6ee12bc3b3164ce243d076f85c36044b4aa523d27c5dd1480388ff97356ddabd3c7f2c4d223aeeff1a8660fc7c595995
 SHA512 
14322ae1c8fb7f50513ef47e05372c5dc1ec1b658b33c53477e6b05bbee1de0250b21127891f205d16adc386e7ce37c4b834a62794ee105754b97e49eb5d2a42

diff --git a/games-puzzle/xlogical/files/xlogical-1.0.8-gcc11.patch 
b/games-puzzle/xlogical/files/xlogical-1.0.8-gcc11.patch
new file mode 100644
index 00000000000..f225d41fea0
--- /dev/null
+++ b/games-puzzle/xlogical/files/xlogical-1.0.8-gcc11.patch
@@ -0,0 +1,12 @@
+--- a/sdl_audio.cpp
++++ b/sdl_audio.cpp
+@@ -60,3 +60,3 @@
+ 
+-      for( end=aPath+len; end >= 0; end-=1 )
++      for( end=aPath+len; end >= aPath; end-=1 )
+       {
+@@ -64,3 +64,3 @@
+       }
+-      for( start=end; start >= 0; start-=1 )
++      for( start=end; start >= aPath; start-=1 )
+       {

diff --git a/games-puzzle/xlogical/files/xlogical-1.0.8-gcc4.3.patch 
b/games-puzzle/xlogical/files/xlogical-1.0.8-gcc4.3.patch
new file mode 100644
index 00000000000..967754265f4
--- /dev/null
+++ b/games-puzzle/xlogical/files/xlogical-1.0.8-gcc4.3.patch
@@ -0,0 +1,36 @@
+--- a/gamelogic.cpp
++++ b/gamelogic.cpp
+@@ -27,2 +27,3 @@
+ #include<cctype>
++#include<cstdlib>
+ 
+@@ -156,3 +157,3 @@
+ 
+-      currentMap = NULL;
++      currentMap = (list< class Clevel_map *>::iterator)NULL;
+ 
+--- a/levelmap.cpp
++++ b/levelmap.cpp
+@@ -28,2 +28,3 @@
+ #include <iostream>
++#include <cstdlib>
+ 
+--- a/mapedit.cpp
++++ b/mapedit.cpp
+@@ -28,2 +28,4 @@
+ #include<vector>
++#include<cstring>
++#include<cstdlib>
+ 
+--- a/modlist.cpp
++++ b/modlist.cpp
+@@ -24,2 +24,3 @@
+ #include <fstream>
++#include <cstdlib>
+ 
+--- a/tile_spinner.cpp
++++ b/tile_spinner.cpp
+@@ -25,2 +25,3 @@
+ 
++#include <cstdlib>
+ // Application Includes

diff --git a/games-puzzle/xlogical/xlogical-1.0.8.ebuild 
b/games-puzzle/xlogical/xlogical-1.0.8.ebuild
new file mode 100644
index 00000000000..d0cd804016b
--- /dev/null
+++ b/games-puzzle/xlogical/xlogical-1.0.8.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools desktop
+
+MY_P="${PN}-$(ver_rs 2 -)"
+
+DESCRIPTION="Puzzle game based on the Logical! game released on the Commodore 
Amiga"
+HOMEPAGE="https://changeling.ixionstudios.com/xlogical/";
+SRC_URI="
+       https://changeling.ixionstudios.com/xlogical/downloads/${MY_P}.tar.bz2
+       https://dev.gentoo.org/~ionen/distfiles/${PN}.png";
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+       acct-group/gamestat
+       media-libs/libsdl[sound,video]
+       media-libs/sdl-image[jpeg]
+       media-libs/sdl-mixer[mod]"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-gcc4.3.patch
+       "${FILESDIR}"/${P}-gcc11.patch
+)
+
+src_prepare() {
+       default
+
+       sed -e "/^CXXFLAGS/d" \
+               -e "s|@localstatedir@/xlogical|${EPREFIX}/var/games|" \
+               -i Makefile.am || die
+
+       eautoreconf
+}
+
+src_install() {
+       dobin ${PN}
+
+       insinto /usr/share/${PN}
+       doins -r ${PN}.{properties,levels} images music sound
+       find "${ED}" -name "Makefile*" -delete || die
+
+       insinto /var/games
+       doins ${PN}.scores
+
+       fowners :gamestat /usr/bin/${PN} /var/games/${PN}.scores
+       fperms g+s /usr/bin/${PN}
+       fperms 660 /var/games/${PN}.scores
+
+       einstalldocs
+
+       doicon "${DISTDIR}"/${PN}.png
+       make_desktop_entry ${PN} "XLogical"
+}

Reply via email to