summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2020-06-02 20:07:17 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2020-06-02 20:09:27 +0200
commit814edc7a6629c2243d94ed9147d8cfc76e7da2e5 (patch)
tree87a840b5ffd9df7209343ba62c1cb491fcac980d
parentapp-emulation/diskimage-builder: 3.0.0 droppying py2 support (diff)
downloadgentoo-814edc7a6629c2243d94ed9147d8cfc76e7da2e5.tar.gz
gentoo-814edc7a6629c2243d94ed9147d8cfc76e7da2e5.tar.bz2
gentoo-814edc7a6629c2243d94ed9147d8cfc76e7da2e5.zip
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 <asturm@gentoo.org>
-rw-r--r--games-board/gtkboard/files/gtkboard-0.11_pre0-stack-smash.patch32
-rw-r--r--games-board/gtkboard/gtkboard-0.11_pre0-r2.ebuild53
2 files changed, 85 insertions, 0 deletions
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 <nozzy123nozzy@gmail.com>
+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
+}