summaryrefslogtreecommitdiff
blob: 8caf4976f559b0a925573eaf3a1a3e4d9eb09bfe (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
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=5

inherit autotools eutils toolchain-funcs games

MY_PV=${PV/_beta/beta}
MY_P=${PN}-${MY_PV}

DESCRIPTION="Unique multiplayer wargame between liquids"
HOMEPAGE="https://www.gnu.org/software/liquidwar6/"
SRC_URI="http://www.ufoot.org/download/liquidwar/v6/${MY_PV}/${MY_P}.tar.gz
	maps? ( http://www.ufoot.org/download/liquidwar/v6/${MY_PV}/${PN}-extra-maps-${MY_PV}.tar.gz )"

LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="doc gles2 gtk libcaca +maps nls +ogg openmp readline test"

# yes, cunit is rdep
# Drop the libtool dep once libltdl goes stable.
RDEPEND="dev-db/sqlite:3
	dev-libs/expat
	dev-scheme/guile:12
	dev-util/cunit
	media-libs/freetype:2
	media-libs/libpng:0
	media-libs/libsdl[X,opengl,video]
	media-libs/sdl-image[jpeg,png]
	media-libs/sdl-ttf
	net-misc/curl
	|| ( dev-libs/libltdl:0 <sys-devel/libtool-2.4.3-r2:2 )
	sys-libs/zlib
	virtual/glu
	virtual/jpeg:0
	virtual/opengl
	libcaca? ( media-libs/libcaca )
	gles2? ( media-libs/mesa[gles2] )
	gtk? ( x11-libs/gtk+:2 )
	nls? ( virtual/libintl
		virtual/libiconv )
	ogg? (
		media-libs/libsdl[X,sound,opengl,video]
		media-libs/sdl-mixer[vorbis]
	)
	readline? ( sys-libs/ncurses:0
		sys-libs/readline:0 )"
DEPEND="${RDEPEND}
	dev-lang/perl
	nls? ( sys-devel/gettext )"

S=${WORKDIR}/${MY_P}
S_MAPS=${WORKDIR}/${PN}-extra-maps-${MY_PV}

pkg_setup() {
	if use openmp; then
		if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp ; then
			ewarn "OpenMP is not available in your current selected gcc"
			die "need openmp capable gcc"
		fi
	fi
	games_pkg_setup
}

src_prepare() {
	epatch \
		"${FILESDIR}"/${P}-{ldconfig,paths}.patch \
		"${FILESDIR}"/${P}-check-headers.patch

	sed -i \
		-e 's/-Werror//' \
		configure.ac || die
	eautoreconf
}

src_configure() {
	# configure fails with cunit disabled
	egamesconf \
		$(use_enable nls) \
		--enable-cunit \
		$(use_enable gtk) \
		--enable-mod-gl1 \
		$(use_enable gles2 mod-gles2) \
		$(use_enable libcaca mod-caca) \
		$(use_enable openmp) \
		$(use_enable ogg mod-ogg) \
		$(use_enable !ogg silent) \
		$(use_enable readline console) \
		--disable-static \
		--datarootdir=/usr/share \
		--mandir=/usr/share/man \
		--docdir=/usr/share/doc/${PF} \
		--htmldir=/usr/share/doc/${PF}/html

	if use maps; then
		cd "${S_MAPS}" || die
		egamesconf
	fi
}

src_compile() {
	default
	use doc && emake html
	use maps && emake -C "${S_MAPS}"
}

src_install() {
	emake DESTDIR="${D}" install
	use maps && emake -C "${S_MAPS}" DESTDIR="${D}" install
	prune_libtool_files --all
	prepgamesdirs
}