From 3e4c7e2ac79c01f4906776514be2c2e75f60085d Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Fri, 21 Feb 2025 20:07:58 -0500 Subject: [PATCH] games-strategy/freeorion: add 0.5.1 No bug had been filed, but previous version did not build for me anymore, presumably because of boost-1.87.0. This one seems fine. Signed-off-by: Ionen Wolkens --- games-strategy/freeorion/Manifest | 1 + .../freeorion/freeorion-0.5.1.ebuild | 126 ++++++++++++++++++ 2 files changed, 127 insertions(+) create mode 100644 games-strategy/freeorion/freeorion-0.5.1.ebuild diff --git a/games-strategy/freeorion/Manifest b/games-strategy/freeorion/Manifest index 25410153d695a..7d03acdcafe5e 100644 --- a/games-strategy/freeorion/Manifest +++ b/games-strategy/freeorion/Manifest @@ -1 +1,2 @@ DIST FreeOrion_v0.5.0.1_Source.tar.gz 152861158 BLAKE2B 6924d4916fcd3ac93e7498b5247957a6fb62b8523aa49114e9e11ef5e3b89374966551bc14192fa7928951728ce814fb86d89365beb97aa7c2bc84408bfcadd2 SHA512 dc267231329f0615f12887f22139d57a2611f378e17e8b0f26c00efdb77e73ef737ff875350f805d34a07ca4ce0595758e4f61168878477ebbd92d0149bcdc22 +DIST FreeOrion_v0.5.1_Source.tar.gz 154915100 BLAKE2B 5097fed26443cd076d03af05816148bf2923b86d4719b86e4593b1bca383af222db6f105e3b4a4b531188558305140e9999a80c7550959adaa65cf08f5bb6b5e SHA512 253deba1a90bd4fa7e33423e0148b22ee5234e47007fef9cee66d617caaa5794e2a600e057574c79caa7058557d51d290c5161e9dfa3d8dabe4ebc5da85b8233 diff --git a/games-strategy/freeorion/freeorion-0.5.1.ebuild b/games-strategy/freeorion/freeorion-0.5.1.ebuild new file mode 100644 index 0000000000000..cd67ef9f2c369 --- /dev/null +++ b/games-strategy/freeorion/freeorion-0.5.1.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit check-reqs cmake flag-o-matic multiprocessing python-single-r1 xdg + +DESCRIPTION="Free turn-based space empire and galactic conquest game" +HOMEPAGE="https://www.freeorion.org/" +SRC_URI="https://github.com/freeorion/freeorion/releases/download/v${PV}/FreeOrion_v${PV}_Source.tar.gz" +S=${WORKDIR}/src-tarball + +LICENSE="GPL-2+ CC-BY-SA-3.0 LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64" +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,zlib]') + client? ( + media-libs/freetype + media-libs/glew:0= + media-libs/libglvnd + 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-text/doxygen + media-gfx/graphviz + ) + test? ( $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') ) +" + +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 + + cmake_comment_add_subdirectory check #904124 +} + +src_configure() { + filter-lto # -Werror=odr issues + + local mycmakeargs=( + -DCCACHE_PROGRAM=no + -DBUILD_CLIENT_GG=$(usex client) + -DBUILD_CLIENT_GODOT=no # TODO? + -DBUILD_TESTING=$(usex test) + + # temporary for doc/CMakeLists.txt which is using the old variable + -DPYTHON_EXECUTABLE="${PYTHON}" + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile all $(usev doc) +} + +src_test() { + local CMAKE_SKIP_TESTS=( + # needs looking into but failure does not seem(?) to affect runtime, + # try to remove on bump + TestChecksum + ) + + cmake_src_test -j1 # avoid running 2 conflicting servers + + local EPYTEST_DESELECT=( + # broken with >=3.11 but is not known to cause issues, 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 +}