commit: 3246c00209ab6bab765ac17df147005b2e24e8ee Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Mon Jul 25 01:59:37 2022 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Mon Jul 25 06:11:06 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3246c002
games-strategy/freeorion: revbump with misc ebuild updates * run tests, but with a major exclusion until next bump (see src_test) * use check-reqs for the early build ram usage spike * use official release tarball for accurate Version.cpp, this also prevents use of git at build time for non-live * remove unused bullet dependency (bug #846638) along with freealut * unbundle dejavu/roboto fonts * IUSE=doc for doxygen apidocs * install ChangeLog.md * drop unnecessary use of [X] on libsdl2 but keep on libglvnd for now as building tests is broken with =GLVND (next bump will use libOpenGL by default and has fixed building tests) * drop env.d LDPATH file and use rpath as intended (formerly a workaround for insecure runpaths because ebuild used dobin rather than cmake, but hasn't been like that in a while) Closes: https://bugs.gentoo.org/846638 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> games-strategy/freeorion/Manifest | 1 + .../freeorion/freeorion-0.4.10.2-r1.ebuild | 117 +++++++++++++++++++++ 2 files changed, 118 insertions(+) diff --git a/games-strategy/freeorion/Manifest b/games-strategy/freeorion/Manifest index 4a872343e2a4..199410a08934 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-0.4.10.2.tar.gz 124720711 BLAKE2B 4f707b5296bdbc05b2b775b62f0393d1770bcf64c48f08d3332fbbb4b78e1bdc3e8111a1e421a8d0f0e03ca7454bba981809b9486d3d803e39faf042f1145059 SHA512 13832992efe17fe48615ccdf284d1e9f391c35ed518abd15276992128a02894f4b30c8fe3d950e41935efb823cf834dc430330f0bcc6c9e91f13a3dea9812628 diff --git a/games-strategy/freeorion/freeorion-0.4.10.2-r1.ebuild b/games-strategy/freeorion/freeorion-0.4.10.2-r1.ebuild new file mode 100644 index 000000000000..3d3075568e67 --- /dev/null +++ b/games-strategy/freeorion/freeorion-0.4.10.2-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# note: py3.11 is known failing at runtime with this version +PYTHON_COMPAT=( python3_{8..10} ) +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 + FREEORION_BUILD_ID="2021-08-01.f663dad" + SRC_URI="https://github.com/freeorion/freeorion/releases/download/v${PV}/FreeOrion_v${PV}_${FREEORION_BUILD_ID}_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="dedicated 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:= + !dedicated? ( + media-libs/freetype + media-libs/glew:= + media-libs/libglvnd[X] + media-libs/libogg + media-libs/libpng:= + media-libs/libsdl2[opengl,video] + media-libs/libvorbis + media-libs/openal + )" +RDEPEND=" + ${DEPEND} + !dedicated? ( + 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}]') + )" + +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_HEADLESS=$(usex dedicated) + -DBUILD_TESTING=$(usex test) + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile all $(usev doc) +} + +src_test() { + # freeoriond randomly(?) segfaults on exit, cause unknown but + # seems fixed by some refactoring in -9999 (excluding for now) + cmake_src_test -E 'SmokeTest(Game|Hostless)' + + 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 dedicated; then + rm -r "${ED}"/usr/share/freeorion/default/data/fonts || die + else + 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 + fi +}