10 |
10 |
inherit git-r3
|
11 |
11 |
EGIT_REPO_URI="https://github.com/freeorion/freeorion.git"
|
12 |
12 |
else
|
13 |
|
FREEORION_BUILD_ID="2021-08-01.f663dad"
|
14 |
|
SRC_URI="https://github.com/freeorion/freeorion/releases/download/v${PV}/FreeOrion_v${PV}_${FREEORION_BUILD_ID}_Source.tar.gz"
|
|
13 |
SRC_URI="https://github.com/freeorion/freeorion/releases/download/v${PV}/FreeOrion_v${PV}_Source.tar.gz"
|
15 |
14 |
S="${WORKDIR}/src-tarball"
|
16 |
15 |
KEYWORDS="~amd64"
|
17 |
16 |
fi
|
... | ... | |
21 |
20 |
|
22 |
21 |
LICENSE="GPL-2+ CC-BY-SA-3.0 LGPL-2.1+"
|
23 |
22 |
SLOT="0"
|
24 |
|
IUSE="dedicated doc test"
|
|
23 |
IUSE="+client doc test"
|
25 |
24 |
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
26 |
25 |
RESTRICT="!test? ( test )"
|
27 |
26 |
|
... | ... | |
29 |
28 |
${PYTHON_DEPS}
|
30 |
29 |
$(python_gen_cond_dep 'dev-libs/boost:=[${PYTHON_USEDEP},nls,python]')
|
31 |
30 |
sys-libs/zlib:=
|
32 |
|
!dedicated? (
|
|
31 |
client? (
|
33 |
32 |
media-libs/freetype
|
34 |
33 |
media-libs/glew:=
|
35 |
|
media-libs/libglvnd[X]
|
|
34 |
media-libs/libglvnd
|
36 |
35 |
media-libs/libogg
|
37 |
36 |
media-libs/libpng:=
|
38 |
37 |
media-libs/libsdl2[opengl,video]
|
... | ... | |
41 |
40 |
)"
|
42 |
41 |
RDEPEND="
|
43 |
42 |
${DEPEND}
|
44 |
|
!dedicated? (
|
|
43 |
client? (
|
45 |
44 |
media-fonts/dejavu
|
46 |
45 |
media-fonts/roboto
|
47 |
46 |
)"
|
... | ... | |
55 |
54 |
$(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
|
56 |
55 |
)"
|
57 |
56 |
|
|
57 |
PATCHES=(
|
|
58 |
"${FILESDIR}/freeorion-0.5-ccache.patch"
|
|
59 |
)
|
|
60 |
|
58 |
61 |
freeorion_check-reqs() {
|
59 |
62 |
# cc1plus processes may suddenly use ~1.5GB all at once early on (2+GB
|
60 |
63 |
# if debug symbols) then far less for the rest, check minimal jobs*1.5
|
... | ... | |
79 |
82 |
|
80 |
83 |
src_configure() {
|
81 |
84 |
local mycmakeargs=(
|
82 |
|
-DBUILD_HEADLESS=$(usex dedicated)
|
|
85 |
-DBUILD_CLIENT_GG=$(usex client)
|
|
86 |
-DBUILD_CLIENT_GODOT=no # TODO, perhaps with system godot (experimental)
|
83 |
87 |
-DBUILD_TESTING=$(usex test)
|
84 |
88 |
)
|
85 |
89 |
|
... | ... | |
91 |
95 |
}
|
92 |
96 |
|
93 |
97 |
src_test() {
|
94 |
|
# freeoriond randomly(?) segfaults on exit, cause unknown but
|
95 |
|
# seems fixed by some refactoring in -9999 (excluding for now)
|
96 |
|
cmake_src_test -E 'SmokeTest(Game|Hostless)'
|
|
98 |
cmake_src_test -j1 # avoid running 2 conflicting servers
|
97 |
99 |
|
98 |
100 |
local EPYTEST_DESELECT=(
|
99 |
101 |
# broken with 3.11 but is not known to cause issues, just skip for now
|
100 |
|
default/python/tests/AI/test_savegame_manager.py::test_setstate_call
|
|
102 |
tests/AI/save_game_codec/test_savegame_manager.py::test_setstate_call
|
101 |
103 |
)
|
102 |
104 |
|
103 |
105 |
epytest -o cache_dir="${T}"/pytest_cache default/python/tests
|
... | ... | |
109 |
111 |
|
110 |
112 |
use doc && dodoc -r "${BUILD_DIR}"/doc/cpp-apidoc/html
|
111 |
113 |
|
112 |
|
if use dedicated; then
|
113 |
|
rm -r "${ED}"/usr/share/freeorion/default/data/fonts || die
|
114 |
|
else
|
|
114 |
if use client; then
|
115 |
115 |
local font
|
116 |
116 |
for font in roboto/Roboto-{Bold,Regular}.ttf dejavu/DejaVuSans{-Bold,}.ttf; do
|
117 |
117 |
dosym -r /usr/share/{fonts/${font%/*},${PN}/default/data/fonts}/${font##*/}
|
118 |
118 |
done
|
119 |
119 |
rm "${ED}"/usr/share/${PN}/default/data/fonts/LICENSE.{Roboto,DejaVu} || die
|
|
120 |
else
|
|
121 |
rm -r "${ED}"/usr/share/freeorion/default/data/fonts || die
|
120 |
122 |
fi
|
121 |
123 |
}
|