summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2021-07-16 22:27:17 -0400
committerIonen Wolkens <ionen@gentoo.org>2021-07-17 03:58:48 -0400
commitf419801b327bce7a56f79c4b97c1f4e47141f202 (patch)
tree49e4e7a47b23bbe59692afa85e62aaea27098aab /games-puzzle/xlogical
parentgames-puzzle/xlogical: tidy metadata, remove redundant description (diff)
downloadgentoo-f419801b327bce7a56f79c4b97c1f4e47141f202.tar.gz
gentoo-f419801b327bce7a56f79c4b97c1f4e47141f202.tar.bz2
gentoo-f419801b327bce7a56f79c4b97c1f4e47141f202.zip
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@gentoo.org>
Diffstat (limited to 'games-puzzle/xlogical')
-rw-r--r--games-puzzle/xlogical/Manifest2
-rw-r--r--games-puzzle/xlogical/files/xlogical-1.0.8-gcc11.patch12
-rw-r--r--games-puzzle/xlogical/files/xlogical-1.0.8-gcc4.3.patch36
-rw-r--r--games-puzzle/xlogical/xlogical-1.0.8.ebuild61
4 files changed, 111 insertions, 0 deletions
diff --git a/games-puzzle/xlogical/Manifest b/games-puzzle/xlogical/Manifest
index 3c5c1d11cb28..ced2bdce6d05 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 000000000000..f225d41fea0e
--- /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 000000000000..967754265f46
--- /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 000000000000..d0cd804016ba
--- /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"
+}