summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Tupone <tupone@gentoo.org>2007-05-16 18:35:28 +0000
committerAlfredo Tupone <tupone@gentoo.org>2007-05-16 18:35:28 +0000
commita2c2252cedfc475c140852760b79ec24d3b3ca0b (patch)
tree6157cd2c102e02a72829cc2afb91e43ac174b93a /games-misc
parentalpha stable wrt #174678 (diff)
downloadgentoo-2-a2c2252cedfc475c140852760b79ec24d3b3ca0b.tar.gz
gentoo-2-a2c2252cedfc475c140852760b79ec24d3b3ca0b.tar.bz2
gentoo-2-a2c2252cedfc475c140852760b79ec24d3b3ca0b.zip
Fixed backgammon segfaults in too-small window. Bug #150282
(Portage version: 2.1.2.2)
Diffstat (limited to 'games-misc')
-rw-r--r--games-misc/bsd-games/ChangeLog8
-rw-r--r--games-misc/bsd-games/bsd-games-2.17-r3.ebuild120
-rw-r--r--games-misc/bsd-games/files/bsd-games-2.17-bg.patch22
-rw-r--r--games-misc/bsd-games/files/digest-bsd-games-2.17-r36
4 files changed, 155 insertions, 1 deletions
diff --git a/games-misc/bsd-games/ChangeLog b/games-misc/bsd-games/ChangeLog
index f919934193e0..1bb133389a76 100644
--- a/games-misc/bsd-games/ChangeLog
+++ b/games-misc/bsd-games/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for games-misc/bsd-games
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-misc/bsd-games/ChangeLog,v 1.29 2007/03/07 17:02:53 wolf31o2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-misc/bsd-games/ChangeLog,v 1.30 2007/05/16 18:35:28 tupone Exp $
+
+*bsd-games-2.17-r3 (16 May 2007)
+
+ 16 May 2007; Tupone Alfredo <tupone@gentoo.org>
+ +files/bsd-games-2.17-bg.patch, +bsd-games-2.17-r3.ebuild:
+ Fixed backgammon segfaults in too-small window. Bug #150282 by carlosqueso
07 Mar 2007; Chris Gianelloni <wolf31o2@gentoo.org>
bsd-games-2.17-r2.ebuild:
diff --git a/games-misc/bsd-games/bsd-games-2.17-r3.ebuild b/games-misc/bsd-games/bsd-games-2.17-r3.ebuild
new file mode 100644
index 000000000000..b04c01177ffe
--- /dev/null
+++ b/games-misc/bsd-games/bsd-games-2.17-r3.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-misc/bsd-games/bsd-games-2.17-r3.ebuild,v 1.1 2007/05/16 18:35:28 tupone Exp $
+
+inherit eutils games
+
+DEB_PATCH_VER=7
+DESCRIPTION="collection of games from NetBSD"
+HOMEPAGE="http://www.advogato.org/proj/bsd-games/"
+SRC_URI="ftp://metalab.unc.edu/pub/Linux/games/${P}.tar.gz
+ mirror://debian/pool/main/b/bsdgames/bsdgames_${PV}-${DEB_PATCH_VER}.diff.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+IUSE=""
+
+RDEPEND="!games-misc/wtf
+ !app-misc/banner
+ sys-libs/ncurses
+ sys-apps/miscfiles"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ sys-devel/bison"
+
+# Set GAMES_TO_BUILD variable to whatever you want
+export GAMES_TO_BUILD=${GAMES_TO_BUILD:=adventure arithmetic atc
+backgammon banner battlestar bcd boggle caesar canfield countmail cribbage
+dab dm factor fish gomoku hack hangman hunt mille monop morse
+number phantasia pig pom ppt primes quiz rain random robots sail snake
+tetris trek wargames worm worms wtf wump}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch \
+ "${DISTDIR}"/bsdgames_${PV}-${DEB_PATCH_VER}.diff.gz \
+ "${FILESDIR}"/${P}-64bit.patch \
+ "${FILESDIR}"/${P}-headers.patch \
+ "${FILESDIR}"/${P}-bg.patch \
+ "${FILESDIR}"/${P}-gcc4.patch
+
+ sed -i \
+ -e "s:/usr/games:${GAMES_BINDIR}:" \
+ wargames/wargames \
+ || die "sed wargames failed"
+
+ cp "${FILESDIR}"/config.params-gentoo config.params
+ echo bsd_games_cfg_usrlibdir=\"$(games_get_libdir)\" >> ./config.params
+ echo bsd_games_cfg_build_dirs=\"${GAMES_TO_BUILD}\" >> ./config.params
+}
+
+src_compile() {
+ ./configure || die
+ emake OPTIMIZE="${CFLAGS}" || die "emake failed"
+}
+
+src_test() {
+ addwrite /dev/full
+ emake -j1 check || die "make check failed"
+}
+
+build_game() {
+ has ${1} ${GAMES_TO_BUILD}
+}
+
+do_statefile() {
+ touch "${D}/${GAMES_STATEDIR}/${1}"
+ chmod ug+rw "${D}/${GAMES_STATEDIR}/${1}"
+}
+
+src_install() {
+ dodir "${GAMES_BINDIR}" "${GAMES_STATEDIR}" /usr/share/man/man{1,6}
+ make DESTDIR="${D}" install || die "make install failed"
+
+ dodoc AUTHORS BUGS ChangeLog ChangeLog.0 \
+ README PACKAGING SECURITY THANKS TODO YEAR2000
+
+ # set some binaries to run as games group (+S)
+ build_game atc && fperms g+s "${GAMES_BINDIR}"/atc
+ build_game battlestar && fperms g+s "${GAMES_BINDIR}"/battlestar
+ build_game canfield && fperms g+s "${GAMES_BINDIR}"/canfield
+ build_game cribbage && fperms g+s "${GAMES_BINDIR}"/cribbage
+ build_game phantasia && fperms g+s "${GAMES_BINDIR}"/phantasia
+ build_game robots && fperms g+s "${GAMES_BINDIR}"/robots
+ build_game sail && fperms g+s "${GAMES_BINDIR}"/sail
+ build_game snake && fperms g+s "${GAMES_BINDIR}"/snake
+ build_game tetris && fperms g+s "${GAMES_BINDIR}"/tetris-bsd
+
+ # state files
+ build_game atc && do_statefile atc_score
+ build_game battlestar && do_statefile battlestar.log
+ build_game canfield && do_statefile cfscores
+ build_game cribbage && do_statefile criblog
+ build_game hack && keepdir "${GAMES_STATEDIR}"/hack
+ build_game robots && do_statefile robots_roll
+ build_game sail && do_statefile saillog
+ build_game snake && do_statefile snake.log && do_statefile snakerawscores
+ build_game tetris && do_statefile tetris-bsd.scores
+ # state dirs
+ chmod -R ug+rw "${D}/${GAMES_STATEDIR}"/*
+
+ # extra docs
+ build_game atc && { docinto atc ; dodoc atc/BUGS; }
+ build_game boggle && { docinto boggle ; dodoc boggle/README{,.linux}; }
+ build_game hack && { docinto hack ; dodoc hack/{OWNER,Original_READ_ME,READ_ME,help}; }
+ build_game hunt && { docinto hunt ; dodoc hunt/README{,.linux}; }
+ build_game phantasia && { docinto phantasia ; dodoc phantasia/{OWNER,README}; }
+ build_game trek && { docinto trek ; dodoc trek/USD.doc/trek.me; }
+
+ # Since factor is usually not installed, and primes.6 is a symlink to
+ # factor.6, make sure that primes.6 is ok ...
+ if build_game primes && [[ ! $(build_game factor) ]] ; then
+ rm -f "${D}"/usr/share/man/man6/{factor,primes}.6
+ newman factor/factor.6 primes.6
+ fi
+
+ prepalldocs
+ prepgamesdirs
+}
diff --git a/games-misc/bsd-games/files/bsd-games-2.17-bg.patch b/games-misc/bsd-games/files/bsd-games-2.17-bg.patch
new file mode 100644
index 000000000000..07dc520b77e4
--- /dev/null
+++ b/games-misc/bsd-games/files/bsd-games-2.17-bg.patch
@@ -0,0 +1,22 @@
+--- backgammon/common_source/fancy.c.old 2007-05-16 20:16:46.000000000 +0200
++++ backgammon/common_source/fancy.c 2007-05-16 20:19:00.000000000 +0200
+@@ -58,7 +58,7 @@
+ int lUP; /* length of UP */
+ int CO; /* number of columns */
+ int LI; /* number of lines */
+-int *linect; /* array of lengths of lines on screen (the
++static int linect[25]; /* array of lengths of lines on screen (the
+ * actual screen is not stored) */
+
+ /* two letter codes */
+@@ -728,10 +728,5 @@
+ lND = strlen(ND);
+ if (LI < 24 || CO < 72 || !(CL && UP && ND))
+ return (0);
+- linect = (int *) calloc(LI + 1, sizeof(int));
+- if (linect == NULL) {
+- write(2, "\r\nOut of memory!\r\n", 18);
+- getout(0);
+- }
+ return (1);
+ }
diff --git a/games-misc/bsd-games/files/digest-bsd-games-2.17-r3 b/games-misc/bsd-games/files/digest-bsd-games-2.17-r3
new file mode 100644
index 000000000000..24250086d8d2
--- /dev/null
+++ b/games-misc/bsd-games/files/digest-bsd-games-2.17-r3
@@ -0,0 +1,6 @@
+MD5 238a38a3a017ca9b216fc42bde405639 bsd-games-2.17.tar.gz 2563311
+RMD160 a8f9c829bb09dfa071ecafbd6cb15560dba888d8 bsd-games-2.17.tar.gz 2563311
+SHA256 066f924aef6c1c5ea946f588e36f303021f5dfc093944738f025d8edbc6fff60 bsd-games-2.17.tar.gz 2563311
+MD5 24561d4326d22ae9fce0778db548db45 bsdgames_2.17-7.diff.gz 12530
+RMD160 4c213632111ac8035058214889fd9229723b9785 bsdgames_2.17-7.diff.gz 12530
+SHA256 41b4b99ae96f1b42beb37818f377cc194ab4146fe845818e8d29663d4f52ff88 bsdgames_2.17-7.diff.gz 12530