diff options
Diffstat (limited to 'games-misc/bsd-games/bsd-games-2.17-r5.ebuild')
-rw-r--r-- | games-misc/bsd-games/bsd-games-2.17-r5.ebuild | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/games-misc/bsd-games/bsd-games-2.17-r5.ebuild b/games-misc/bsd-games/bsd-games-2.17-r5.ebuild new file mode 100644 index 000000000000..bead3a2573b5 --- /dev/null +++ b/games-misc/bsd-games/bsd-games-2.17-r5.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit eutils toolchain-funcs games + +DEB_PATCH_VER=22 +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}.debian.tar.xz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="alpha amd64 x86" +IUSE="" + +RDEPEND="!games-misc/wtf + !app-misc/banner + !games-puzzle/hangman + sys-libs/ncurses:0 + sys-apps/miscfiles" +DEPEND="${RDEPEND} + sys-devel/flex + sys-devel/bison + virtual/pkgconfig" + +# Set GAMES_TO_BUILD variable to whatever you want +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} + +src_prepare() { + local d="${WORKDIR}"/debian/patches + EPATCH_SOURCE="${d}" epatch $(<"${d}"/series) + + # Used by gentoo config.params. See bug 531200 + export GAMES_BINDIR GAMES_DATADIR GAMES_STATEDIR + + epatch \ + "${FILESDIR}"/${P}-64bitutmp.patch \ + "${FILESDIR}"/${P}-headers.patch \ + "${FILESDIR}"/${P}-bg.patch \ + "${FILESDIR}"/${P}-gcc4.patch + + # Use pkg-config to query Libs: from ncurses.pc (for eg. -ltinfo) wrt #459652 + sed -i \ + -e "/ncurses_lib/s:-lncurses:'$($(tc-getPKG_CONFIG) --libs-only-l ncurses)':" \ + configure || die + + sed -i \ + -e "s:/usr/games:${GAMES_BINDIR}:" \ + wargames/wargames || die + + sed -i \ + -e '/^CC :=/d' \ + -e '/^CXX :=/d' \ + -e '/^CFLAGS/s/OPTIMIZE/CFLAGS/' \ + -e '/^CXXFLAGS/s/OPTIMIZE/CXXFLAGS/' \ + -e '/^LDFLAGS/s/LDFLAGS := /LDFLAGS := \$(LDFLAGS) /' \ + Makeconfig.in || die + + cp "${FILESDIR}"/config.params-gentoo config.params || die + echo bsd_games_cfg_usrlibdir=\"$(games_get_libdir)\" >> ./config.params || die + echo bsd_games_cfg_build_dirs=\"${GAMES_TO_BUILD}\" >> ./config.params || die + echo bsd_games_cfg_docdir=\"/usr/share/doc/${PF}\" >> ./config.params || die +} + +src_test() { + addwrite /dev/full + emake -j1 check +} + +build_game() { + has ${1} ${GAMES_TO_BUILD} +} + +do_statefile() { + touch "${D}/${GAMES_STATEDIR}/${1}" || die + chmod ug+rw "${D}/${GAMES_STATEDIR}/${1}" || die +} + +src_install() { + dodir "${GAMES_BINDIR}" "${GAMES_STATEDIR}" /usr/share/man/man{1,6} + emake -j1 DESTDIR="${D}" install + + 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 + + # extra docs + build_game atc && { docinto atc ; dodoc atc/BUGS; } + build_game boggle && { docinto boggle ; dodoc boggle/README; } + build_game hack && { docinto hack ; dodoc hack/{OWNER,Original_READ_ME,READ_ME,help}; } + build_game hunt && { docinto hunt ; dodoc hunt/README; } + build_game phantasia && { docinto phantasia ; dodoc phantasia/{OWNER,README}; } + + # 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 + + prepgamesdirs + + # state dirs + chmod -R ug+rw "${D}/${GAMES_STATEDIR}"/* || die +} |