summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Sokolov <alexey+gentoo@asokolov.org>2023-04-05 03:06:12 +0100
committerSam James <sam@gentoo.org>2023-04-10 06:20:44 +0100
commitcaf3802e7acd436a4a2c2b6bc2991921194b51e4 (patch)
treefdf48d37f7db0b7f96b21b123b8be6ddd4be51ea /games-strategy
parentdev-lang/ruby: build verbosely and don't compress debug sections (diff)
downloadgentoo-caf3802e7acd436a4a2c2b6bc2991921194b51e4.tar.gz
gentoo-caf3802e7acd436a4a2c2b6bc2991921194b51e4.tar.bz2
gentoo-caf3802e7acd436a4a2c2b6bc2991921194b51e4.zip
games-strategy/freeorion: add 0.5
Closes: https://bugs.gentoo.org/901231 Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org> Closes: https://github.com/gentoo/gentoo/pull/30482 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'games-strategy')
-rw-r--r--games-strategy/freeorion/Manifest1
-rw-r--r--games-strategy/freeorion/files/freeorion-0.5-ccache.patch18
-rw-r--r--games-strategy/freeorion/freeorion-0.5.ebuild123
-rw-r--r--games-strategy/freeorion/freeorion-9999.ebuild21
-rw-r--r--games-strategy/freeorion/metadata.xml3
5 files changed, 157 insertions, 9 deletions
diff --git a/games-strategy/freeorion/Manifest b/games-strategy/freeorion/Manifest
index 478345ba36ff..c8383bc84536 100644
--- a/games-strategy/freeorion/Manifest
+++ b/games-strategy/freeorion/Manifest
@@ -1 +1,2 @@
DIST FreeOrion_v0.4.10.2_2021-08-01.f663dad_Source.tar.gz 124836633 BLAKE2B 42224b84a7aef99e998cb025b5095365a65670a3a0a543ef323f444f1904557713dc995de6f7ccaf9a45e34f62b4c65d4977caa0f6ac7605a9978268bdef0ba1 SHA512 a0f327f5fec82cf15495828f60b59b59834efaa041919fe9f68e4428e89b729503b7e666214ea39e5c9afdfbb9efd343c5cbcb8dfc982d6f56b3a06fd898f428
+DIST FreeOrion_v0.5_Source.tar.gz 152861207 BLAKE2B 5263f9c2461db35b5283122889d0779f175af095e90eb782d21b6870193669b0307c2df95ebde78b3f762d2d0e1e1d8ec5f537bd44bf6810b9fbf76c58322172 SHA512 ec1247584d317ca0d0394d62754fd35b1d1212323e96e644c9efae422437daf63aac12c2798274993c9c29887fe73a51bfe11e9b53370dc261a0683efe312f19
diff --git a/games-strategy/freeorion/files/freeorion-0.5-ccache.patch b/games-strategy/freeorion/files/freeorion-0.5-ccache.patch
new file mode 100644
index 000000000000..dc289fa84ec9
--- /dev/null
+++ b/games-strategy/freeorion/files/freeorion-0.5-ccache.patch
@@ -0,0 +1,18 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -30,7 +30,6 @@ ENDIF(NOT CMAKE_BUILD_TYPE)
+ message(STATUS "Build type CMAKE_BUILD_TYPE set to ${CMAKE_BUILD_TYPE}")
+
+ include(UseCompilerCache)
+-find_compiler_cache(PROGRAM ccache)
+
+ list(APPEND GODOT_CPP_CMAKE_VARS "CMAKE_BUILD_TYPE;CMAKE_CONFIGURATION_TYPES;CMAKE_TOOLCHAIN_FILE;PYTHON_EXECUTABLE")
+ get_cmake_property(vars CACHE_VARIABLES)
+@@ -50,7 +49,6 @@ endforeach()
+
+ project(FreeOrion)
+
+-use_compiler_cache_with_xcode()
+
+ include(GNUInstallDirs)
+ include(UseCodeCoverage)
diff --git a/games-strategy/freeorion/freeorion-0.5.ebuild b/games-strategy/freeorion/freeorion-0.5.ebuild
new file mode 100644
index 000000000000..4850c266029c
--- /dev/null
+++ b/games-strategy/freeorion/freeorion-0.5.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+inherit check-reqs cmake multiprocessing python-single-r1 xdg
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/freeorion/freeorion.git"
+else
+ SRC_URI="https://github.com/freeorion/freeorion/releases/download/v${PV}/FreeOrion_v${PV}_Source.tar.gz"
+ S="${WORKDIR}/src-tarball"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Free turn-based space empire and galactic conquest game"
+HOMEPAGE="https://www.freeorion.org/"
+
+LICENSE="GPL-2+ CC-BY-SA-3.0 LGPL-2.1+"
+SLOT="0"
+IUSE="+client doc test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep 'dev-libs/boost:=[${PYTHON_USEDEP},nls,python]')
+ sys-libs/zlib:=
+ client? (
+ media-libs/freetype
+ media-libs/glew:=
+ media-libs/libglvnd
+ media-libs/libogg
+ media-libs/libpng:=
+ media-libs/libsdl2[opengl,video]
+ media-libs/libvorbis
+ media-libs/openal
+ )"
+RDEPEND="
+ ${DEPEND}
+ client? (
+ media-fonts/dejavu
+ media-fonts/roboto
+ )"
+BDEPEND="
+ ${PYTHON_DEPS}
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ )
+ test? (
+ $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
+ )"
+
+PATCHES=(
+ "${FILESDIR}/freeorion-0.5-ccache.patch"
+)
+
+freeorion_check-reqs() {
+ # cc1plus processes may suddenly use ~1.5GB all at once early on (2+GB
+ # if debug symbols) then far less for the rest, check minimal jobs*1.5
+ local CHECKREQS_MEMORY=$(($(makeopts_jobs)*1500))M
+ check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+ freeorion_check-reqs
+}
+
+pkg_setup() {
+ freeorion_check-reqs
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -i 's/-O3//' CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CLIENT_GG=$(usex client)
+ -DBUILD_CLIENT_GODOT=no # TODO, perhaps with system godot (experimental)
+ -DBUILD_TESTING=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile all $(usev doc)
+}
+
+src_test() {
+ cmake_src_test -j1 # avoid running 2 conflicting servers
+
+ local EPYTEST_DESELECT=(
+ # broken with 3.11 but is not known to cause issues, just skip for now
+ tests/AI/save_game_codec/test_savegame_manager.py::test_setstate_call
+ )
+
+ epytest -o cache_dir="${T}"/pytest_cache default/python/tests
+}
+
+src_install() {
+ local DOCS=( ChangeLog.md README.md )
+ cmake_src_install
+
+ use doc && dodoc -r "${BUILD_DIR}"/doc/cpp-apidoc/html
+
+ if use client; then
+ local font
+ for font in roboto/Roboto-{Bold,Regular}.ttf dejavu/DejaVuSans{-Bold,}.ttf; do
+ dosym -r /usr/share/{fonts/${font%/*},${PN}/default/data/fonts}/${font##*/}
+ done
+ rm "${ED}"/usr/share/${PN}/default/data/fonts/LICENSE.{Roboto,DejaVu} || die
+ else
+ rm -r "${ED}"/usr/share/freeorion/default/data/fonts || die
+ fi
+}
diff --git a/games-strategy/freeorion/freeorion-9999.ebuild b/games-strategy/freeorion/freeorion-9999.ebuild
index 7445d5c039df..4850c266029c 100644
--- a/games-strategy/freeorion/freeorion-9999.ebuild
+++ b/games-strategy/freeorion/freeorion-9999.ebuild
@@ -10,8 +10,7 @@ if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/freeorion/freeorion.git"
else
- FREEORION_BUILD_ID=""
- SRC_URI="https://github.com/freeorion/freeorion/releases/download/v${PV}/FreeOrion_v${PV}_${FREEORION_BUILD_ID}_Source.tar.gz"
+ SRC_URI="https://github.com/freeorion/freeorion/releases/download/v${PV}/FreeOrion_v${PV}_Source.tar.gz"
S="${WORKDIR}/src-tarball"
KEYWORDS="~amd64"
fi
@@ -21,7 +20,7 @@ HOMEPAGE="https://www.freeorion.org/"
LICENSE="GPL-2+ CC-BY-SA-3.0 LGPL-2.1+"
SLOT="0"
-IUSE="dedicated doc test"
+IUSE="+client doc test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
@@ -29,7 +28,7 @@ DEPEND="
${PYTHON_DEPS}
$(python_gen_cond_dep 'dev-libs/boost:=[${PYTHON_USEDEP},nls,python]')
sys-libs/zlib:=
- !dedicated? (
+ client? (
media-libs/freetype
media-libs/glew:=
media-libs/libglvnd
@@ -41,7 +40,7 @@ DEPEND="
)"
RDEPEND="
${DEPEND}
- !dedicated? (
+ client? (
media-fonts/dejavu
media-fonts/roboto
)"
@@ -55,6 +54,10 @@ BDEPEND="
$(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
)"
+PATCHES=(
+ "${FILESDIR}/freeorion-0.5-ccache.patch"
+)
+
freeorion_check-reqs() {
# cc1plus processes may suddenly use ~1.5GB all at once early on (2+GB
# if debug symbols) then far less for the rest, check minimal jobs*1.5
@@ -79,7 +82,7 @@ src_prepare() {
src_configure() {
local mycmakeargs=(
- -DBUILD_CLIENT_GG=$(usex !dedicated)
+ -DBUILD_CLIENT_GG=$(usex client)
-DBUILD_CLIENT_GODOT=no # TODO, perhaps with system godot (experimental)
-DBUILD_TESTING=$(usex test)
)
@@ -108,13 +111,13 @@ src_install() {
use doc && dodoc -r "${BUILD_DIR}"/doc/cpp-apidoc/html
- if use dedicated; then
- rm -r "${ED}"/usr/share/freeorion/default/data/fonts || die
- else
+ if use client; then
local font
for font in roboto/Roboto-{Bold,Regular}.ttf dejavu/DejaVuSans{-Bold,}.ttf; do
dosym -r /usr/share/{fonts/${font%/*},${PN}/default/data/fonts}/${font##*/}
done
rm "${ED}"/usr/share/${PN}/default/data/fonts/LICENSE.{Roboto,DejaVu} || die
+ else
+ rm -r "${ED}"/usr/share/freeorion/default/data/fonts || die
fi
}
diff --git a/games-strategy/freeorion/metadata.xml b/games-strategy/freeorion/metadata.xml
index 07e33aa89255..13a031dcf42b 100644
--- a/games-strategy/freeorion/metadata.xml
+++ b/games-strategy/freeorion/metadata.xml
@@ -12,6 +12,9 @@
Master of Orion games, but is not a clone or remake of that series
or any other game.
</longdescription>
+ <use>
+ <flag name="client">Build game client</flag>
+ </use>
<upstream>
<remote-id type="github">freeorion/freeorion</remote-id>
</upstream>