From 814edc7a6629c2243d94ed9147d8cfc76e7da2e5 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Tue, 2 Jun 2020 20:07:17 +0200 Subject: games-board/gtkboard: EAPI-7 bump, drop IUSE=gnome, libgnomeui-- - Fix stack smashing bug - Missing || die - Use desktop.eclass instead of eutils.eclass - Use HTML_DOCS for index.html doc Debian-bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=948527 Closes: https://bugs.gentoo.org/644324 Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Andreas Sturmlechner --- .../files/gtkboard-0.11_pre0-stack-smash.patch | 32 +++++++++++++ games-board/gtkboard/gtkboard-0.11_pre0-r2.ebuild | 53 ++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 games-board/gtkboard/files/gtkboard-0.11_pre0-stack-smash.patch create mode 100644 games-board/gtkboard/gtkboard-0.11_pre0-r2.ebuild (limited to 'games-board/gtkboard') diff --git a/games-board/gtkboard/files/gtkboard-0.11_pre0-stack-smash.patch b/games-board/gtkboard/files/gtkboard-0.11_pre0-stack-smash.patch new file mode 100644 index 000000000000..412412eb62a9 --- /dev/null +++ b/games-board/gtkboard/files/gtkboard-0.11_pre0-stack-smash.patch @@ -0,0 +1,32 @@ +From: Takahide Nojima +Date: Mon, 6 Jan 2020 02:01:42 +0900 +Subject: fixed-stack-smash + +Fix stack overflow in engine.c. +It has 2 overflows. + -The 'linebuf' have 4096 bytes,but '\0' puts in 4097th. + -The last argument of g_io_channel_read should be + 'unsigned long' not 'int'. + +See https://bugs.debian.org/948527 +--- + src/engine.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/engine.c b/src/engine.c +index 1b733fb..6ad3b9a 100644 +--- a/src/engine.c ++++ b/src/engine.c +@@ -345,10 +345,10 @@ static gboolean process_line () + + static gboolean channel_process_input () + { +- static char linebuf[4096]; ++ static char linebuf[4096+1]; + char *linep = linebuf; + char *line; +- int bytes_read; ++ gsize bytes_read; + #if GLIB_MAJOR_VERSION > 1 + // we need to call this again because we will get new events before returning + // from this function diff --git a/games-board/gtkboard/gtkboard-0.11_pre0-r2.ebuild b/games-board/gtkboard/gtkboard-0.11_pre0-r2.ebuild new file mode 100644 index 000000000000..2886f2c69ada --- /dev/null +++ b/games-board/gtkboard/gtkboard-0.11_pre0-r2.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_P=${P/_} +inherit desktop + +DESCRIPTION="Board games system" +HOMEPAGE="http://gtkboard.sourceforge.net/indexold.html" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +BDEPEND=" + virtual/pkgconfig" +RDEPEND=" + media-libs/libsdl:0[sound] + media-libs/sdl-mixer[vorbis] + x11-libs/gtk+:2" +DEPEND="${RDEPEND}" + +HTML_DOCS=( doc/index.html ) + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/${P}-gcc41.patch + "${FILESDIR}"/${P}-gcc45.patch + "${FILESDIR}"/${P}-stack-smash.patch +) + +src_prepare() { + default + + sed -i -e "/^LIBS/s:@LIBS@:@LIBS@ -lgmodule-2.0 -lm:" src/Makefile.in || die +} + +src_configure() { + econf \ + --enable-gtk2 \ + --enable-sdl \ + --disable-gnome +} + +src_install() { + default + doicon pixmaps/${PN}.png + make_desktop_entry ${PN} Gtkboard +} -- cgit v1.2.3-65-gdbad