diff options
-rw-r--r-- | games-misc/bsd-games/ChangeLog | 8 | ||||
-rw-r--r-- | games-misc/bsd-games/bsd-games-2.17-r1.ebuild | 111 | ||||
-rw-r--r-- | games-misc/bsd-games/files/bsd-games-2.17-tetris.patch | 42 | ||||
-rw-r--r-- | games-misc/bsd-games/files/digest-bsd-games-2.17-r1 | 6 |
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 |