blob: ec34f3793388e8a77543cd0b3e92d5dc5abd0188 (
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
142
143
144
145
146
147
148
149
150
151
152
153
154
|
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
EGIT_REPO_URI="git://github.com/spring/spring.git"
EGIT_BRANCH="develop"
KEYWORDS=""
inherit games cmake-utils eutils fdo-mime flag-o-matic games git-r3
DESCRIPTION="A 3D multiplayer real-time strategy game engine"
HOMEPAGE="http://springrts.com"
LICENSE="GPL-2"
SLOT="0"
IUSE="+ai +java +default multithreaded headless dedicated test-ai debug profile -custom-march -custom-cflags openmp -lto test"
RESTRICT="nomirror strip"
GUI_DEPEND="
media-libs/devil[jpeg,png,opengl]
>=media-libs/freetype-2.0.0
>=media-libs/glew-1.4
>=media-libs/libsdl-1.2.0[X,opengl]
media-libs/openal
media-libs/libvorbis
media-libs/libogg
virtual/glu
virtual/opengl
"
RDEPEND="
>=dev-libs/boost-1.35
>=sys-libs/zlib-1.2.5.1[minizip]
media-libs/devil[jpeg,png]
java? ( virtual/jdk )
default? ( ${GUI_DEPEND} )
multithreaded? ( ${GUI_DEPEND} )
"
DEPEND="${RDEPEND}
>=sys-devel/gcc-4.2
app-arch/p7zip
>=dev-util/cmake-2.6.0
openmp? ( sys-devel/gcc[openmp] )
lto? ( sys-devel/gcc[lto] )
"
### where to place content files which change each spring release (as opposed to mods, ota-content which go somewhere else)
VERSION_DATADIR="${GAMES_DATADIR}/${PN}"
src_test() {
cmake-utils_src_test
}
src_configure() {
# Custom cflags break online play
if use custom-cflags ; then
ewarn "\e[1;31m*********************************************************************\e[0m"
ewarn "You enabled Custom-CFlags! ('custom-cflags' USE flag)"
ewarn "It's \e[1;31mimpossible\e[0m that this build will work in online play."
ewarn "Disable it before doing a bugreport."
ewarn "\e[1;31m*********************************************************************\e[0m"
ebeep 6
else
strip-flags
fi
# Custom march may break online play
if use custom-march ; then
ewarn "\e[1;31m*********************************************************************\e[0m"
ewarn "You enabled Custom-march! ('custom-march' USE flag)"
ewarn "It may break online play."
ewarn "If so, disable it before doing a bugreport."
ewarn "\e[1;31m*********************************************************************\e[0m"
mycmakeargs="${mycmakeargs} -DMARCH_FLAG=$(get-flag march)"
fi
# OpenMP (may break online play & reduced performance on single core)
mycmakeargs="${mycmakeargs} $(cmake-utils_use openmp OPENMP)"
# LinkingTimeOptimizations
mycmakeargs="${mycmakeargs} $(cmake-utils_use lto LTO)"
if use lto; then
ewarn "\e[1;31m*********************************************************************\e[0m"
ewarn "You enabled LinkingTimeOptimizations! ('lto' USE flag)"
ewarn "It's likely that the compilation fails and/or online play may break."
ewarn "If so, disable it before doing a bugreport."
ewarn "\e[1;31m*********************************************************************\e[0m"
fi
# AI
if use ai ; then
# Several AI are found in submodules
EGIT_HAS_SUBMODULES="true"
if use !java ; then
# Don't build Java AI
mycmakeargs="${mycmakeargs} -DAI_TYPES=NATIVE"
fi
if use !test-ai ; then
# Don't build example AIs
mycmakeargs="${mycmakeargs} -DAI_EXCLUDE_REGEX=\"Null|Test\""
fi
else
mycmakeargs="${mycmakeargs} -DAI_TYPES=NONE"
fi
# Selectivly enable/disable build targets
for build_type in default multithreaded headless dedicated
do
mycmakeargs="${mycmakeargs} $(cmake-utils_use ${build_type} BUILD_spring-${build_type})"
done
# Set common dirs
LIBDIR="$(games_get_libdir)"
mycmakeargs="${mycmakeargs} -DCMAKE_INSTALL_PREFIX=/usr -DBINDIR=${GAMES_BINDIR#/usr/} -DLIBDIR=${LIBDIR#/usr/} -DDATADIR=${VERSION_DATADIR#/usr/}"
# Enable/Disable debug symbols
if use profile ; then
CMAKE_BUILD_TYPE="PROFILE"
else
if use debug ; then
CMAKE_BUILD_TYPE="RELWITHDEBINFO"
else
CMAKE_BUILD_TYPE="RELEASE"
fi
fi
# Configure
cmake-utils_src_configure
}
src_compile () {
cmake-utils_src_compile
}
src_install () {
cmake-utils_src_install
prepgamesdirs
}
pkg_postinst() {
fdo-mime_mime_database_update
games_pkg_postinst
}
|