summaryrefslogtreecommitdiff
blob: 4a24eef9c88d4e9593e2882efc431e7f0e6a9a8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-misc/bsd-games-non-free/bsd-games-non-free-2.17.ebuild,v 1.7 2010/09/21 10:56:43 tupone Exp $

EAPI=2
inherit 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"

# See /usr/share/doc/${P}/CHANGES.rogue
LICENSE="|| ( BSD free-noncomm )"
SLOT="0"
KEYWORDS="amd64 ppc x86"
IUSE=""

RDEPEND="sys-libs/ncurses"
DEPEND="${RDEPEND}
	sys-devel/bison
	sys-devel/flex"

# Set GAMES_TO_BUILD variable to whatever you want
export GAMES_TO_BUILD=${GAMES_TO_BUILD:="rogue"}

src_prepare() {
	sed -i \
		-e '/^CC :/d' \
		-e '/^CXX :/d' \
		Makeconfig.in \
		|| die "sed failed"
	cp "${FILESDIR}"/config.params-gentoo config.params || die "cp failed"
	echo bsd_games_cfg_usrlibdir=\"$(games_get_libdir)\" >> ./config.params
	echo bsd_games_cfg_build_dirs=\"${GAMES_TO_BUILD}\" >> ./config.params
}

src_configure() {
	./configure || die
}

src_compile() {
	emake OPTIMIZE="${CFLAGS}" LDFLAGS="${LDFLAGS}" || 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"
	rm -rf "${D}"/usr/share/doc/bsd-games || die "Remove failed"

	dodoc AUTHORS BUGS ChangeLog ChangeLog.0 NEWS \
		  PACKAGING README README.non-free SECURITY THANKS TODO YEAR2000 \
		  bsd-games-non-free.lsm

	# state files
	build_game rogue && do_statefile rogue.scores

	# extra docs
	build_game rogue && { docinto rogue ; dodoc rogue/{CHANGES,USD.doc/rogue.me}; }

	prepalldocs
	prepgamesdirs
}