summaryrefslogtreecommitdiff
blob: 229f872b1de22efa4892f39091b51472621530ab (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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-fps/quakeforge/quakeforge-0.7.2.ebuild,v 1.1 2013/02/02 00:07:45 hasufell Exp $

EAPI=5
inherit base eutils autotools games

DESCRIPTION="A new 3d engine based off of id Softwares's legendary Quake and QuakeWorld game engine"
HOMEPAGE="http://www.quakeforge.net/"
SRC_URI="mirror://sourceforge/quake/${P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="cdinstall debug fbcon flac sdl svga X ncurses png vorbis zlib ipv6 xv dga alsa oss xdg wildmidi"
RESTRICT="userpriv"

RDEPEND="
	media-libs/libsamplerate
	net-misc/curl
	virtual/opengl
	png? ( media-libs/libpng:0 )
	flac? ( media-libs/flac )
	sdl? ( media-libs/libsdl )
	svga? ( media-libs/svgalib )
	X? (
		x11-libs/libX11
		x11-libs/libXext
		x11-libs/libXxf86vm
	)
	ncurses? ( sys-libs/ncurses )
	vorbis? ( media-libs/libogg media-libs/libvorbis )
	zlib? ( sys-libs/zlib )
	xv? (
		x11-libs/libX11
		x11-libs/libXext
		x11-libs/libXxf86vm
	)
	dga? ( x11-libs/libXxf86dga )
	alsa? ( media-libs/alsa-lib )
	wildmidi? ( media-sound/wildmidi )"
DEPEND="${RDEPEND}
	cdinstall? ( games-fps/quake1-data )
	>=sys-devel/bison-2.6
	sys-devel/flex
	virtual/pkgconfig"

src_prepare() {
	epatch "${FILESDIR}"/${P}-gentoo.patch
	eautoreconf
}

src_configure() {
	local debugopts
	use debug \
		&& debugopts="--enable-debug --disable-optimize --enable-profile" \
		|| debugopts="--disable-debug --disable-profile"

	local clients=${QF_CLIENTS}
	use fbcon && clients="${clients},fbdev"
	use sdl && clients="${clients},sdl"
	use svga && clients="${clients},svga"
	use X && clients="${clients},x11"
	[ "${clients:0:1}" == "," ] && clients=${clients:1}

	local servers=${QF_SERVERS:-master,nq,qw,qtv}

	local tools=${QF_TOOLS:-all}

	local svgaconf	# use old school way for broken conf opts
	use svga \
		&& svgaconf="--with-svga=/usr" \
		|| svgaconf="--without-svga"

	addpredict "$(games_get_libdir)"
	egamesconf \
		--enable-dependency-tracking \
		$(use_enable ncurses curses) \
		$(use_enable vorbis) \
		$(use_enable png) \
		$(use_enable zlib) \
		$(use_with ipv6) \
		$(use_with fbcon fbdev) \
		${svgaconf} \
		$(use_with X x) \
		$(use_enable xv vidmode) \
		$(use_enable dga) \
		$(use_enable sdl) \
		--disable-xmms \
		$(use_enable alsa) \
		$(use_enable flac) \
		$(use_enable oss) \
		$(use_enable xdg) \
		$(use_enable wildmidi) \
		--enable-sound \
		--disable-optimize \
		--disable-Werror \
		${debugopts} \
		--with-global-cfg="${GAMES_SYSCONFDIR}"/quakeforge.conf \
		--with-sharepath="${GAMES_DATADIR}"/quake1 \
		--with-clients=${clients} \
		--with-servers=${servers} \
		--with-tools=${tools}
}

src_install() {
	emake -j1 DESTDIR="${D}" install
	mv "${D}/${GAMES_PREFIX}"/include "${D}"/usr/ || die
	dodoc ChangeLog NEWS TODO
	prepgamesdirs
}

pkg_postinst() {
	# same warning used in quake1 / quakeforge / nprquake-sdl
	games_pkg_postinst
	echo
	elog "Before you can play, you must make sure"
	elog "${PN} can find your Quake .pak files"
	elog
	elog "You have 2 choices to do this"
	elog "1 Copy pak*.pak files to ${GAMES_DATADIR}/quake1/id1"
	elog "2 Symlink pak*.pak files in ${GAMES_DATADIR}/quake1/id1"
	elog
	elog "Example:"
	elog "my pak*.pak files are in /mnt/secondary/Games/Quake/Id1/"
	elog "ln -s /mnt/secondary/Games/Quake/Id1/pak0.pak ${GAMES_DATADIR}/quake1/id1/pak0.pak"
	elog
	elog "You only need pak0.pak to play the demo version,"
	elog "the others are needed for registered version"
}