commit:     1d963d8e8907e5c9d3ddc2795b6266e3c13b6368
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun May  5 22:10:24 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun May  5 23:43:47 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d963d8e

games-strategy/freeorion: add 0.5.0.1, enable py3.12

Tests pass (for me) with all python versions, albeit there is
bug #904124 that implies they may not and unsure what it is
about. Will see if CI can reproduce again with this I guess.

Other changes:
- replace ccache patch by a cmake option
- drop the check directory wrt bug #904124 to ensure no flaky
  behavior if dependencies are found
- filter-lto for now due to: DesignWnd.cpp:43:8: error: type
'struct Availability' violates the C++ One Definition Rule
  (this was an issue in 0.5 as well)

Bug: https://bugs.gentoo.org/904124
Closes: https://bugs.gentoo.org/929597
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 games-strategy/freeorion/Manifest                 |   1 +
 games-strategy/freeorion/freeorion-0.5.0.1.ebuild | 119 ++++++++++++++++++++++
 2 files changed, 120 insertions(+)

diff --git a/games-strategy/freeorion/Manifest 
b/games-strategy/freeorion/Manifest
index b33c45109c5f..855ea24f8f6f 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_Source.tar.gz 152861207 BLAKE2B 
5263f9c2461db35b5283122889d0779f175af095e90eb782d21b6870193669b0307c2df95ebde78b3f762d2d0e1e1d8ec5f537bd44bf6810b9fbf76c58322172
 SHA512 
ec1247584d317ca0d0394d62754fd35b1d1212323e96e644c9efae422437daf63aac12c2798274993c9c29887fe73a51bfe11e9b53370dc261a0683efe312f19

diff --git a/games-strategy/freeorion/freeorion-0.5.0.1.ebuild 
b/games-strategy/freeorion/freeorion-0.5.0.1.ebuild
new file mode 100644
index 000000000000..29b1188c6e9f
--- /dev/null
+++ b/games-strategy/freeorion/freeorion-0.5.0.1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+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]')
+       sys-libs/zlib:=
+       client? (
+               media-libs/freetype
+               media-libs/glew:0=
+               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-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? 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
+}

Reply via email to