diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2020-06-02 20:07:17 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2020-06-02 20:09:27 +0200 |
commit | 814edc7a6629c2243d94ed9147d8cfc76e7da2e5 (patch) | |
tree | 87a840b5ffd9df7209343ba62c1cb491fcac980d | |
parent | app-emulation/diskimage-builder: 3.0.0 droppying py2 support (diff) | |
download | gentoo-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.patch | 32 | ||||
-rw-r--r-- | games-board/gtkboard/gtkboard-0.11_pre0-r2.ebuild | 53 |
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 +} |