blob: 64934bc671ca1486f7619a257f83cd40922661c9 (
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
131
132
133
134
135
136
137
138
139
140
141
|
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-strategy/0ad/0ad-0.0.16_alpha-r2.ebuild,v 1.1 2014/06/17 20:44:55 hasufell Exp $
EAPI=5
WX_GTK_VER="2.8"
inherit eutils wxwidgets toolchain-funcs gnome2-utils games
MY_P=0ad-${PV/_/-}
DESCRIPTION="A free, real-time strategy game"
HOMEPAGE="http://play0ad.com/"
SRC_URI="http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz"
LICENSE="GPL-2 LGPL-2.1 MIT CC-BY-SA-3.0 ZLIB"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="editor +lobby pch sound test"
RESTRICT="test"
RDEPEND="
dev-lang/spidermonkey:24
dev-libs/boost
dev-libs/icu
dev-libs/libxml2
~games-strategy/0ad-data-${PV}
media-gfx/nvidia-texture-tools
media-libs/libpng:0
media-libs/libsdl[X,opengl,video]
net-libs/enet:1.3
net-libs/miniupnpc
net-misc/curl
sys-libs/zlib
virtual/jpeg
virtual/opengl
x11-libs/libX11
x11-libs/libXcursor
editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
lobby? ( net-libs/gloox )
sound? ( media-libs/libogg
media-libs/libvorbis
media-libs/openal )"
DEPEND="${RDEPEND}
virtual/pkgconfig
test? ( dev-lang/perl )"
S=${WORKDIR}/${MY_P}
src_prepare() {
epatch "${FILESDIR}"/${P}-gentoo.patch \
"${FILESDIR}"/${P}-gcc-4.9.patch
}
src_configure() {
local myconf=(
--with-system-nvtt
--with-system-enet
--with-system-miniupnpc
--with-system-mozjs24
--minimal-flags
$(usex pch "" "--without-pch")
$(usex test "" "--without-tests")
$(usex sound "" "--without-audio")
$(usex editor "--atlas" "")
$(usex lobby "" "--without-lobby")
--collada
--bindir="${GAMES_BINDIR}"
--libdir="$(games_get_libdir)"/${PN}
--datadir="${GAMES_DATADIR}"/${PN}
)
# stock premake4 does not work, use the shipped one
emake -C "${S}"/build/premake/premake4/build/gmake.unix
# regenerate scripts.c so our patch applies
cd "${S}"/build/premake/premake4 || die
"${S}"/build/premake/premake4/bin/release/premake4 embed || die
# rebuild premake again... this is the most stupid build system
emake -C "${S}"/build/premake/premake4/build/gmake.unix clean
emake -C "${S}"/build/premake/premake4/build/gmake.unix
# run premake to create build scripts
cd "${S}"/build/premake || die
"${S}"/build/premake/premake4/bin/release/premake4 \
--file="premake4.lua" \
--outpath="../workspaces/gcc/" \
--platform=$(usex amd64 "x64" "x32") \
--os=linux \
"${myconf[@]}" \
gmake || die "Premake failed"
}
src_compile() {
# build 3rd party fcollada
emake -C libraries/source/fcollada/src
# build 0ad
emake -C build/workspaces/gcc verbose=1
}
src_test() {
cd binaries/system || die
./test -libdir "${S}/binaries/system" || die "test phase failed"
}
src_install() {
dogamesbin binaries/system/pyrogenesis
use editor && dogamesbin binaries/system/ActorEditor
insinto "${GAMES_DATADIR}"/${PN}
doins -r binaries/data/l10n
exeinto "$(games_get_libdir)"/${PN}
doexe binaries/system/libCollada.so
use editor && doexe binaries/system/libAtlasUI.so
dodoc binaries/system/readme.txt
doicon -s 128 build/resources/${PN}.png
games_make_wrapper ${PN} "${GAMES_BINDIR}/pyrogenesis"
use editor &&
games_make_wrapper ${PN}-ActorEditor "${GAMES_BINDIR}/ActorEditor"
make_desktop_entry ${PN}
prepgamesdirs
}
pkg_preinst() {
games_pkg_preinst
gnome2_icon_savelist
}
pkg_postinst() {
games_pkg_postinst
gnome2_icon_cache_update
}
pkg_postrm() {
gnome2_icon_cache_update
}
|