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>
This commit is contained in:
Andreas Sturmlechner
2020-06-02 20:07:17 +02:00
parent 1cff54398d
commit 814edc7a66
2 changed files with 85 additions and 0 deletions

View File

@@ -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

View File

@@ -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
}