summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-misc/bsd-games/ChangeLog8
-rw-r--r--games-misc/bsd-games/bsd-games-2.17-r1.ebuild111
-rw-r--r--games-misc/bsd-games/files/bsd-games-2.17-tetris.patch42
-rw-r--r--games-misc/bsd-games/files/digest-bsd-games-2.17-r16
4 files changed, 166 insertions, 1 deletions
diff --git a/games-misc/bsd-games/ChangeLog b/games-misc/bsd-games/ChangeLog
index ca795220213c..13eb46c56973 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-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-misc/bsd-games/ChangeLog,v 1.17 2006/03/12 22:50:12 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-misc/bsd-games/ChangeLog,v 1.18 2006/03/17 19:05:59 wolf31o2 Exp $
+
+*bsd-games-2.17-r1 (17 Mar 2006)
+
+ 17 Mar 2006; Chris Gianelloni <wolf31o2@gentoo.org>
+ +files/bsd-games-2.17-tetris.patch, +bsd-games-2.17-r1.ebuild:
+ Added security patch from bug #122399.
12 Mar 2006; Michael Sterrett <mr_bones_@gentoo.org>
bsd-games-2.17.ebuild:
diff --git a/games-misc/bsd-games/bsd-games-2.17-r1.ebuild b/games-misc/bsd-games/bsd-games-2.17-r1.ebuild
new file mode 100644
index 000000000000..2f72a607085d
--- /dev/null
+++ b/games-misc/bsd-games/bsd-games-2.17-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2006 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-r1.ebuild,v 1.1 2006/03/17 19:05:59 wolf31o2 Exp $
+
+inherit eutils games
+
+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}-2.diff.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc x86"
+IUSE=""
+
+RDEPEND="!games-misc/wtf
+ 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}-2.diff.gz \
+ "${FILESDIR}"/${P}-64bit.patch \
+ "${FILESDIR}"/${P}-gcc4.patch \
+ "${FILESDIR}"/${P}-tetris.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_build_dirs=\"${GAMES_TO_BUILD}\" >> ./config.params
+}
+
+src_compile() {
+ ./configure || die
+ emake OPTIMIZE="${CFLAGS}" || die "emake 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-tetris.patch b/games-misc/bsd-games/files/bsd-games-2.17-tetris.patch
new file mode 100644
index 000000000000..5a6fb1f22735
--- /dev/null
+++ b/games-misc/bsd-games/files/bsd-games-2.17-tetris.patch
@@ -0,0 +1,42 @@
+--- bsd-games-2.13/tetris/scores.c.orig 2006-02-10 18:11:41.704770280 +0000
++++ bsd-games-2.13/tetris/scores.c 2006-02-10 18:25:15.927989536 +0000
+@@ -339,7 +339,8 @@
+ continue;
+ }
+ }
+- levelfound[sp->hs_level] = 1;
++ if (sp->hs_level < NLEVELS && sp->hs_level >= 0)
++ levelfound[sp->hs_level] = 1;
+ i++, sp++;
+ }
+ return (num > MAXHISCORES ? MAXHISCORES : num);
+@@ -378,12 +379,14 @@
+ for (i = MINLEVEL; i < NLEVELS; i++)
+ levelfound[i] = 0;
+ for (i = 0, sp = scores; i < nscores; i++, sp++) {
+- if (levelfound[sp->hs_level])
+- sp->hs_time = 0;
+- else {
+- sp->hs_time = 1;
+- levelfound[sp->hs_level] = 1;
+- }
++ if (sp->hs_level < NLEVELS && sp->hs_level >= 0) {
++ if (levelfound[sp->hs_level])
++ sp->hs_time = 0;
++ else {
++ sp->hs_time = 1;
++ levelfound[sp->hs_level] = 1;
++ }
++ }
+ }
+
+ /*
+@@ -437,7 +440,7 @@
+ continue;
+ }
+ sp = &hs[item];
+- (void)sprintf(buf,
++ (void)snprintf(buf, sizeof(buf),
+ "%3d%c %6d %-11s (%6d on %d)",
+ item + offset, sp->hs_time ? '*' : ' ',
+ sp->hs_score * sp->hs_level,
diff --git a/games-misc/bsd-games/files/digest-bsd-games-2.17-r1 b/games-misc/bsd-games/files/digest-bsd-games-2.17-r1
new file mode 100644
index 000000000000..597c65753f50
--- /dev/null
+++ b/games-misc/bsd-games/files/digest-bsd-games-2.17-r1
@@ -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 ea3dd69c30858bcfe1bb086af998dba1 bsdgames_2.17-2.diff.gz 11373
+RMD160 cc001301619d6c2f88982b96429d489928787ade bsdgames_2.17-2.diff.gz 11373
+SHA256 c2cf157c3c3557a42ce53b8ba4f12c04d87b56e19dd81688d7da333a7d3b1edb bsdgames_2.17-2.diff.gz 11373