diff options
author | Alexey Sokolov <alexey+gentoo@asokolov.org> | 2023-04-05 03:06:12 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-04-10 06:20:44 +0100 |
commit | caf3802e7acd436a4a2c2b6bc2991921194b51e4 (patch) | |
tree | fdf48d37f7db0b7f96b21b123b8be6ddd4be51ea /games-strategy | |
parent | dev-lang/ruby: build verbosely and don't compress debug sections (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | games-strategy/freeorion/files/freeorion-0.5-ccache.patch | 18 | ||||
-rw-r--r-- | games-strategy/freeorion/freeorion-0.5.ebuild | 123 | ||||
-rw-r--r-- | games-strategy/freeorion/freeorion-9999.ebuild | 21 | ||||
-rw-r--r-- | games-strategy/freeorion/metadata.xml | 3 |
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> |