summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2021-06-09 09:39:02 -0400
committerIonen Wolkens <ionen@gentoo.org>2021-06-10 07:51:42 -0400
commitdfffb12847f492c5e489ae5457890b8fc7c45d79 (patch)
tree4936f463df03d811643c9ed4a6a4ae71455d3906 /games-kids/tuxmath
parentdev-games/t4k-common: svg, text, and build fix (diff)
downloadgentoo-dfffb12847f492c5e489ae5457890b8fc7c45d79.tar.gz
gentoo-dfffb12847f492c5e489ae5457890b8fc7c45d79.tar.bz2
gentoo-dfffb12847f492c5e489ae5457890b8fc7c45d79.zip
games-kids/tuxmath: EAPI-7, -fno-common, and crash fix
Two causes of crashes, mismatch with t4k-common is exposed by gcc10+ (blits-to-tmblits patch), and bug #763591 is fixed in >=t4k-common-0.1.1-r1 which now depend on. Thanks to Samuel Bauer for pointing out -fno-common fix Closes: https://bugs.gentoo.org/763591 Closes: https://bugs.gentoo.org/795069 Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'games-kids/tuxmath')
-rw-r--r--games-kids/tuxmath/files/tuxmath-2.0.3-blits-to-tmblits.patch36
-rw-r--r--games-kids/tuxmath/files/tuxmath-2.0.3-fno-common.patch8
-rw-r--r--games-kids/tuxmath/tuxmath-2.0.3-r2.ebuild62
3 files changed, 106 insertions, 0 deletions
diff --git a/games-kids/tuxmath/files/tuxmath-2.0.3-blits-to-tmblits.patch b/games-kids/tuxmath/files/tuxmath-2.0.3-blits-to-tmblits.patch
new file mode 100644
index 000000000000..ff6e875d62f0
--- /dev/null
+++ b/games-kids/tuxmath/files/tuxmath-2.0.3-blits-to-tmblits.patch
@@ -0,0 +1,36 @@
+Fixes immediate crash on titlescreen with gcc10+
+Patch from debian:
+https://bugs.debian.org/986623
+--- a/src/titlescreen.c
++++ b/src/titlescreen.c
+@@ -57,3 +57,3 @@
+ unsigned char type;
+-} blits[MAX_UPDATES];
++} tmblits[MAX_UPDATES];
+
+@@ -1021,4 +1021,4 @@
+ for (i = 0; i < MAX_UPDATES; ++i) {
+- blits[i].srcrect = &srcupdate[i];
+- blits[i].dstrect = &dstupdate[i];
++ tmblits[i].srcrect = &srcupdate[i];
++ tmblits[i].dstrect = &dstupdate[i];
+ }
+@@ -1034,4 +1034,4 @@
+ for (i = 0; i < numupdates; i++)
+- if (blits[i].type == 'E')
+- SDL_LowerBlit(blits[i].src, blits[i].srcrect, screen, blits[i].dstrect);
++ if (tmblits[i].type == 'E')
++ SDL_LowerBlit(tmblits[i].src, tmblits[i].srcrect, screen, tmblits[i].dstrect);
+ // SNOW_erase();
+@@ -1040,4 +1040,4 @@
+ for (i = 0; i < numupdates; i++)
+- if (blits[i].type == 'D')
+- SDL_BlitSurface(blits[i].src, blits[i].srcrect, screen, blits[i].dstrect);
++ if (tmblits[i].type == 'D')
++ SDL_BlitSurface(tmblits[i].src, tmblits[i].srcrect, screen, tmblits[i].dstrect);
+ // SNOW_draw();
+@@ -1069,3 +1069,3 @@
+
+- update = &blits[numupdates++];
++ update = &tmblits[numupdates++];
+
diff --git a/games-kids/tuxmath/files/tuxmath-2.0.3-fno-common.patch b/games-kids/tuxmath/files/tuxmath-2.0.3-fno-common.patch
new file mode 100644
index 000000000000..ffd711f21ce0
--- /dev/null
+++ b/games-kids/tuxmath/files/tuxmath-2.0.3-fno-common.patch
@@ -0,0 +1,8 @@
+https://bugs.gentoo.org/795069
+https://github.com/tux4kids/tuxmath/pull/15
+--- a/src/menu_lan.c
++++ b/src/menu_lan.c
+@@ -39,3 +39,2 @@
+ /* lan_player_type now defined in network.h */
+-lan_player_type lan_player_info[MAX_CLIENTS];
+
diff --git a/games-kids/tuxmath/tuxmath-2.0.3-r2.ebuild b/games-kids/tuxmath/tuxmath-2.0.3-r2.ebuild
new file mode 100644
index 000000000000..fb3e676b0cf5
--- /dev/null
+++ b/games-kids/tuxmath/tuxmath-2.0.3-r2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop optfeature
+
+DESCRIPTION="Educational arcade game where you have to solve maths problems"
+HOMEPAGE="https://www.tux4kids.com/"
+SRC_URI="mirror://debian/pool/main/t/${PN}/${PN}_${PV}.orig.tar.gz"
+S="${WORKDIR}/${PN}_w_fonts-${PV}"
+
+LICENSE="CC-BY-SA-3.0 CC-PD GPL-3+ public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="nls svg"
+
+RDEPEND="
+ >=dev-games/t4k-common-0.1.1-r1[svg?]
+ dev-libs/libxml2:2
+ media-libs/libsdl[video]
+ media-libs/sdl-image[jpeg,png]
+ media-libs/sdl-mixer
+ media-libs/sdl-net
+ nls? ( virtual/libintl )"
+DEPEND="
+ ${RDEPEND}
+ svg? (
+ gnome-base/librsvg:2
+ x11-libs/cairo
+ )"
+BDEPEND="
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-blits-to-tmblits.patch
+ "${FILESDIR}"/${P}-fno-common.patch
+)
+
+src_configure() {
+ local econfargs=(
+ $(use_enable nls)
+ $(usex svg '' --without-rsvg)
+ )
+ econf "${econfargs[@]}"
+}
+
+src_install() {
+ default
+
+ doicon data/images/icons/${PN}.svg
+ domenu ${PN}.desktop
+
+ # bundled fonts are unused if t4k-common uses pango
+ rm -r "${ED}"/usr/share/${PN}/fonts || die
+ rm "${ED}"/usr/share/doc/${PF}/{COPYING_GPL3,GPL_VERSIONS,INSTALL,OFL,README_DATA_LICENSES} || die
+}
+
+pkg_postinst() {
+ optfeature "music support" "media-libs/sdl-mixer[mod,vorbis]"
+}