diff options
Diffstat (limited to 'games-strategy')
-rw-r--r-- | games-strategy/Manifest.gz | bin | 7583 -> 7587 bytes | |||
-rw-r--r-- | games-strategy/endless-sky/Manifest | 6 | ||||
-rw-r--r-- | games-strategy/endless-sky/endless-sky-0.10.12.ebuild (renamed from games-strategy/endless-sky/endless-sky-0.10.6.ebuild) | 27 | ||||
-rw-r--r-- | games-strategy/endless-sky/endless-sky-0.10.8.ebuild | 4 | ||||
-rw-r--r-- | games-strategy/freeorion/Manifest | 2 | ||||
-rw-r--r-- | games-strategy/freeorion/freeorion-0.5.1.ebuild | 126 | ||||
-rw-r--r-- | games-strategy/lgeneral/Manifest | 6 | ||||
-rw-r--r-- | games-strategy/lgeneral/files/lgeneral-1.4.4-configure.patch | 24 | ||||
-rw-r--r-- | games-strategy/lgeneral/files/lgeneral-1.4.4-remove-defs-from-header.patch | 29 | ||||
-rw-r--r-- | games-strategy/lgeneral/files/lgeneral-1.4.4-uninline.patch | 471 | ||||
-rw-r--r-- | games-strategy/lgeneral/files/update_autotools.patch | 278 | ||||
-rw-r--r-- | games-strategy/lgeneral/lgeneral-1.4.4-r1.ebuild (renamed from games-strategy/lgeneral/lgeneral-1.4.4.ebuild) | 16 | ||||
-rw-r--r-- | games-strategy/naev/Manifest | 2 | ||||
-rw-r--r-- | games-strategy/naev/naev-0.12.3.ebuild | 102 |
14 files changed, 1077 insertions, 16 deletions
diff --git a/games-strategy/Manifest.gz b/games-strategy/Manifest.gz Binary files differindex 15a2c1a0fcc7..05cd450ab263 100644 --- a/games-strategy/Manifest.gz +++ b/games-strategy/Manifest.gz diff --git a/games-strategy/endless-sky/Manifest b/games-strategy/endless-sky/Manifest index 13b8b316f931..e01fa6b8ae1b 100644 --- a/games-strategy/endless-sky/Manifest +++ b/games-strategy/endless-sky/Manifest @@ -1,5 +1,5 @@ -DIST endless-sky-0.10.6.tar.gz 256438340 BLAKE2B 39699f458b691dd8aa0586ebbb5b537b8b999ea0084abc561803e21e97986dd6ef28582545fc79cc5cd3ef5d4c587b96860fd7b94294acf2fee31224543ac4ff SHA512 815f64db07997cc8732b12887f55d363f0ef7e44a158dc83fc0b6c4c12c69dab3bf7e1b14c7e93fe920974d8c28b8043f39808227219f09adfe618a00389a530 +DIST endless-sky-0.10.12.tar.gz 360083301 BLAKE2B e62911494e4824adeaee6aee8722afa0e7339d3f51186b6d60b05704131911cd262ffd750bff4eeeee15b61edbf63cfde2a03cd1728166121f04ac8afc2451f6 SHA512 908751e4d0f6df5bfdfc0be99326a3a9e6ef4585e7968b4576c338c9b7904b462628ebec329b1246c7c2edec5a281f28ff389ae754ec92f11743cac5e20d260a DIST endless-sky-0.10.8.tar.gz 257381131 BLAKE2B ea6fe5e4240b9744a9e1d64137a731c8a67f88acbd688fad13f3beab2bb6d16e46b3c85fd1288350917eff18264b5a477ed964729edaa098eff07fef10ca81ee SHA512 d6cfb3efba6214a42b112d315dda945085f6a9f915a22bd3fe0ff78cb628a242aa8c0613165a2e1c67d81f5c32f937c2b73a7851efe3984ebe94af4e456df547 -EBUILD endless-sky-0.10.6.ebuild 2077 BLAKE2B fda16b09d2f8bb729b2bf6ee4cbe332cf9ad5478e35b2c8c3925dc9614ccf13ad179df42d0dda1281996e139cd8ef66fadcc8ebd0a511c3c67a301948c2df97b SHA512 429c3d421ce9432e73dc9d6015a1bde8ef28d2053ec5e466ba439aa05f113437e0adbc57359ef31e000cd60eb2459f8facc60a8547fe3dc85a672752c64c446a -EBUILD endless-sky-0.10.8.ebuild 2077 BLAKE2B fda16b09d2f8bb729b2bf6ee4cbe332cf9ad5478e35b2c8c3925dc9614ccf13ad179df42d0dda1281996e139cd8ef66fadcc8ebd0a511c3c67a301948c2df97b SHA512 429c3d421ce9432e73dc9d6015a1bde8ef28d2053ec5e466ba439aa05f113437e0adbc57359ef31e000cd60eb2459f8facc60a8547fe3dc85a672752c64c446a +EBUILD endless-sky-0.10.12.ebuild 2422 BLAKE2B c0cf9268bb647fd880c3e69f2a445fc36242ec7cbf2c7c1269ae180dcd323789ede75ba44d9e1ff5cc6be9b8b36107d2cf48dc1fcb4df12a22329372a4002295 SHA512 e7fe361e60853c24e6e01fdeb40a3a11c2c7a2f6a4c7c15b37e7edb313a2953c65abfbe780417e28e36ddfad0394af7088d5580236842288b1738c8ccfc9f991 +EBUILD endless-sky-0.10.8.ebuild 2086 BLAKE2B 1cc033299258d0100151be6a5fe0b5752c29be777f9b2a606cb0a571db6a1d9686ce08127f0e1a01785e90ec955ff82ccba2a2bcb59ed07d9fbfe586b5369686 SHA512 9b63b71504191e8a26af8ae502c216b161097a574fd2d7317afc73c71529ab82ced8c5d668dd8cd0c48e9806924540d420054d6417a6c0dd9e1961a920f55a28 MISC metadata.xml 732 BLAKE2B 05e221e5b8bc45baf62a5361a1fa11affd5bfce04bb1ed4127251c151771df72c873e9c2deab4aa9b4800fa3314fa768c635e61bf941e3eb74241ee5f2a8aabf SHA512 2aefeccd986719aab4be77af1bf4458b36a873918c04905f9b432a591a44dfdd001faf29ab16ced565c069e846bfe5a96e2c12ffa1e4d62a7b202cf7fc356949 diff --git a/games-strategy/endless-sky/endless-sky-0.10.6.ebuild b/games-strategy/endless-sky/endless-sky-0.10.12.ebuild index d1f1437b24c2..484af536d278 100644 --- a/games-strategy/endless-sky/endless-sky-0.10.6.ebuild +++ b/games-strategy/endless-sky/endless-sky-0.10.12.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit cmake prefix xdg +inherit cmake flag-o-matic xdg DESCRIPTION="Space exploration, trading & combat in the tradition of Terminal Velocity" HOMEPAGE="https://endless-sky.github.io/" @@ -16,7 +16,7 @@ LICENSE=" GPL-3+ CC-BY-2.0 CC-BY-3.0 CC-BY-4.0 CC-BY-SA-3.0 CC-BY-SA-4.0 - CC0-1.0 public-domain + CC0-1.0 Unsplash public-domain " SLOT="0" KEYWORDS="~amd64 ~x86" @@ -37,25 +37,36 @@ RDEPEND=" media-libs/libsdl2[opengl] ) " -DEPEND="${RDEPEND}" +DEPEND=" + ${RDEPEND} + test? ( dev-cpp/catch:0 ) +" src_prepare() { cmake_src_prepare # no /usr/*games/ on Gentoo, adjust docdir, install even if != Release, # and GLEW is unused if USE=gles2-only (using sed for less rebasing) - sed -e '/install(/s: games: bin:' \ + sed -e '/install(/s: games: libexec:' \ -e '/install(/s: share/games: share:' \ -e "/install(/s: share/doc/endless-sky: share/doc/${PF}:" \ -e '/install(/s: CONFIGURATIONS Release::' \ -e 's:GLEW REQUIRED:GLEW:' \ -i CMakeLists.txt || die - sed -i '/PATH/s:share/games:share:' source/Files.cpp || die - hprefixify -w /PATH/ source/Files.cpp + # do not use sanitizers for tests + sed -i '/SANITIZER_OPTS/d' tests/CMakeLists.txt || die + + # source/Files.cpp has odd logic to find resources, make a wrapper + # rather than try to modify it + printf '#!/usr/bin/env sh\nexec %q --resources %q "$@"\n' \ + "${EPREFIX}"/usr/libexec/${PN} \ + "${EPREFIX}"/usr/share/${PN} > "${T}"/${PN} || die } src_configure() { + filter-lto # -Werror=odr issues + local mycmakeargs=( -DBUILD_TESTING=$(usex test) -DES_GLES=$(usex gles2-only) @@ -69,6 +80,8 @@ src_configure() { src_install() { cmake_src_install + dobin "${T}"/${PN} + gzip -d -- "${ED}"/usr/share/man/man6/${PN}.6.gz || die rm -- "${ED}"/usr/share/doc/${PF}/{copyright,license.txt} || die } diff --git a/games-strategy/endless-sky/endless-sky-0.10.8.ebuild b/games-strategy/endless-sky/endless-sky-0.10.8.ebuild index d1f1437b24c2..c0a4e125f072 100644 --- a/games-strategy/endless-sky/endless-sky-0.10.8.ebuild +++ b/games-strategy/endless-sky/endless-sky-0.10.8.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -16,7 +16,7 @@ LICENSE=" GPL-3+ CC-BY-2.0 CC-BY-3.0 CC-BY-4.0 CC-BY-SA-3.0 CC-BY-SA-4.0 - CC0-1.0 public-domain + CC0-1.0 Unsplash public-domain " SLOT="0" KEYWORDS="~amd64 ~x86" diff --git a/games-strategy/freeorion/Manifest b/games-strategy/freeorion/Manifest index cf4936a669cf..5463de9ae6a8 100644 --- a/games-strategy/freeorion/Manifest +++ b/games-strategy/freeorion/Manifest @@ -1,4 +1,6 @@ AUX freeorion-0.5.0.1-boost1.85.patch 2287 BLAKE2B 30ba9d71ca0f69c42dd0b795e46702d324dddba727cfc14a80d2ba011809c78b3ebb51a600945e0a50d27f8fe0fc054814a4403cca63ce81d02508425c4cfbc9 SHA512 83ebc9a50121df011436bf6dcfb641601e15e224055e44b076a64a73e3623b7a6407c146477bf63cc1f150a5629aece870010d25fbb1c537fcdcb64c2b192b74 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 EBUILD freeorion-0.5.0.1-r1.ebuild 2988 BLAKE2B 359e2ef8b2149d80e1d53420740fba567b223b319236fe2b34c3bd50b808057f6453e4162b4fc83d7eb5aab02937c9b7ee587ead12ad08212fd1ef7f1f488f37 SHA512 6dc09a70c5bf02531fcf271aa06c16681eb80f646a96992056423756f516f9a848acaf2764654340ab16f915e8c250aba08801a031d56d9a8fe4f5bed077dfc4 +EBUILD freeorion-0.5.1.ebuild 2950 BLAKE2B b4c024cfa8303c67128336aa98b16bb8bb686a1731b931c02ad90c72df0bae4708df4511aea900ff7e8c38473ea69cb0febc3fc3db8886962af89c3e9f935c35 SHA512 c47a85a5c3ac2cc22beb9b716803aec986fa420ab21478a24b25c560ac2e801757a6249a0db29e251cec39ea51bddd418ffcb1e8c49a1ba1fcf118ce88604b5d MISC metadata.xml 757 BLAKE2B 64e1e5a856369650c9d41b75f7af091c5fde43ab2992911cc81d5e4ba12d13fea5e4e82ae960e75208979aea38eeeb07d4bfebdb1eb45c035796ed854090cbe6 SHA512 5e631e52b5dbabbb6ce1cde6e416c4ed228dbf4a1ddda7899e5565c9abd5b7080894866aef375ff66cef3facd06faadcaea2ccefd8fb34d6bb461bfd32879d6e 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 000000000000..cd67ef9f2c36 --- /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 +} diff --git a/games-strategy/lgeneral/Manifest b/games-strategy/lgeneral/Manifest index 1f9316340ece..b8e5da356d58 100644 --- a/games-strategy/lgeneral/Manifest +++ b/games-strategy/lgeneral/Manifest @@ -1,5 +1,9 @@ AUX lgeneral-1.4.3-fix-utf8.patch 466 BLAKE2B ccfdc447ddf0eaf24ac56989007277c4e94f48fe69dfb4dc1030a8c80c5764b8dbc84876f539c4fb99703f578c69ac8ba2b49ecf61e69f31d0621d06379feef0 SHA512 abccea722ea34de06832525b5c936c829119327b44421655884fe7f648bab0b9dcea104543dcf1d2a363ceda55bb74edf360b60a30608e50aca865b1c975a02a +AUX lgeneral-1.4.4-configure.patch 905 BLAKE2B ebf603e4b8a3f7b97aca47fbc32ecb7ae078a54005b28f18e1f95f365e385c20d60fdbc39052e3ddfa85f4bc74cd57f3a022a339b2000eb925f895f2620fcd66 SHA512 45c5db5492ccc7d378623c9c70e6c3d3102015ca92f410c4af285ac9e6888d694efd634651c11e804b4a8027a57c61906696421af7b8655cd95c777b3fd0124c +AUX lgeneral-1.4.4-remove-defs-from-header.patch 929 BLAKE2B d41d1d34c6d5d3ec10fdb08aca2f14dbcaa6c2d86d99827d84f398bd15ab89ef60776b162e46c438523f1081030193328ea7f6c492a34257f66827e4537705a4 SHA512 f453a1d7126c8e21bd05ff8222b26cc0dbc026af5f22a7c012f22a6782c4bd34e5335f625f83af922cedf3b2c1831e8ceb9b528b98e9a7a71056468be9db5d74 +AUX lgeneral-1.4.4-uninline.patch 13731 BLAKE2B 81b76c43a443112662e861bc685d6ad3b70cc5ab345cf67212dae888bc497d54eccf17d6474c4a50daf58c866f4d8123417dd7f04c512cd4aa2b086e8f09f0e7 SHA512 705b32dd73206237c506eafd512c10d87aea08588223a25997b3b179e29b8e54dce711440e26d8fcd39b0a374670c2d978625c873ff59be535a501c26f95cc87 +AUX update_autotools.patch 11749 BLAKE2B e61e3745003bb7f0f1550def29b24b08a8ebd8dd5dd93eddce9b21cffecde03ad00f77639e400e75b75351ed02e14942acf5f3cd566a717b2735bf2751d2bec8 SHA512 5fae1b45437adf8783287bfc9bb5982675a207230a88867678f8ec9b9ed30ece2f7c9af9fa33b6cf2ffa72eb8cea7d8bc5f6678b43b29df2f3d900429fa7a7e8 DIST kukgen-data-1.1.tar.gz 1883592 BLAKE2B 66e901696210173bccc4cd463aa30cf0bff1e1115597f1a266b1364df229f8749fb324fe12814efef01d73c8360ba6feb96c05b9b2f7ba59d3512445fd268944 SHA512 239c59924943627ab7ef3dac3283884cf34c8a299bc8974aae0ddcf180c95dcecd6e1b3eb1c69b5db39dbfa86e027649343df5fdfe655709a3b817f08575a546 DIST lgeneral-1.4.4.tar.gz 1891302 BLAKE2B 354ef85f1769881dbddd85dee0772c036c86308dd669c2e4d44d53d6acdafb77f5491e4f1298cd1af8a4eb82d4c87d1fa154c2c355e226ff82ed7248114c449f SHA512 d1028e999c5420477ed02521ea8bd32dd7481067f3b6f25545b367c082cd740e6c950f1383bc0aa33c345a380ed2abb9f2b5285b60d429bdb48972ce5fca34b2 -EBUILD lgeneral-1.4.4.ebuild 1590 BLAKE2B 65589aa93b3cc68436579a0b46fccd334e9411677dc13a8437910c382ab5898163ff9945e9cdad8f47981b275546bbb763d502d8987f32c11a672626e9dd9553 SHA512 cf3c6046c3e933f4944e88462890a4f9ce5751d2906169aa2aa66b74658a0901e95fde619bfc6ac5f1199ba77fa8c365d6191fafaecabc88d299147768dbfa2a +EBUILD lgeneral-1.4.4-r1.ebuild 1822 BLAKE2B 4e5d97360d751035d06b306aaa211909aa10a6a0413cb14fa56592469cfc87c3e96fc2b19cc0410f8e9fb346e2e403bb2de5dcf585f1e87865c9f29befac0b4e SHA512 383e3a36dbe2fce7426a11fcf9580bdd8c608219980f7d114ea849df252e20e2073cf3e896d0f6aaebc7bc31be51df3fb1fb34621bdbf128a6b1f00fccdbcfa3 MISC metadata.xml 332 BLAKE2B 3a4cabe3dae85df267b8d67829993a894fb1d55f7b19b696370bd5095e4d73c1add5763a37c12e93769d2555644e515f4a82caa06bfdc136b930e98a1ff2dc75 SHA512 9637cc722ccd66881b3e67a053dd408dc9297ed8741ffd100e8bdfb8337e61fe2bb0d2921b1462a0407bab9c4400570dc6b1513eb92b0262bd85d8c77aca894d diff --git a/games-strategy/lgeneral/files/lgeneral-1.4.4-configure.patch b/games-strategy/lgeneral/files/lgeneral-1.4.4-configure.patch new file mode 100644 index 000000000000..2e5d329b6124 --- /dev/null +++ b/games-strategy/lgeneral/files/lgeneral-1.4.4-configure.patch @@ -0,0 +1,24 @@ +Fix for hardcoding CFLAGS and broken test for mkdir +https://bugs.gentoo.org/898992 +--- a/configure.ac ++++ b/configure.ac +@@ -20,10 +20,6 @@ + AC_PROG_RANLIB + AM_PROG_CC_C_O + +-dnl various CFLAGS +-CFLAGS="$CFLAGS -Wall -std=gnu89" +-CFLAGS="$CFLAGS -O0 -g" +- + dnl Checks for libraries. + AC_CHECK_LIB(m, main,, AC_MSG_ERROR(maths library is needed)) + dnl AC_CHECK_LIB(dl, main,, AC_CHECK_LIB(c, dlopen,, AC_MSG_ERROR(dl library is needed))) +@@ -35,7 +31,7 @@ + dnl check for mkdir accepting permissions + AC_MSG_CHECKING(if mkdir rejects permissions) + ac_mkdir_perm_broken=yes +-AC_TRY_COMPILE([#include <unistd.h>], [mkdir("test", 0777)], [ac_mkdir_perm_broken=no]) ++AC_TRY_COMPILE([#include <sys/stat.h>], [mkdir("test", 0777)], [ac_mkdir_perm_broken=no]) + if test x$ac_mkdir_perm_broken = xyes ; then + AC_DEFINE_UNQUOTED(HAVE_BROKEN_MKDIR, 1, [Defined if mkdir rejects a second permissions parameter.]) + fi diff --git a/games-strategy/lgeneral/files/lgeneral-1.4.4-remove-defs-from-header.patch b/games-strategy/lgeneral/files/lgeneral-1.4.4-remove-defs-from-header.patch new file mode 100644 index 000000000000..ebd32a480c83 --- /dev/null +++ b/games-strategy/lgeneral/files/lgeneral-1.4.4-remove-defs-from-header.patch @@ -0,0 +1,29 @@ +Those functions are defined in hashtable_itr.c +I think this was made for "speed", but it break compilation with GCC-15 +and is plainly unnecessary +--- a/util/hashtable_itr.h ++++ b/util/hashtable_itr.h +@@ -29,19 +29,13 @@ + * - return the value of the (key,value) pair at the current position */ + +-extern inline void * +-hashtable_iterator_key(struct hashtable_itr *i) +-{ +- return i->e->k; +-} ++extern void * ++hashtable_iterator_key(struct hashtable_itr *i); + + /*****************************************************************************/ + /* value - return the value of the (key,value) pair at the current position */ + +-extern inline void * ++extern void * +-hashtable_iterator_value(struct hashtable_itr *i) +-{ +- return i->e->v; +-} ++hashtable_iterator_value(struct hashtable_itr *i); + + /*****************************************************************************/ + /* advance - advance the iterator to the next element diff --git a/games-strategy/lgeneral/files/lgeneral-1.4.4-uninline.patch b/games-strategy/lgeneral/files/lgeneral-1.4.4-uninline.patch new file mode 100644 index 000000000000..e81e52185708 --- /dev/null +++ b/games-strategy/lgeneral/files/lgeneral-1.4.4-uninline.patch @@ -0,0 +1,471 @@ +There was pathological amount of inlines, some of them caused warnings +and linking failures. All of them are now removed. Modern compilers are +smarter than that. +https://bugs.gentoo.org/876337 +--- a/intl/gettextP.h ++++ b/intl/gettextP.h +@@ -46,7 +46,7 @@ + #else + static nls_uint32 SWAP PARAMS ((nls_uint32 i)); + +-static inline nls_uint32 ++static nls_uint32 + SWAP (i) + nls_uint32 i; + { +--- a/intl/hash-string.h ++++ b/intl/hash-string.h +@@ -35,7 +35,7 @@ + 1986, 1987 Bell Telephone Laboratories, Inc.] */ + static unsigned long hash_string PARAMS ((const char *__str_param)); + +-static inline unsigned long ++static unsigned long + hash_string (str_param) + const char *str_param; + { +--- a/intl/l10nflist.c ++++ b/intl/l10nflist.c +@@ -154,7 +154,7 @@ + /* Return number of bits set in X. */ + static int pop PARAMS ((int x)); + +-static inline int ++static int + pop (x) + int x; + { +--- a/lgc-pg/misc.c ++++ b/lgc-pg/misc.c +@@ -27,27 +27,27 @@ + extern char *dest_path; + + /* compares to strings and returns true if their first strlen(str1) chars are equal */ +-inline int equal_str( char *str1, char *str2 ) ++int equal_str( char *str1, char *str2 ) + { + if ( strlen( str1 ) != strlen( str2 ) ) return 0; + return ( !strncmp( str1, str2, strlen( str1 ) ) ); + } + + /* set delay to ms milliseconds */ +-inline void set_delay( Delay *delay, int ms ) ++void set_delay( Delay *delay, int ms ) + { + delay->limit = ms; + delay->cur = 0; + } + + /* reset delay ( cur = 0 )*/ +-inline void reset_delay( Delay *delay ) ++void reset_delay( Delay *delay ) + { + delay->cur = 0; + } + + /* check if times out and reset */ +-inline int timed_out( Delay *delay, int ms ) ++int timed_out( Delay *delay, int ms ) + { + delay->cur += ms; + if ( delay->cur >= delay->limit ) { +@@ -60,7 +60,7 @@ + } + + +-inline void goto_tile( int *x, int *y, int d ) ++void goto_tile( int *x, int *y, int d ) + { + /* 0 -up, clockwise, 5 - left up */ + switch ( d ) { +--- a/lgc-pg/misc.h ++++ b/lgc-pg/misc.h +@@ -52,13 +52,13 @@ + } Delay; + + /* set delay to ms milliseconds */ +-inline void set_delay( Delay *delay, int ms ); ++void set_delay( Delay *delay, int ms ); + + /* reset delay ( cur = 0 )*/ +-inline void reset_delay( Delay *delay ); ++void reset_delay( Delay *delay ); + + /* check if time's out ( add ms milliseconds )and reset */ +-inline int timed_out( Delay *delay, int ms ); ++int timed_out( Delay *delay, int ms ); + + /* return distance betwteen to map positions */ + int get_dist( int x1, int y1, int x2, int y2 ); +--- a/lged/lged.c ++++ b/lged/lged.c +@@ -356,7 +356,7 @@ + free((void *)path); + + if (within_source_tree) +- verbosef(2, "Source tree detected. Using inline paths.\n"); ++ verbosef(2, "Source tree detected. Using paths.\n"); + } + + /* get path for unitdb */ +@@ -387,7 +387,7 @@ + } + + /** returns 1 if criterion is to be omitted */ +-inline static int is_omitted(const char *criterion) { ++static int is_omitted(const char *criterion) { + return !criterion || strcmp(criterion, "-") == 0 || strcmp(criterion, "*") == 0; + } + +@@ -407,7 +407,7 @@ + * of ary. If found, the index of the first element is returned, + * -1 otherwise. 'i' is the starting index, 'sz' the size of the array. + */ +-inline static int find_in_array(const char *needle, int i, const char **ary, int sz) { ++static int find_in_array(const char *needle, int i, const char **ary, int sz) { + for (; i < sz; i++) + if (strcasestr(ary[i], needle)) return i; + return -1; +@@ -430,7 +430,7 @@ + * returns 1 if 'bitmap' is true at position 'idx'. 'sz' is the size of + * the bitmap. + */ +-inline static int in_bitmap(int idx, const char *bitmap, int sz) { ++static int in_bitmap(int idx, const char *bitmap, int sz) { + return idx >= 0 && idx < sz && bitmap[idx]; + } + +--- a/src/campaign.c ++++ b/src/campaign.c +@@ -135,7 +135,7 @@ + } + + /** resolve key within entries and translate the result wrt domain */ +-inline static char *camp_resolve_ref_localized(PData *entries, const char *key, const char *scen_stat, const char *domain) ++static char *camp_resolve_ref_localized(PData *entries, const char *key, const char *scen_stat, const char *domain) + { + const char *res = camp_resolve_ref(entries, key, scen_stat); + return res ? strdup(trd(domain, res)) : 0; +--- a/src/engine.c ++++ b/src/engine.c +@@ -375,7 +375,7 @@ + Returns true when the status screen dismission events took place. + ==================================================================== + */ +-inline static int engine_status_screen_dismissed() ++static int engine_status_screen_dismissed() + { + int dummy; + return event_get_buttonup( &dummy, &dummy, &dummy ) +--- a/src/gui.c ++++ b/src/gui.c +@@ -1691,7 +1691,7 @@ + } + + /** unite with existing repaint rectangle */ +-inline static void message_pane_unite_repaint_rect(MessagePane *pane, int x1, int y1, int x2, int y2) ++static void message_pane_unite_repaint_rect(MessagePane *pane, int x1, int y1, int x2, int y2) + { + if ((pane->refresh_x2 - pane->refresh_x1) <= 0 + || (pane->refresh_y2 - pane->refresh_y1) <= 0) { +--- a/src/lg-sdl.c ++++ b/src/lg-sdl.c +@@ -35,7 +35,7 @@ + /* sdl surface */ + + /* return full path of bitmap */ +-inline void get_full_bmp_path( char *full_path, const char *file_name ) ++void get_full_bmp_path( char *full_path, const char *file_name ) + { + sprintf(full_path, "%s/gfx/%s", get_gamedir(), file_name ); + } +@@ -119,7 +119,7 @@ + /* + lock surface + */ +-inline void lock_surf(SDL_Surface *sur) ++void lock_surf(SDL_Surface *sur) + { + if (SDL_MUSTLOCK(sur)) + SDL_LockSurface(sur); +@@ -128,7 +128,7 @@ + /* + unlock surface + */ +-inline void unlock_surf(SDL_Surface *sur) ++void unlock_surf(SDL_Surface *sur) + { + if (SDL_MUSTLOCK(sur)) + SDL_UnlockSurface(sur); +@@ -477,7 +477,7 @@ + /* + lock font surface + */ +-inline void lock_font(Font *fnt) ++void lock_font(Font *fnt) + { + if (SDL_MUSTLOCK(fnt->pic)) + SDL_LockSurface(fnt->pic); +@@ -486,7 +486,7 @@ + /* + unlock font surface + */ +-inline void unlock_font(Font *fnt) ++void unlock_font(Font *fnt) + { + if (SDL_MUSTLOCK(fnt->pic)) + SDL_UnlockSurface(fnt->pic); +@@ -501,7 +501,7 @@ + return rect; + } + +-inline int char_width(Font *fnt, char c) ++int char_width(Font *fnt, char c) + { + unsigned i = (unsigned char)c; + return fnt->char_offset[i + 1] - fnt->char_offset[i]; +@@ -844,7 +844,7 @@ + /* + lock surface + */ +-inline void lock_screen() ++void lock_screen() + { + if (SDL_MUSTLOCK(sdl.screen)) + SDL_LockSurface(sdl.screen); +@@ -853,7 +853,7 @@ + /* + unlock surface + */ +-inline void unlock_screen() ++void unlock_screen() + { + if (SDL_MUSTLOCK(sdl.screen)) + SDL_UnlockSurface(sdl.screen); +@@ -862,7 +862,7 @@ + /* + flip hardware screens (double buffer) + */ +-inline void flip_screen() ++void flip_screen() + { + SDL_Flip(sdl.screen); + } +--- a/src/lg-sdl.h ++++ b/src/lg-sdl.h +@@ -43,8 +43,8 @@ + SDL_Surface* create_surf(int w, int h, int f); + void free_surf( SDL_Surface **surf ); + int disp_format(SDL_Surface *sur); +-inline void lock_surf(SDL_Surface *sur); +-inline void unlock_surf(SDL_Surface *sur); ++void lock_surf(SDL_Surface *sur); ++void unlock_surf(SDL_Surface *sur); + void blit_surf(void); + void alpha_blit_surf(int alpha); + void fill_surf(int c); +@@ -93,8 +93,8 @@ + void free_font(Font **sfnt); + int write_text(Font *sfnt, SDL_Surface *dest, int x, int y, const char *str, int alpha); + void write_line( SDL_Surface *surf, Font *font, const char *str, int x, int *y ); +-inline void lock_font(Font *sfnt); +-inline void unlock_font(Font *sfnt); ++void lock_font(Font *sfnt); ++void unlock_font(Font *sfnt); + SDL_Rect last_write_rect(Font *fnt); + int text_width(Font *fnt, const char *str); + int char_width(Font *fnt, char c); +@@ -132,9 +132,9 @@ + void undim_screen(int steps, int delay, int trp); + int wait_for_key(); + void wait_for_click(); +-inline void lock_screen(); +-inline void unlock_screen(); +-inline void flip_screen(); ++void lock_screen(); ++void unlock_screen(); ++void flip_screen(); + + /* cursor */ + /* creates cursor */ +--- a/src/misc.c ++++ b/src/misc.c +@@ -29,27 +29,27 @@ + extern int map_w, map_h; /* FIX ME! */ + + /* compares to strings and returns true if their first strlen(str1) chars are equal */ +-inline int equal_str( const char *str1, const char *str2 ) ++int equal_str( const char *str1, const char *str2 ) + { + if ( strlen( str1 ) != strlen( str2 ) ) return 0; + return ( !strncmp( str1, str2, strlen( str1 ) ) ); + } + + /* set delay to ms milliseconds */ +-inline void set_delay( Delay *delay, int ms ) ++void set_delay( Delay *delay, int ms ) + { + delay->limit = ms; + delay->cur = 0; + } + + /* reset delay ( cur = 0 )*/ +-inline void reset_delay( Delay *delay ) ++void reset_delay( Delay *delay ) + { + delay->cur = 0; + } + + /* check if times out and reset */ +-inline int timed_out( Delay *delay, int ms ) ++int timed_out( Delay *delay, int ms ) + { + delay->cur += ms; + if ( delay->cur >= delay->limit ) { +@@ -62,7 +62,7 @@ + } + + /* Convert grid coordinates into isometric (diagonal) coordinates. */ +-inline static void convert_coords_to_diag( int *x, int *y ) ++static void convert_coords_to_diag( int *x, int *y ) + { + *y += (*x + 1) / 2; + } +@@ -126,13 +126,13 @@ + } + + /** return 1 if ch is a line breaking character */ +-inline static int text_is_linebreak(char ch) ++static int text_is_linebreak(char ch) + { + return ch == '#'; + } + + /** return 1 if text is breakable just before end */ +-inline static int text_is_breakable(const char *begin, const char *end) ++static int text_is_breakable(const char *begin, const char *end) + { + return begin != end + && (end[-1] == '\t' || end[-1] == '\n' || end[-1] == ' ' +--- a/src/misc.h ++++ b/src/misc.h +@@ -101,13 +101,13 @@ + } Delay; + + /* set delay to ms milliseconds */ +-inline void set_delay( Delay *delay, int ms ); ++void set_delay( Delay *delay, int ms ); + + /* reset delay ( cur = 0 )*/ +-inline void reset_delay( Delay *delay ); ++void reset_delay( Delay *delay ); + + /* check if time's out ( add ms milliseconds )and reset */ +-inline int timed_out( Delay *delay, int ms ); ++int timed_out( Delay *delay, int ms ); + + /* return distance betwteen to map positions */ + int get_dist( int x1, int y1, int x2, int y2 ); +--- a/src/parser.c ++++ b/src/parser.c +@@ -51,11 +51,11 @@ + free(ctd->filename); + } + +-static inline void common_tree_data_ref(struct CommonTreeData *ctd) { ++static void common_tree_data_ref(struct CommonTreeData *ctd) { + ctd->ref++; + } + +-static inline int common_tree_data_deref(struct CommonTreeData *ctd) { ++static int common_tree_data_deref(struct CommonTreeData *ctd) { + int del = --ctd->ref == 0; + if (del) common_tree_data_delete(ctd); + return del; +@@ -115,7 +115,7 @@ + Returns whether this is a valid character for a string. + ==================================================================== + */ +-inline static int parser_is_valid_string_char(char ch) ++static int parser_is_valid_string_char(char ch) + { + switch (ch) { + case '$': case '/': case '@': case '_': case '.': case ':': case '~': +@@ -272,7 +272,7 @@ + and return the new position. + ==================================================================== + */ +-static inline const char* string_ignore_whitespace( const char *string ) ++static const char* string_ignore_whitespace( const char *string ) + { + while ( *string != 0 && (unsigned char)*string <= 32 ) string++; + return string; +@@ -286,7 +286,7 @@ + hours of precious sleep. + ==================================================================== + */ +-static inline PData *parser_create_pdata( char *name, List *values, int lineno, struct CommonTreeData *ctd ) ++static PData *parser_create_pdata( char *name, List *values, int lineno, struct CommonTreeData *ctd ) + { + PData *pd = calloc(1, sizeof(PData)); + pd->name = name; +--- a/src/slot.c ++++ b/src/slot.c +@@ -157,7 +157,7 @@ + /* we always write the platform-specific endianness */ + fwrite( &i, sizeof( int ), 1, file ); + } +-static inline int load_int( FILE *file ) ++static int load_int( FILE *file ) + { + return try_load_int( file, 0 ); + } +@@ -186,7 +186,7 @@ + { + fwrite( &p, sizeof( void * ), 1, file ); + } +-static inline void *load_pointer( FILE *file ) ++static void *load_pointer( FILE *file ) + { + return try_load_pointer( file, 0 ); + } +--- a/util/hashtable_private.h ++++ b/util/hashtable_private.h +@@ -30,13 +30,13 @@ + + /*****************************************************************************/ + /* indexFor */ +-static inline unsigned int ++static unsigned int + indexFor(unsigned int tablelength, unsigned int hashvalue) { + return (hashvalue % tablelength); + }; + + /* Only works if tablelength == 2^N */ +-/*static inline unsigned int ++/*static unsigned int + indexFor(unsigned int tablelength, unsigned int hashvalue) + { + return (hashvalue & (tablelength - 1u)); +--- a/util/localize.c ++++ b/util/localize.c +@@ -71,7 +71,7 @@ + } + + /** returns the domain-map */ +-static inline struct hashtable *domain_map_instance() { ++static struct hashtable *domain_map_instance() { + if (!domain_map) { + domain_map = create_hashtable(10, (unsigned int (*) (void*))hash_string, + (int (*)(void *, void *))strcmp, +--- a/util/localize.h ++++ b/util/localize.h +@@ -37,7 +37,7 @@ + /** shorthand for fetching translation of default domain */ + # define tr(s) gettext (s) + /** shorthand for fetching translation of specified domain */ +-inline static const char *trd(const char *dom, const char *s) { return *(s) ? dgettext ((dom), (s)) : ""; } ++static const char *trd(const char *dom, const char *s) { return *(s) ? dgettext ((dom), (s)) : ""; } + /** shorthand for marking for translation of default domain */ + # define TR_NOOP(s) (s) + diff --git a/games-strategy/lgeneral/files/update_autotools.patch b/games-strategy/lgeneral/files/update_autotools.patch new file mode 100644 index 000000000000..10db89905c46 --- /dev/null +++ b/games-strategy/lgeneral/files/update_autotools.patch @@ -0,0 +1,278 @@ +Debian patch, from +https://sources.debian.org/patches/lgeneral/1.4.4-4/update_autotools.patch/ +Index: lgeneral/configure.ac +=================================================================== +--- lgeneral.orig/configure.ac ++++ lgeneral/configure.ac +@@ -30,7 +30,7 @@ dnl AC_CHECK_LIB(dl, main,, AC_CHECK_LIB + dnl AC_CHECK_LIB(dl, main,, AC_MSG_ERROR(dl library is needed)) + + dnl Checks for functions. +-AC_CHECK_FUNCS(strcasestr) ++AC_CHECK_FUNCS(setenv strcasestr) + + dnl check for mkdir accepting permissions + AC_MSG_CHECKING(if mkdir rejects permissions) +@@ -44,8 +44,8 @@ AC_MSG_RESULT($ac_mkdir_perm_broken) + dnl L10n support + ALL_LINGUAS="en de" + +-AC_GNU_SOURCE +-AM_GNU_GETTEXT ++AM_GNU_GETTEXT([external]) ++AM_GNU_GETTEXT_REQUIRE_VERSION([0.21]) + + dnl win32 stuff + dnl USE_NLS=no +@@ -90,16 +90,6 @@ if test x$USE_INCLUDED_LIBINTL = xyes ; + INTLINCLUDES="-I\$(top_srcdir)/intl -I\$(top_builddir)/intl" + fi + +-dnl newer versions of gettext don't support CATALOGS -> create it here +-if test "x$CATALOGS" = x ; then +- AC_MSG_CHECKING(for catalogs to be installed); +- for l in $ALL_LINGUAS ; do +- CATALOGS="$CATALOGS$l$CATOBJEXT " +- done +- AC_MSG_RESULT($ALL_LINGUAS) +- AC_SUBST(CATALOGS) +-fi +- + dnl newer versions of gettext don't export POFILES and GMOFILES + dnl export them here to stay compatible with older versions + if test "x$POFILES" = x ; then +@@ -176,18 +166,5 @@ inst_flag=) + AC_SUBST(inst_dir) + AC_SUBST(inst_flag) + +-# create Makefiles for Makefile.ins in po-subdirectories. +-# FIXME! autoconf is simply too stupid to grok that for-loop +-#for ac_domain in lgeneral ; do +- AC_CONFIG_COMMANDS([po-lgeneral], +- [case "$CONFIG_FILES" in *po/lgeneral/Makefile.in*) +- sed -e "/POTFILES =/r po/lgeneral/POTFILES" po/lgeneral/Makefile.in > po/lgeneral/Makefile +- esac]) +- AC_CONFIG_COMMANDS([po-pg], +- [case "$CONFIG_FILES" in *po/pg/Makefile.in*) +- cat po/pg/Makefile.in > po/pg/Makefile +- esac]) +-#done +- +-AC_OUTPUT(Makefile lged/Makefile lgc-pg/Makefile lgc-pg/convdata/Makefile src/Makefile src/nations/Makefile src/scenarios/Makefile src/units/Makefile src/sounds/Makefile src/music/Makefile src/terrain/Makefile src/maps/Makefile src/gfx/Makefile src/gfx/flags/Makefile src/gfx/terrain/Makefile src/gfx/units/Makefile src/ai_modules/Makefile src/campaigns/Makefile src/themes/Makefile src/themes/default/Makefile util/Makefile intl/Makefile po/Makefile po/lgeneral/Makefile.in po/pg/Makefile.in tools/Makefile tools/ltrextract/Makefile) ++AC_OUTPUT(Makefile lged/Makefile lgc-pg/Makefile lgc-pg/convdata/Makefile src/Makefile src/nations/Makefile src/scenarios/Makefile src/units/Makefile src/sounds/Makefile src/music/Makefile src/terrain/Makefile src/maps/Makefile src/gfx/Makefile src/gfx/flags/Makefile src/gfx/terrain/Makefile src/gfx/units/Makefile src/ai_modules/Makefile src/campaigns/Makefile src/themes/Makefile src/themes/default/Makefile util/Makefile po/Makefile po/lgeneral/Makefile.in po/pg/Makefile.in tools/Makefile tools/ltrextract/Makefile) + +Index: lgeneral/Makefile.am +=================================================================== +--- lgeneral.orig/Makefile.am ++++ lgeneral/Makefile.am +@@ -1,4 +1,4 @@ +-SUBDIRS = intl util lged lgc-pg src tools po ++SUBDIRS = util lged lgc-pg src tools po + + EXTRA_DIST = AUTHORS COPYING ChangeLog README.lgeneral \ + README.lgc-pg README.redit TODO \ +Index: lgeneral/acconfig.h +=================================================================== +--- lgeneral.orig/acconfig.h ++++ /dev/null +@@ -1,20 +0,0 @@ +-#undef ENABLE_NLS +-#undef HAVE_CATGETS +-#undef HAVE_GETTEXT +-#undef HAVE_LC_MESSAGES +-#undef HAVE_STPCPY +-#undef HAVE_LIBSM +-#undef PACKAGE_LOCALE_DIR +-#undef PACKAGE_DOC_DIR +-#undef PACKAGE_DATA_DIR +-#undef PACKAGE_PIXMAPS_DIR +-#undef PACKAGE_HELP_DIR +-#undef PACKAGE_MENU_DIR +-#undef PACKAGE_SOURCE_DIR +- +-@BOTTOM@ +- +-#ifdef HAVE_BROKEN_MKDIR +-# include <direct.h> +-# define mkdir(s,p) _mkdir(s) +-#endif +Index: lgeneral/po/lgeneral/Makevars +=================================================================== +--- /dev/null ++++ lgeneral/po/lgeneral/Makevars +@@ -0,0 +1,82 @@ ++# Makefile variables for PO directory in any package using GNU gettext. ++# ++# Copyright (C) 2003-2019 Free Software Foundation, Inc. ++# This file is free software; the Free Software Foundation gives ++# unlimited permission to use, copy, distribute, and modify it. ++ ++# Usually the message domain is the same as the package name. ++DOMAIN = lgeneral ++ ++# These two variables depend on the location of this directory. ++subdir = $(DOMAIN) ++top_builddir = ../.. ++ ++# These options get passed to xgettext. ++XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ ++ ++# This is the copyright holder that gets inserted into the header of the ++# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding ++# package. (Note that the msgstr strings, extracted from the package's ++# sources, belong to the copyright holder of the package.) Translators are ++# expected to transfer the copyright for their translations to this person ++# or entity, or to disclaim their copyright. The empty string stands for ++# the public domain; in this case the translators are expected to disclaim ++# their copyright. ++COPYRIGHT_HOLDER = Free Software Foundation, Inc. ++ ++# This tells whether or not to prepend "GNU " prefix to the package ++# name that gets inserted into the header of the $(DOMAIN).pot file. ++# Possible values are "yes", "no", or empty. If it is empty, try to ++# detect it automatically by scanning the files in $(top_srcdir) for ++# "GNU packagename" string. ++PACKAGE_GNU = ++ ++# This is the email address or URL to which the translators shall report ++# bugs in the untranslated strings: ++# - Strings which are not entire sentences, see the maintainer guidelines ++# in the GNU gettext documentation, section 'Preparing Strings'. ++# - Strings which use unclear terms or require additional context to be ++# understood. ++# - Strings which make invalid assumptions about notation of date, time or ++# money. ++# - Pluralisation problems. ++# - Incorrect English spelling. ++# - Incorrect formatting. ++# It can be your email address, or a mailing list address where translators ++# can write to without being subscribed, or the URL of a web page through ++# which the translators can contact you. ++MSGID_BUGS_ADDRESS = ++ ++# This is the list of locale categories, beyond LC_MESSAGES, for which the ++# message catalogs shall be used. It is usually empty. ++EXTRA_LOCALE_CATEGORIES = ++ ++# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' ++# context. Possible values are "yes" and "no". Set this to yes if the ++# package uses functions taking also a message context, like pgettext(), or ++# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. ++USE_MSGCTXT = no ++ ++# These options get passed to msgmerge. ++# Useful options are in particular: ++# --previous to keep previous msgids of translated messages, ++# --quiet to reduce the verbosity. ++MSGMERGE_OPTIONS = ++ ++# These options get passed to msginit. ++# If you want to disable line wrapping when writing PO files, add ++# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and ++# MSGINIT_OPTIONS. ++MSGINIT_OPTIONS = ++ ++# This tells whether or not to regenerate a PO file when $(DOMAIN).pot ++# has changed. Possible values are "yes" and "no". Set this to no if ++# the POT file is checked in the repository and the version control ++# program ignores timestamps. ++PO_DEPENDS_ON_POT = yes ++ ++# This tells whether or not to forcibly update $(DOMAIN).pot and ++# regenerate PO files on "make dist". Possible values are "yes" and ++# "no". Set this to no if the POT file and PO files are maintained ++# externally. ++DIST_DEPENDS_ON_UPDATE_PO = yes +Index: lgeneral/po/pg/Makevars +=================================================================== +--- /dev/null ++++ lgeneral/po/pg/Makevars +@@ -0,0 +1,82 @@ ++# Makefile variables for PO directory in any package using GNU gettext. ++# ++# Copyright (C) 2003-2019 Free Software Foundation, Inc. ++# This file is free software; the Free Software Foundation gives ++# unlimited permission to use, copy, distribute, and modify it. ++ ++# Usually the message domain is the same as the package name. ++DOMAIN = pg ++ ++# These two variables depend on the location of this directory. ++subdir = $(DOMAIN) ++top_builddir = ../.. ++ ++# These options get passed to xgettext. ++XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ ++ ++# This is the copyright holder that gets inserted into the header of the ++# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding ++# package. (Note that the msgstr strings, extracted from the package's ++# sources, belong to the copyright holder of the package.) Translators are ++# expected to transfer the copyright for their translations to this person ++# or entity, or to disclaim their copyright. The empty string stands for ++# the public domain; in this case the translators are expected to disclaim ++# their copyright. ++COPYRIGHT_HOLDER = Free Software Foundation, Inc. ++ ++# This tells whether or not to prepend "GNU " prefix to the package ++# name that gets inserted into the header of the $(DOMAIN).pot file. ++# Possible values are "yes", "no", or empty. If it is empty, try to ++# detect it automatically by scanning the files in $(top_srcdir) for ++# "GNU packagename" string. ++PACKAGE_GNU = ++ ++# This is the email address or URL to which the translators shall report ++# bugs in the untranslated strings: ++# - Strings which are not entire sentences, see the maintainer guidelines ++# in the GNU gettext documentation, section 'Preparing Strings'. ++# - Strings which use unclear terms or require additional context to be ++# understood. ++# - Strings which make invalid assumptions about notation of date, time or ++# money. ++# - Pluralisation problems. ++# - Incorrect English spelling. ++# - Incorrect formatting. ++# It can be your email address, or a mailing list address where translators ++# can write to without being subscribed, or the URL of a web page through ++# which the translators can contact you. ++MSGID_BUGS_ADDRESS = ++ ++# This is the list of locale categories, beyond LC_MESSAGES, for which the ++# message catalogs shall be used. It is usually empty. ++EXTRA_LOCALE_CATEGORIES = ++ ++# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' ++# context. Possible values are "yes" and "no". Set this to yes if the ++# package uses functions taking also a message context, like pgettext(), or ++# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. ++USE_MSGCTXT = no ++ ++# These options get passed to msgmerge. ++# Useful options are in particular: ++# --previous to keep previous msgids of translated messages, ++# --quiet to reduce the verbosity. ++MSGMERGE_OPTIONS = ++ ++# These options get passed to msginit. ++# If you want to disable line wrapping when writing PO files, add ++# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and ++# MSGINIT_OPTIONS. ++MSGINIT_OPTIONS = ++ ++# This tells whether or not to regenerate a PO file when $(DOMAIN).pot ++# has changed. Possible values are "yes" and "no". Set this to no if ++# the POT file is checked in the repository and the version control ++# program ignores timestamps. ++PO_DEPENDS_ON_POT = yes ++ ++# This tells whether or not to forcibly update $(DOMAIN).pot and ++# regenerate PO files on "make dist". Possible values are "yes" and ++# "no". Set this to no if the POT file and PO files are maintained ++# externally. ++DIST_DEPENDS_ON_UPDATE_PO = yes +Index: lgeneral/po/pg/POTFILES.in +=================================================================== +--- /dev/null ++++ lgeneral/po/pg/POTFILES.in +@@ -0,0 +1 @@ ++po/pg/pg-translations.c diff --git a/games-strategy/lgeneral/lgeneral-1.4.4.ebuild b/games-strategy/lgeneral/lgeneral-1.4.4-r1.ebuild index f35921ed74bd..2b06651fa939 100644 --- a/games-strategy/lgeneral/lgeneral-1.4.4.ebuild +++ b/games-strategy/lgeneral/lgeneral-1.4.4-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -inherit readme.gentoo-r1 toolchain-funcs xdg +inherit readme.gentoo-r1 toolchain-funcs xdg autotools DESCRIPTION="Turn-based strategy game heavily inspired by the classic Panzer General" HOMEPAGE="https://lgames.sourceforge.io/LGeneral/" @@ -24,8 +24,18 @@ BDEPEND="sys-devel/gettext" PATCHES=( "${FILESDIR}"/${PN}-1.4.3-fix-utf8.patch + "${FILESDIR}"/update_autotools.patch + "${FILESDIR}"/${PN}-1.4.4-configure.patch + "${FILESDIR}"/${PN}-1.4.4-remove-defs-from-header.patch + "${FILESDIR}"/${PN}-1.4.4-uninline.patch ) +src_prepare() { + default + + eautoreconf +} + src_compile() { emake AR="$(tc-getAR)" } diff --git a/games-strategy/naev/Manifest b/games-strategy/naev/Manifest index 771b93406c00..3cb90febdd8a 100644 --- a/games-strategy/naev/Manifest +++ b/games-strategy/naev/Manifest @@ -1,3 +1,5 @@ DIST naev-0.12.2-source.tar.xz 465301164 BLAKE2B 1a9af216a66677dbbdcf381eff9b638df47610e7a7e1ffe881234805594b40ebdf76adf413458b936a487a807f7238e1e45f2479fd8ae1fcca352cc584d48493 SHA512 898a1c4e820f1bad5b3abfdbf255d6a54363462e3eaf6bbcffd9f806398094100fa3776fb4bcbc8510b2a159cf73e49d9909213e671f979cbf7b4983e2f43b3e +DIST naev-0.12.3-source.tar.xz 465309428 BLAKE2B c213dde47352d809d10c226978165bf0b4c5257afcc77866c4b7ca2a6f06bc5580fb685ca2428cb0ba09474b03d13b27cfbd2f6751da14c3503b3f481b57a6c3 SHA512 6ae2701d66a198f128e8f2d87a5f6177ef8dcba64ef5ac1110e0af94bd74a46b3183f1a6771d632e9da79e29fc8ee502cfaa36ab7a8e259e681efe9946a9d239 EBUILD naev-0.12.2.ebuild 2355 BLAKE2B e6300088539fd74a59fab76e08655f277d621b6a7f432d718a756a6b7b9a5ae4b76056b17f62edfb4b4996e41265b00f1fcc6601af24f55aa993376583b3d4ef SHA512 a87edbaaeff3f616834277c5cac79b6415810335224aeb3156d17cb24527f8c7cfbdcf584dfac726d438aaa4b42cf2ffe02bf9ad222d31812de18489b225122f +EBUILD naev-0.12.3.ebuild 2355 BLAKE2B e6300088539fd74a59fab76e08655f277d621b6a7f432d718a756a6b7b9a5ae4b76056b17f62edfb4b4996e41265b00f1fcc6601af24f55aa993376583b3d4ef SHA512 a87edbaaeff3f616834277c5cac79b6415810335224aeb3156d17cb24527f8c7cfbdcf584dfac726d438aaa4b42cf2ffe02bf9ad222d31812de18489b225122f MISC metadata.xml 328 BLAKE2B 2c831943c7eee723e5c707906bcec96e97abd71e5d6fc3256010cca9626aebe95ecd7dca316a9567fe41186f0a656a434d774f83f088f414a95b3aba425c23b9 SHA512 426ac4b34b6cb45db05f5a7768a15947f67f5e90cda1bafa817320988aeb96ade18d774b2aa5e92d12c1fd1fd7a4964ac1bbdacbca6655325ccccc6a9405dfa4 diff --git a/games-strategy/naev/naev-0.12.3.ebuild b/games-strategy/naev/naev-0.12.3.ebuild new file mode 100644 index 000000000000..bd285077a6fe --- /dev/null +++ b/games-strategy/naev/naev-0.12.3.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( luajit ) +PYTHON_COMPAT=( python3_{10..13} ) +inherit lua-single meson python-any-r1 xdg + +DESCRIPTION="2D space trading and combat game, in a similar vein to Escape Velocity" +HOMEPAGE="https://naev.org/" +SRC_URI="https://github.com/naev/naev/releases/download/v${PV}/${P}-source.tar.xz" + +LICENSE=" + GPL-3+ + Apache-2.0 BSD BSD-2 CC-BY-2.0 CC-BY-3.0 CC-BY-4.0 CC-BY-SA-3.0 + CC-BY-SA-4.0 CC0-1.0 GPL-2+ MIT OFL-1.1 public-domain +" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc" +REQUIRED_USE="${LUA_REQUIRED_USE}" + +# tests are very basic, equivalent to just starting the game and checking if +# can see the main menu -- but this breaks easily with software rendering and +# some Xorg/mesa versions, simpler to do manually than try to keep this working +RESTRICT="test" + +# dlopen: libglvnd +RDEPEND=" + ${LUA_DEPS} + app-text/cmark:= + dev-games/physfs + dev-libs/libpcre2:= + dev-libs/libunibreak:= + dev-libs/libxml2 + dev-libs/libyaml + dev-libs/nativefiledialog-extended + media-libs/freetype:2 + media-libs/libglvnd + media-libs/libsdl2[joystick,opengl,video] + media-libs/libvorbis + media-libs/openal + media-libs/sdl2-image[png,webp] + net-libs/enet:1.3= + sci-libs/cholmod + sci-libs/cxsparse + sci-libs/openblas + sci-libs/suitesparse + sci-mathematics/glpk:= + virtual/libintl +" +DEPEND="${RDEPEND}" +BDEPEND=" + $(python_gen_any_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') + sys-devel/gettext + doc? ( + app-text/doxygen + dev-lua/ldoc + media-gfx/graphviz + ) +" + +python_check_deps() { + python_has_version "dev-python/pyyaml[${PYTHON_USEDEP}]" +} + +pkg_setup() { + lua-single_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + default + + # don't probe OpenGL for tests (avoids sandbox violations, bug #829369) + sed -i "/subdir('glcheck')/d" test/meson.build || die +} + +src_configure() { + local emesonargs=( + # *can* do lua5-1 but upstream uses+test luajit most (bug #946881) + -Dluajit=enabled + $(meson_feature doc docs_c) + $(meson_feature doc docs_lua) + ) + + meson_src_configure +} + +src_install() { + local DOCS=( CHANGELOG Readme.md ) + meson_src_install + + if use doc; then + dodir /usr/share/doc/${PF}/html + mv -- "${ED}"/usr/{doc/naev/{c,lua},share/doc/${PF}/html} || die + rm -r -- "${ED}"/usr/doc || die + fi + + rm -r -- "${ED}"/usr/share/doc/naev || die +} |