From a2c2252cedfc475c140852760b79ec24d3b3ca0b Mon Sep 17 00:00:00 2001 From: Alfredo Tupone Date: Wed, 16 May 2007 18:35:28 +0000 Subject: Fixed backgammon segfaults in too-small window. Bug #150282 (Portage version: 2.1.2.2) --- games-misc/bsd-games/ChangeLog | 8 +- games-misc/bsd-games/bsd-games-2.17-r3.ebuild | 120 +++++++++++++++++++++ games-misc/bsd-games/files/bsd-games-2.17-bg.patch | 22 ++++ .../bsd-games/files/digest-bsd-games-2.17-r3 | 6 ++ 4 files changed, 155 insertions(+), 1 deletion(-) create mode 100644 games-misc/bsd-games/bsd-games-2.17-r3.ebuild create mode 100644 games-misc/bsd-games/files/bsd-games-2.17-bg.patch create mode 100644 games-misc/bsd-games/files/digest-bsd-games-2.17-r3 (limited to 'games-misc') 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 + +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 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 -- cgit v1.2.3-65-gdbad