summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-engines')
-rw-r--r--games-engines/box2d/box2d-2.4.1.ebuild6
-rw-r--r--games-engines/dMagnetic/Manifest2
-rw-r--r--games-engines/dMagnetic/dMagnetic-0.36.ebuild (renamed from games-engines/dMagnetic/dMagnetic-0.32.ebuild)2
-rw-r--r--games-engines/devilutionx/Manifest4
-rw-r--r--games-engines/devilutionx/devilutionx-1.1.0-r2.ebuild65
-rw-r--r--games-engines/devilutionx/devilutionx-1.2.0.ebuild67
-rw-r--r--games-engines/devilutionx/devilutionx-1.2.1-r1.ebuild72
-rw-r--r--games-engines/devilutionx/devilutionx-1.5.2.ebuild89
-rw-r--r--games-engines/devilutionx/devilutionx-9999.ebuild72
-rw-r--r--games-engines/devilutionx/files/devilutionx-1.1.0-no_bundled_font.patch62
-rw-r--r--games-engines/devilutionx/files/devilutionx-1.2.0_pre-no_bundled_font.patch40
-rw-r--r--games-engines/devilutionx/files/devilutionx-1.2.1-disable-ccache.patch16
-rw-r--r--games-engines/devilutionx/metadata.xml9
-rw-r--r--games-engines/exult/Manifest2
-rw-r--r--games-engines/exult/exult-1.6.ebuild51
-rw-r--r--games-engines/exult/exult-1.8.ebuild57
-rw-r--r--games-engines/exult/metadata.xml3
-rw-r--r--games-engines/fheroes2/Manifest1
-rw-r--r--games-engines/fheroes2/fheroes2-1.0.13.ebuild76
-rw-r--r--games-engines/fheroes2/files/fheroes2-1.0.4-scripts.patch19
-rw-r--r--games-engines/fheroes2/metadata.xml31
-rw-r--r--games-engines/gargoyle/gargoyle-2019.1.1.ebuild9
-rw-r--r--games-engines/love/Manifest1
-rw-r--r--games-engines/love/love-0.7.2-r100.ebuild9
-rw-r--r--games-engines/love/love-0.8.0-r100.ebuild9
-rw-r--r--games-engines/love/love-11.4.ebuild5
-rw-r--r--games-engines/love/love-11.5.ebuild77
-rw-r--r--games-engines/love/metadata.xml3
-rw-r--r--games-engines/minetest/Manifest2
-rw-r--r--games-engines/minetest/files/minetest-5.7.0-no_upstream_optflags.patch11
-rw-r--r--games-engines/minetest/files/minetest-5.8.0-include_algorithm.patch20
-rw-r--r--games-engines/minetest/files/minetestserver.confd16
-rw-r--r--games-engines/minetest/files/minetestserver.initd35
-rw-r--r--games-engines/minetest/files/minetestserver.logrotate6
-rw-r--r--games-engines/minetest/files/minetestserver_default.service15
-rw-r--r--games-engines/minetest/files/minetestserver_template.service15
-rw-r--r--games-engines/minetest/metadata.xml54
-rw-r--r--games-engines/minetest/minetest-5.7.0-r2.ebuild151
-rw-r--r--games-engines/minetest/minetest-5.8.0.ebuild151
-rw-r--r--games-engines/nazghul/Manifest1
-rw-r--r--games-engines/nazghul/nazghul-0.7.1-r1.ebuild44
-rw-r--r--games-engines/odamex/Manifest2
-rw-r--r--games-engines/odamex/files/odamex-10.0.0-master-std.patch28
-rw-r--r--games-engines/odamex/files/odamex-10.0.0-musl.patch60
-rw-r--r--games-engines/odamex/files/odamex-10.0.0-unbundle-jsoncpp.patch85
-rw-r--r--games-engines/odamex/files/odamex-10.0.0-unbundle-miniupnpc.patch96
-rw-r--r--games-engines/odamex/files/odamex-10.3.0-unbundle-fltk.patch (renamed from games-engines/odamex/files/odamex-10.0.0-unbundle-fltk.patch)54
-rw-r--r--games-engines/odamex/files/odamex-10.4.0-backport-pr928.patch66
-rw-r--r--games-engines/odamex/files/odamex-lto.patch41
-rw-r--r--games-engines/odamex/files/odamex-odalaunch-prefix.patch64
-rw-r--r--games-engines/odamex/metadata.xml1
-rw-r--r--games-engines/odamex/odamex-10.4.0-r3.ebuild (renamed from games-engines/odamex/odamex-10.0.0.ebuild)32
-rw-r--r--games-engines/openmw/Manifest3
-rw-r--r--games-engines/openmw/files/openmw-0.47.0-mygui-license.patch16
-rw-r--r--games-engines/openmw/files/openmw-0.47.0-sigstksz.patch42
-rw-r--r--games-engines/openmw/files/openmw-0.48.0-gcc14.patch13
-rw-r--r--games-engines/openmw/openmw-0.48.0.ebuild (renamed from games-engines/openmw/openmw-0.47.0-r1.ebuild)69
-rw-r--r--games-engines/openmw/openmw-9999.ebuild46
-rw-r--r--games-engines/openxcom/files/openxcom-9999-mandir.patch9
-rw-r--r--games-engines/openxcom/openxcom-1.0.0_p20180317-r1.ebuild4
-rw-r--r--games-engines/openxcom/openxcom-9999.ebuild6
-rw-r--r--games-engines/qtads/Manifest2
-rw-r--r--games-engines/qtads/qtads-3.3.0-r1.ebuild (renamed from games-engines/qtads/qtads-3.2.0-r1.ebuild)4
-rw-r--r--games-engines/residualvm/Manifest1
-rw-r--r--games-engines/residualvm/files/residualvm-0.3.1-freetype_pkgconfig.patch145
-rw-r--r--games-engines/residualvm/metadata.xml14
-rw-r--r--games-engines/residualvm/residualvm-0.3.1-r2.ebuild98
-rw-r--r--games-engines/residualvm/residualvm-9999.ebuild82
-rw-r--r--games-engines/scrap-engine/Manifest1
-rw-r--r--games-engines/scrap-engine/files/scrap-engine-tests.patch12
-rw-r--r--games-engines/scrap-engine/metadata.xml (renamed from games-engines/nazghul/metadata.xml)3
-rw-r--r--games-engines/scrap-engine/scrap-engine-1.2.0.ebuild47
-rw-r--r--games-engines/scummvm-tools/Manifest3
-rw-r--r--games-engines/scummvm-tools/files/scummvm-tools-2.7.0-endianess.patch27
-rw-r--r--games-engines/scummvm-tools/metadata.xml3
-rw-r--r--games-engines/scummvm-tools/scummvm-tools-2.2.0-r1.ebuild (renamed from games-engines/scummvm-tools/scummvm-tools-2.2.0.ebuild)12
-rw-r--r--games-engines/scummvm-tools/scummvm-tools-2.7.0_p1.ebuild87
-rw-r--r--games-engines/scummvm/Manifest5
-rw-r--r--games-engines/scummvm/files/scummvm-2.2.0-fluidsynth-2.2.patch150
-rw-r--r--games-engines/scummvm/files/scummvm-2.2.0-ultima_engine_lua_dep.patch18
-rw-r--r--games-engines/scummvm/metadata.xml2
-rw-r--r--games-engines/scummvm/scummvm-2.2.0-r2.ebuild139
-rw-r--r--games-engines/scummvm/scummvm-2.8.0.ebuild (renamed from games-engines/scummvm/scummvm-2.5.0.ebuild)26
-rw-r--r--games-engines/scummvm/scummvm-2.8.1.ebuild (renamed from games-engines/scummvm/scummvm-2.5.1.ebuild)26
-rw-r--r--games-engines/scummvm/scummvm-9999.ebuild24
-rw-r--r--games-engines/solarus/Manifest2
-rw-r--r--games-engines/solarus/metadata.xml2
-rw-r--r--games-engines/solarus/solarus-1.3.1-r100.ebuild56
-rw-r--r--games-engines/solarus/solarus-1.6.5.ebuild79
-rw-r--r--games-engines/solarus/solarus-9999.ebuild79
-rw-r--r--games-engines/stratagus/Manifest7
-rw-r--r--games-engines/stratagus/metadata.xml3
-rw-r--r--games-engines/stratagus/stratagus-2.4.3-r100.ebuild71
-rw-r--r--games-engines/stratagus/stratagus-3.0.0-r100.ebuild74
-rw-r--r--games-engines/stratagus/stratagus-3.1.0.ebuild74
-rw-r--r--games-engines/stratagus/stratagus-3.1.1.ebuild74
-rw-r--r--games-engines/stratagus/stratagus-3.2.0.ebuild74
-rw-r--r--games-engines/stratagus/stratagus-3.3.2-r1.ebuild (renamed from games-engines/stratagus/stratagus-3.1.2.ebuild)38
-rw-r--r--games-engines/xzip/files/xzip-1.8.2-clang16.patch9
-rw-r--r--games-engines/xzip/xzip-1.8.2-r4.ebuild (renamed from games-engines/xzip/xzip-1.8.2-r3.ebuild)6
100 files changed, 1612 insertions, 2084 deletions
diff --git a/games-engines/box2d/box2d-2.4.1.ebuild b/games-engines/box2d/box2d-2.4.1.ebuild
index 3bbd4240d474..c1d08c8c243f 100644
--- a/games-engines/box2d/box2d-2.4.1.ebuild
+++ b/games-engines/box2d/box2d-2.4.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,12 +11,12 @@ SRC_URI="https://github.com/erincatto/Box2D/archive/v${PV}.tar.gz -> ${P}.tar.gz
LICENSE="ZLIB"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86"
IUSE="doc test"
RESTRICT="!test? ( test )"
DEPEND="test? ( dev-cpp/doctest )"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
src_prepare() {
cmake_src_prepare
diff --git a/games-engines/dMagnetic/Manifest b/games-engines/dMagnetic/Manifest
index 64c80340e6d7..c2066daa346e 100644
--- a/games-engines/dMagnetic/Manifest
+++ b/games-engines/dMagnetic/Manifest
@@ -1 +1 @@
-DIST dMagnetic_0.32.tar.bz2 89191 BLAKE2B 8fb5637ba587152fed8ca4f36a46bd72e226874482cb32f9cefa4fc626d2c7f2549c5d3bcabbab9420461c86a42d58180e15fa4bf45e66acda19f9f24c8a014e SHA512 aeee63e836c43018dc7f8bfe104342be18fd336404986b9dc3bfa0c64a8ddda359fa5a0babe952baa4737f5d21d6783821763160268b73f8f32dcf5b8978e49b
+DIST dMagnetic_0.36.tar.bz2 93540 BLAKE2B 3e6e4ddb4d20f28175737d8e99f51d95d98a5420c5125080879fee9bbd68ca376c2fb1baafd547555835faa209ab0d7c07ef59afb0e903b2b2a0c1a19fd7d41a SHA512 2de79a6de8ac3112f76b9b409def6eaa9265e9acd80143cdccf984dfead4d9134f1fc4ea3835f77f97b64a57a924eafadf57a4015e6710b6e4b603fc589128fd
diff --git a/games-engines/dMagnetic/dMagnetic-0.32.ebuild b/games-engines/dMagnetic/dMagnetic-0.36.ebuild
index 763d4b9855db..826c6e72aba2 100644
--- a/games-engines/dMagnetic/dMagnetic-0.32.ebuild
+++ b/games-engines/dMagnetic/dMagnetic-0.36.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/games-engines/devilutionx/Manifest b/games-engines/devilutionx/Manifest
index e21f9b5eae14..511b29de8cd0 100644
--- a/games-engines/devilutionx/Manifest
+++ b/games-engines/devilutionx/Manifest
@@ -1,3 +1 @@
-DIST devilutionx-1.1.0.tar.gz 2271614 BLAKE2B 8afdffafd86477bdeb62c2c3abb96d35dcccde7f7c44cb5ca5bbd8b46ae5f3998262eae4fa23f5c84a3ffdbcbdfc27cf91dc758cb69bfe24b301959085fbe31e SHA512 341e7f2e74e7af4a7b42054b58b6518c2f286f2fdcb21c5553a15912c044ea08f6c7b07a2079e7e795a5146e7a301789fe32b6fda5ff9fbec0654d886d423b38
-DIST devilutionx-1.2.0.tar.gz 3571940 BLAKE2B 26001a8dc594777dbf6822c41ce89ad08e6cdff5621c04083ede1398cd12d4c4496da91e4cfed674e73c5411b2c569539a37102c4a418d552bb383a71527a4f2 SHA512 30ae94feacb9125345f877981c0e23ccbc3a0db96be6c5b1a402c7c5685b5f60f825c9dcde91dbf344b845c03b0b77358e5c656aac7869b5c450b72457da02c9
-DIST devilutionx-1.2.1.tar.gz 3573200 BLAKE2B c3055bfa8ae0a670e21561673e23277fb76e2b24d269fdd86d13510f68a0e841ec96ab06cf98739913870884d82037b5297ce168e6cba1f8795de6ea72620649 SHA512 9327b127d0ad22d640b1a13fad9bfa00ba0fc512dd7ed362a9e84a80278d84634cd039cba7c98f15425715b11a35dc6ac07d75c816c3cbc818e6ab8c4437cf18
+DIST devilutionx-1.5.2.tar.xz 21968848 BLAKE2B 5a8c280f262e2d0f47ee5978cfc858ea62481eac838ad691996f359f1c4889499e4c78b5e6a1f2dc998cf0fc89ebbdf79296a25adb411e30e9248cce1b07d3a8 SHA512 b7fd5814c8671e439d4349297cfda0d89eb1f7a0945ec11bdf7a83637371664c9c39c036249e1650911397111e1b5d9e931f221ffd2d4a1f9e80d5ca58357dcf
diff --git a/games-engines/devilutionx/devilutionx-1.1.0-r2.ebuild b/games-engines/devilutionx/devilutionx-1.1.0-r2.ebuild
deleted file mode 100644
index ed7391e75b02..000000000000
--- a/games-engines/devilutionx/devilutionx-1.1.0-r2.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Sometimes build with ninja fails.
-# Please check occasionally if we can revert back to ninja.
-# Latest known issue:
-#
-#CMAKE_MAKEFILE_GENERATOR="emake"
-
-inherit cmake
-
-DESCRIPTION="Diablo engine for modern operating systems"
-HOMEPAGE="https://github.com/diasurgical/devilutionX"
-if [[ "${PV}" == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/diasurgical/devilutionX.git"
-else
- SRC_URI="https://github.com/diasurgical/devilutionX/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
- S="${WORKDIR}/devilutionX-${PV}"
-fi
-
-LICENSE="public-domain"
-SLOT="0"
-
-IUSE="debug lto"
-
-RDEPEND="
- dev-libs/libsodium
- media-fonts/sil-charis
- media-libs/libsdl2[haptic]
- media-libs/sdl2-mixer
- media-libs/sdl2-ttf
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.1.0-no_bundled_font.patch" #704508
-)
-
-src_configure() {
- local mycmakeargs=(
- -DASAN="OFF"
- -DDEBUG="$(usex debug)"
- -DDISABLE_LTO="$(usex !lto)"
- -DDIST="ON"
- -DUBSAN="OFF"
- )
- cmake_src_configure
-
- # Build system still doesn't reliably set release version in the build
- sed "/PROJECT_VERSION/s@-@${PV}@" -i "${BUILD_DIR}/config.h" || die
-}
-
-pkg_postinst() {
- einfo "In order to play the game you need to install the file"
- einfo " diabdat.mpq"
- einfo "from the original game CD into the following directory:"
- einfo " \${HOME}/.local/share/diasurgical/devilution/"
-}
diff --git a/games-engines/devilutionx/devilutionx-1.2.0.ebuild b/games-engines/devilutionx/devilutionx-1.2.0.ebuild
deleted file mode 100644
index 6f93a6c2ac09..000000000000
--- a/games-engines/devilutionx/devilutionx-1.2.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Sometimes build with ninja fails.
-# Please check occasionally if we can revert back to ninja.
-# Latest known issue:
-#
-#CMAKE_MAKEFILE_GENERATOR="emake"
-
-inherit cmake
-
-DESCRIPTION="Diablo engine for modern operating systems"
-HOMEPAGE="https://github.com/diasurgical/devilutionX"
-if [[ "${PV}" == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/diasurgical/devilutionX.git"
-else
- SRC_URI="https://github.com/diasurgical/devilutionX/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
- S="${WORKDIR}/devilutionX-${PV}"
-fi
-
-LICENSE="public-domain"
-SLOT="0"
-
-IUSE="debug lto"
-
-RDEPEND="
- dev-libs/libsodium
- media-fonts/sil-charis
- media-libs/libsdl2[haptic]
- media-libs/sdl2-mixer
- media-libs/sdl2-ttf
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.2.0_pre-no_bundled_font.patch" #704508
-)
-
-src_configure() {
- local mycmakeargs=(
- -DASAN="OFF"
- -DDEBUG="$(usex debug)"
- -DDISABLE_LTO="$(usex !lto)"
- -DDIST="ON"
- -DUBSAN="OFF"
- )
-
- if [[ "${PV}" != 9999 ]] ; then
- mycmakeargs+=( -DVERSION_NUM="${PV}" )
- fi
-
- cmake_src_configure
-}
-
-pkg_postinst() {
- einfo "In order to play the game you need to install the file"
- einfo " diabdat.mpq"
- einfo "from the original game CD into the following directory:"
- einfo " \${HOME}/.local/share/diasurgical/devilution/"
-}
diff --git a/games-engines/devilutionx/devilutionx-1.2.1-r1.ebuild b/games-engines/devilutionx/devilutionx-1.2.1-r1.ebuild
deleted file mode 100644
index 2a2abba3eba0..000000000000
--- a/games-engines/devilutionx/devilutionx-1.2.1-r1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Sometimes build with ninja fails.
-# Please check occasionally if we can revert back to ninja.
-# Latest known issue:
-#
-#CMAKE_MAKEFILE_GENERATOR="emake"
-
-inherit cmake
-
-DESCRIPTION="Diablo engine for modern operating systems"
-HOMEPAGE="https://github.com/diasurgical/devilutionX"
-if [[ "${PV}" == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/diasurgical/devilutionX.git"
-else
- SRC_URI="https://github.com/diasurgical/devilutionX/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
- S="${WORKDIR}/devilutionX-${PV}"
-fi
-
-LICENSE="public-domain"
-SLOT="0"
-
-IUSE="debug lto"
-
-RDEPEND="
- dev-libs/libsodium:=
- media-fonts/sil-charis
- media-libs/libsdl2[haptic]
- media-libs/sdl2-mixer
- media-libs/sdl2-ttf
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.2.0_pre-no_bundled_font.patch" #704508
- "${FILESDIR}/${PN}-1.2.1-disable-ccache.patch" #813768
-)
-
-DOCS=( docs/CHANGELOG.md )
-
-src_configure() {
- local mycmakeargs=(
- -DASAN="OFF"
- -DDEBUG="$(usex debug)"
- -DDISABLE_LTO="$(usex !lto)"
- # Must be off to force dynamic linking.
- # See bug #791031
- -DDIST="OFF"
- -DUBSAN="OFF"
- )
-
- if [[ "${PV}" != 9999 ]] ; then
- mycmakeargs+=( -DVERSION_NUM="${PV}" )
- fi
-
- cmake_src_configure
-}
-
-pkg_postinst() {
- einfo "In order to play the game you need to install the file"
- einfo " diabdat.mpq"
- einfo "from the original game CD into the following directory:"
- einfo " \${HOME}/.local/share/diasurgical/devilution/"
-}
diff --git a/games-engines/devilutionx/devilutionx-1.5.2.ebuild b/games-engines/devilutionx/devilutionx-1.5.2.ebuild
new file mode 100644
index 000000000000..29c272d0006a
--- /dev/null
+++ b/games-engines/devilutionx/devilutionx-1.5.2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+DESCRIPTION="Diablo engine for modern operating systems"
+HOMEPAGE="https://github.com/diasurgical/devilutionX/"
+SRC_URI="
+ https://github.com/diasurgical/devilutionX/releases/download/${PV}/devilutionx-src.tar.xz
+ -> ${P}.tar.xz
+"
+S=${WORKDIR}/${PN}-src-${PV}
+
+LICENSE="Unlicense CC-BY-4.0 GPL-2+ LGPL-2.1+ MIT OFL-1.1 zerotier? ( BUSL-1.1 )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug +sodium test zerotier"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-arch/bzip2:=
+ dev-libs/libfmt:=
+ media-libs/libsdl2[haptic,joystick,opengl,video]
+ media-libs/sdl2-image[png]
+ media-libs/sdl_audiolib
+ sys-libs/zlib:=
+ sodium? ( dev-libs/libsodium:= )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/asio
+ dev-cpp/simpleini
+ test? ( dev-cpp/gtest )
+"
+BDEPEND="
+ sys-devel/gettext
+"
+
+src_prepare() {
+ cmake_src_prepare
+
+ # use system asio
+ echo 'add_library(asio INTERFACE)' > 3rdParty/asio/CMakeLists.txt || die
+
+ # ensure system copies are used
+ rm -r dist/{asio,simpleini,sdl_audiolib}-src || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DCCACHE_PROGRAM=no #813768
+ -DDEBUG=$(usex debug)
+ -DDISABLE_LTO=yes # let CFLAGS control this
+ -DDISABLE_ZERO_TIER=$(usex !zerotier)
+ -DPACKET_ENCRYPTION=$(usex sodium)
+ -DPIE=yes
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # timedemo tests only pass when game assets are available
+ cmake_src_test -E Timedemo.
+}
+
+src_install() {
+ local DOCS=( Packaging/nix/README.txt docs/*.md )
+ cmake_src_install
+
+ rm -- "${ED}"/usr/share/diasurgical/devilutionx/README.txt || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "In order to play the game, you will need to copy the following data file"
+ elog "from the original game, and optionally the hellfire expansion files:"
+ elog " - DIABDAT.MPQ"
+ elog " - hellfire.mpq hfmonk.mpq hfmusic.mpq hfvoice.mpq"
+ elog "to ~/.local/share/diasurgical/devilution/"
+ elog
+ elog "See ${EROOT}/usr/share/doc/${PF}/README.txt* for details."
+ fi
+}
diff --git a/games-engines/devilutionx/devilutionx-9999.ebuild b/games-engines/devilutionx/devilutionx-9999.ebuild
deleted file mode 100644
index 2a2abba3eba0..000000000000
--- a/games-engines/devilutionx/devilutionx-9999.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# Sometimes build with ninja fails.
-# Please check occasionally if we can revert back to ninja.
-# Latest known issue:
-#
-#CMAKE_MAKEFILE_GENERATOR="emake"
-
-inherit cmake
-
-DESCRIPTION="Diablo engine for modern operating systems"
-HOMEPAGE="https://github.com/diasurgical/devilutionX"
-if [[ "${PV}" == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/diasurgical/devilutionX.git"
-else
- SRC_URI="https://github.com/diasurgical/devilutionX/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
- S="${WORKDIR}/devilutionX-${PV}"
-fi
-
-LICENSE="public-domain"
-SLOT="0"
-
-IUSE="debug lto"
-
-RDEPEND="
- dev-libs/libsodium:=
- media-fonts/sil-charis
- media-libs/libsdl2[haptic]
- media-libs/sdl2-mixer
- media-libs/sdl2-ttf
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.2.0_pre-no_bundled_font.patch" #704508
- "${FILESDIR}/${PN}-1.2.1-disable-ccache.patch" #813768
-)
-
-DOCS=( docs/CHANGELOG.md )
-
-src_configure() {
- local mycmakeargs=(
- -DASAN="OFF"
- -DDEBUG="$(usex debug)"
- -DDISABLE_LTO="$(usex !lto)"
- # Must be off to force dynamic linking.
- # See bug #791031
- -DDIST="OFF"
- -DUBSAN="OFF"
- )
-
- if [[ "${PV}" != 9999 ]] ; then
- mycmakeargs+=( -DVERSION_NUM="${PV}" )
- fi
-
- cmake_src_configure
-}
-
-pkg_postinst() {
- einfo "In order to play the game you need to install the file"
- einfo " diabdat.mpq"
- einfo "from the original game CD into the following directory:"
- einfo " \${HOME}/.local/share/diasurgical/devilution/"
-}
diff --git a/games-engines/devilutionx/files/devilutionx-1.1.0-no_bundled_font.patch b/games-engines/devilutionx/files/devilutionx-1.1.0-no_bundled_font.patch
deleted file mode 100644
index 69131b562c8c..000000000000
--- a/games-engines/devilutionx/files/devilutionx-1.1.0-no_bundled_font.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-https://bugs.gentoo.org/704508
-
---- devilutionX-1.1.0/CMakeLists.txt
-+++ devilutionX-1.1.0/CMakeLists.txt
-@@ -298,7 +298,6 @@
- SourceX/main.cpp
- SourceX/devilutionx.exe.manifest
- Packaging/macOS/AppIcon.icns
-- Packaging/resources/CharisSILB.ttf
- Packaging/windows/devilutionx.rc)
-
- if(NOT NONET)
-@@ -339,9 +338,6 @@
-
- add_executable(${BIN_TARGET} WIN32 MACOSX_BUNDLE ${devilutionx_SRCS})
-
--# Copy the font to the build directory to it works from the build directory
--file(COPY "Packaging/resources/CharisSILB.ttf" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
--
- # Use file GENERATE instead of configure_file because configure_file
- # does not support generator expressions.
- get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
-@@ -563,7 +559,6 @@
-
- if(APPLE)
- set_source_files_properties("./Packaging/macOS/AppIcon.icns" PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
-- set_source_files_properties("./Packaging/resources/CharisSILB.ttf" PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
- set(MACOSX_BUNDLE_GUI_IDENTIFIER com.diasurgical.devilutionx)
- set(MACOSX_BUNDLE_COPYRIGHT Unlicense)
- set(MACOSX_BUNDLE_BUNDLE_NAME devilutionx)
-@@ -624,9 +619,6 @@
- DESTINATION "share/icons/hicolor/512x512/apps"
- RENAME "${project_name}.png"
- )
-- install(FILES "${PROJECT_SOURCE_DIR}/Packaging/resources/CharisSILB.ttf"
-- DESTINATION "share/fonts/truetype"
-- )
-
- # -G DEB
- set(CPACK_PACKAGE_CONTACT "anders@jenbo.dk")
---- devilutionX-1.1.0/SourceX/DiabloUI/fonts.cpp
-+++ devilutionX-1.1.0/SourceX/DiabloUI/fonts.cpp
-@@ -69,7 +69,7 @@
- #ifdef __linux__
- if (!FileExists(ttf_font_path))
- {
-- ttf_font_path = "/usr/share/fonts/truetype/" TTF_FONT_NAME;
-+ ttf_font_path = "/usr/share/fonts/" TTF_FONT_NAME;
- }
- #endif
- font = TTF_OpenFont(ttf_font_path, 17);
---- devilutionX-1.1.0/SourceX/DiabloUI/fonts.h
-+++ devilutionX-1.1.0/SourceX/DiabloUI/fonts.h
-@@ -11,7 +11,7 @@
- #endif
-
- #ifndef TTF_FONT_NAME
--#define TTF_FONT_NAME "CharisSILB.ttf"
-+#define TTF_FONT_NAME "sil-charis/CharisSIL-B.ttf"
- #endif
-
- namespace dvl {
diff --git a/games-engines/devilutionx/files/devilutionx-1.2.0_pre-no_bundled_font.patch b/games-engines/devilutionx/files/devilutionx-1.2.0_pre-no_bundled_font.patch
deleted file mode 100644
index 01f4006dd13f..000000000000
--- a/games-engines/devilutionx/files/devilutionx-1.2.0_pre-no_bundled_font.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 6e75bb9550bd8b4c6249fcfc0cd488224336060e Mon Sep 17 00:00:00 2001
-From: Lars Wendler <polynomial-c@gentoo.org>
-Date: Wed, 31 Mar 2021 17:55:03 +0200
-Subject: [PATCH] Fix font location
-
-https://bugs.gentoo.org/704508
----
- SourceS/paths.cpp | 2 +-
- SourceX/DiabloUI/fonts.cpp | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/SourceS/paths.cpp b/SourceS/paths.cpp
-index dd60fcb5..1c4f9d69 100644
---- a/SourceS/paths.cpp
-+++ b/SourceS/paths.cpp
-@@ -11,7 +11,7 @@
- #endif
-
- #ifndef TTF_FONT_NAME
--#define TTF_FONT_NAME "CharisSILB.ttf"
-+#define TTF_FONT_NAME "sil-charis/CharisSIL-B.ttf"
- #endif
-
- namespace dvl {
-diff --git a/SourceX/DiabloUI/fonts.cpp b/SourceX/DiabloUI/fonts.cpp
-index 178dcbe9..5f825886 100644
---- a/SourceX/DiabloUI/fonts.cpp
-+++ b/SourceX/DiabloUI/fonts.cpp
-@@ -66,7 +66,7 @@ void LoadTtfFont()
- std::string ttf_font_path = GetTtfPath() + GetTtfName();
- #ifdef __linux__
- if (!FileExists(ttf_font_path.c_str())) {
-- ttf_font_path = "/usr/share/fonts/truetype/" + GetTtfName();
-+ ttf_font_path = "/usr/share/fonts/" + GetTtfName();
- }
- #endif
- font = TTF_OpenFont(ttf_font_path.c_str(), 17);
---
-2.31.1
-
diff --git a/games-engines/devilutionx/files/devilutionx-1.2.1-disable-ccache.patch b/games-engines/devilutionx/files/devilutionx-1.2.1-disable-ccache.patch
deleted file mode 100644
index 177287810c94..000000000000
--- a/games-engines/devilutionx/files/devilutionx-1.2.1-disable-ccache.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-We let users enable ccache by themselves. Avoids sandbox violation.
-https://bugs.gentoo.org/813768
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -54,11 +54,6 @@ if(NOT VERSION_NUM)
- endif()
- endif()
-
--find_program(CCACHE_PROGRAM ccache)
--if(CCACHE_PROGRAM)
-- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
--endif()
--
- if(VERSION_NUM MATCHES untagged)
- project(DevilutionX
- LANGUAGES C CXX)
diff --git a/games-engines/devilutionx/metadata.xml b/games-engines/devilutionx/metadata.xml
index a00fd257ff20..f75265ef16b8 100644
--- a/games-engines/devilutionx/metadata.xml
+++ b/games-engines/devilutionx/metadata.xml
@@ -1,12 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
</maintainer>
<use>
- <flag name="lto">Build with link time optimization enabled</flag>
+ <flag name="sodium">Enable network packet encryption using <pkg>dev-libs/libsodium</pkg></flag>
+ <flag name="zerotier">Enable ZeroTier for online public games</flag>
</use>
<upstream>
<remote-id type="github">diasurgical/devilutionX</remote-id>
diff --git a/games-engines/exult/Manifest b/games-engines/exult/Manifest
index 89066ec8df51..c7d793a45880 100644
--- a/games-engines/exult/Manifest
+++ b/games-engines/exult/Manifest
@@ -1 +1 @@
-DIST exult-1.6.tar.gz 7906968 BLAKE2B f58b009bf82c5120a7ce588cbc5d2b282b92d7e8d08fb3e6119436de178ebd8af1d9a10e4ba660038aac9b87f0ced3fbbdbc5f39a3b3e17fee36b295d7df2603 SHA512 e786ccc11d3fc1b0747c0c620b51152d09f5157ca1e458a5aecc5e66c91e3222b6ba61311149bd6be83e20d339ea1d6d47640f89cc1750a9720549278a33e1b2
+DIST exult-1.8.tar.gz 19104130 BLAKE2B 56e127d95d3a948b7c52ca3439f8a84691728817c855b46580a8baf21ad0b8f663d5f9fb2fb855d73baa1d3cc29181d001adae1a978c75a7dfa598879b559ab4 SHA512 5422f70c00a1d5ff0606cb7613b891abda430872c50b1058999085c7df08360fd55d5bdf95cbff09616cf3b11e51dce4b11c7322c3db9a8756946e5854ef0fde
diff --git a/games-engines/exult/exult-1.6.ebuild b/games-engines/exult/exult-1.6.ebuild
deleted file mode 100644
index 98d89565e660..000000000000
--- a/games-engines/exult/exult-1.6.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="an Ultima 7 game engine that runs on modern operating systems"
-HOMEPAGE="http://exult.sourceforge.net/"
-SRC_URI="https://downloads.sourceforge.net/${PN}/exult-all-versions/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="alsa fluidsynth opengl +sdl2 timidity tools"
-
-DEPEND="
- games-misc/exult-sound
- >=media-libs/libpng-1.6:0=
- media-libs/libvorbis
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- fluidsynth? ( media-sound/fluidsynth )
- opengl? ( virtual/opengl )
- sdl2? ( media-libs/libsdl2[sound,video,X] )
- !sdl2? ( media-libs/libsdl[sound,video,X] )
- timidity? ( >=media-sound/timidity++-2 )
-"
-RDEPEND="${DEPEND}"
-
-DOCS=(
- AUTHORS ChangeLog FAQ NEWS README README.1ST
-)
-
-src_configure() {
- econf \
- --enable-mods \
- --enable-zip-support \
- --with-desktopdir=/usr/share/applications \
- --with-icondir=/usr/share/pixmaps \
- --with-sdl=$(usex sdl2 sdl2 sdl12) \
- $(use_enable alsa) \
- $(use_enable fluidsynth) \
- $(use_enable opengl) \
- $(use_enable timidity timidity-midi) \
- $(use_enable tools)
-}
-
-pkg_postinst() {
- elog "You *must* have the original Ultima7 The Black Gate and/or"
- elog "The Serpent Isle installed."
- elog "See documentation in /usr/share/doc/${PF} for information."
-}
diff --git a/games-engines/exult/exult-1.8.ebuild b/games-engines/exult/exult-1.8.ebuild
new file mode 100644
index 000000000000..a3ba1624857a
--- /dev/null
+++ b/games-engines/exult/exult-1.8.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Ultima 7 game engine that runs on modern operating systems"
+HOMEPAGE="https://exult.sourceforge.io"
+SRC_URI="mirror://sourceforge/exult/exult-all-versions/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="alsa fluidsynth timidity tools"
+
+RDEPEND="
+ games-misc/exult-sound
+ media-libs/libpng:=
+ media-libs/libsdl2[X,joystick,sound,video]
+ media-libs/libvorbis
+ sys-libs/zlib:=
+ alsa? ( media-libs/alsa-lib )
+ fluidsynth? ( media-sound/fluidsynth:= )
+ timidity? ( media-sound/timidity++ )"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto"
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local econfargs=(
+ --docdir="${EPREFIX}"/usr/share/${PF}/html
+ --with-desktopdir="${EPREFIX}"/usr/share/applications
+ --with-icondir="${EPREFIX}"/usr/share/pixmaps
+ $(use_enable alsa)
+ $(use_enable fluidsynth)
+ $(use_enable timidity timidity-midi)
+ $(use_enable tools)
+ $(use_enable tools compiler)
+ $(use_enable tools mods)
+ --enable-zip-support
+ )
+
+ econf "${econfargs[@]}"
+}
+
+pkg_postinst() {
+ elog "You *must* have the original Ultima7 The Black Gate and/or"
+ elog "The Serpent Isle installed."
+ elog "See documentation in ${EROOT}/usr/share/doc/${PF} for information."
+}
diff --git a/games-engines/exult/metadata.xml b/games-engines/exult/metadata.xml
index dfaf409414b7..79d545d1aa45 100644
--- a/games-engines/exult/metadata.xml
+++ b/games-engines/exult/metadata.xml
@@ -11,7 +11,6 @@
</upstream>
<use>
<flag name="fluidsynth">Compile with support for FluidSynth</flag>
- <flag name="sdl2">Use libsdl2 instead of libsdl</flag>
- <flag name="tools">Enable tools</flag>
+ <flag name="tools">Enable tools, usercode compiler and mods support</flag>
</use>
</pkgmetadata>
diff --git a/games-engines/fheroes2/Manifest b/games-engines/fheroes2/Manifest
new file mode 100644
index 000000000000..5989103d4657
--- /dev/null
+++ b/games-engines/fheroes2/Manifest
@@ -0,0 +1 @@
+DIST fheroes2-1.0.13.tar.gz 11988273 BLAKE2B ff4cdde0e22a239d9c596d846d801facbf762b4d47d5778799697471efbbbb2437ab73a5e2024c29d6705615f6bb58519b4fdc1368ce517f4ef5fdc4202fa464 SHA512 989b71ad6f217c5283441392e5a4bdee8b49d07261dba05372e185dbee239f4bb7b75290ca0b86fbf3dbf98edfaaca6234adc7e0483495ea799bf1636af3f6bc
diff --git a/games-engines/fheroes2/fheroes2-1.0.13.ebuild b/games-engines/fheroes2/fheroes2-1.0.13.ebuild
new file mode 100644
index 000000000000..c54e921e38d6
--- /dev/null
+++ b/games-engines/fheroes2/fheroes2-1.0.13.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake python-single-r1 xdg
+
+DESCRIPTION="Recreation of HoMM2 game engine"
+HOMEPAGE="https://ihhub.github.io/fheroes2/"
+SRC_URI="https://github.com/ihhub/fheroes2/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+IUSE="tools"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ media-libs/libpng:=
+ media-libs/libsdl2[video]
+ media-libs/sdl2-image
+ media-libs/sdl2-mixer
+ sys-libs/zlib
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+ app-arch/libarchive
+ dev-lang/python
+ virtual/libintl
+"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/fheroes2-1.0.4-scripts.patch"
+)
+
+src_configure() {
+ # Not using dev-games/libsmacker because the game crashes with it
+ local mycmakeargs=(
+ -DENABLE_IMAGE=ON
+ -DENABLE_TOOLS=$(usex tools)
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ emake -C files/lang
+}
+
+src_install() {
+ cmake_src_install
+
+ if use tools; then
+ for file in 82m2wav bin2txt extractor h2dmgr icn2img pal2img til2img xmi2midi; do
+ newbin "${BUILD_DIR}/${file}" "fheroes2-${file}"
+ done
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog "You need original HoMM2 data files to play fheroes2."
+ elog "If you have an installer (.exe) from GOG, install:"
+ elog " games-strategy/homm2-gold-gog"
+ elog "If you have the original game installed somewhere already, run:"
+ elog " ${EPREFIX}/usr/share/fheroes2/extract_homm2_resources.sh"
+ elog "Also you can automatically get a demo version for free by installing:"
+ elog " games-strategy/homm2-demo"
+}
diff --git a/games-engines/fheroes2/files/fheroes2-1.0.4-scripts.patch b/games-engines/fheroes2/files/fheroes2-1.0.4-scripts.patch
new file mode 100644
index 000000000000..c5675fdc0a6f
--- /dev/null
+++ b/games-engines/fheroes2/files/fheroes2-1.0.4-scripts.patch
@@ -0,0 +1,19 @@
+Install the data-exporting scripts to a better place than docs
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -182,12 +182,12 @@ if(NOT MACOS_APP_BUNDLE)
+ install(
+ FILES script/demo/download_demo_version.sh
+ PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
+- DESTINATION ${CMAKE_INSTALL_DOCDIR}/demo
++ DESTINATION ${FHEROES2_DATA}
+ )
+ install(
+ FILES script/homm2/extract_homm2_resources.sh
+ PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
+- DESTINATION ${CMAKE_INSTALL_DOCDIR}/homm2
++ DESTINATION ${FHEROES2_DATA}
+ )
+ install(
+ FILES script/packaging/common/fheroes2.appdata.xml
diff --git a/games-engines/fheroes2/metadata.xml b/games-engines/fheroes2/metadata.xml
new file mode 100644
index 000000000000..b43e5734bbae
--- /dev/null
+++ b/games-engines/fheroes2/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>alexey+gentoo@asokolov.org</email>
+ <name>Alexey Sokolov</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="tools">Install development tools like 82m2wav and xmi2midi.</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ihhub/fheroes2</remote-id>
+ </upstream>
+ <longdescription lang="en">
+ fheroes2 is a recreation of the Heroes of Might and Magic II game engine.
+ This open source multiplatform project, written from scratch, is
+ designed to reproduce the original game with significant improvements in
+ gameplay, graphics and logic (including support for high-resolution
+ graphics, improved AI, numerous fixes and user interface improvements),
+ breathing new life into one of the most addictive turn-based strategy
+ games.
+ </longdescription>
+</pkgmetadata>
diff --git a/games-engines/gargoyle/gargoyle-2019.1.1.ebuild b/games-engines/gargoyle/gargoyle-2019.1.1.ebuild
index 167f28407813..b056e2f28b60 100644
--- a/games-engines/gargoyle/gargoyle-2019.1.1.ebuild
+++ b/games-engines/gargoyle/gargoyle-2019.1.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Regarding licenses: libgarglk is licensed under the GPLv2. Bundled
@@ -15,6 +15,7 @@ inherit desktop edos2unix flag-o-matic multiprocessing toolchain-funcs xdg
DESCRIPTION="An Interactive Fiction (IF) player supporting all major formats"
HOMEPAGE="http://ccxvii.net/gargoyle/"
SRC_URI="https://github.com/garglk/garglk/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/garglk-${PV}"
LICENSE="BSD GPL-2 MIT Hugo Glulxe"
SLOT="0"
@@ -36,8 +37,6 @@ BDEPEND="
dev-util/ftjam
virtual/pkgconfig"
-S="${WORKDIR}/garglk-${PV}"
-
PATCHES=(
"${FILESDIR}"/${P}-fno-common.patch
"${FILESDIR}"/${P}-QA-desktop.patch
@@ -64,6 +63,10 @@ src_prepare() {
}
src_compile() {
+ # Aliasing violations in bundled glulxe library (bug #858716)
+ append-flags -fno-strict-aliasing
+ filter-lto
+
# build system messes up flags and toolchain completely
# append flags to compiler commands to have consistent behavior
jam \
diff --git a/games-engines/love/Manifest b/games-engines/love/Manifest
index fc5e5ce0c168..54d6c620c6fb 100644
--- a/games-engines/love/Manifest
+++ b/games-engines/love/Manifest
@@ -1,3 +1,4 @@
DIST love-0.7.2-linux-src.tar.gz 900209 BLAKE2B abd0db98d210c5523d3b5a75c30bcfa2fc9d7760c7642d08dda28690ab72ddf8a0c7b60793cd7b0f902a8e3fcf2750748c75caf29638a7455572d84683be7820 SHA512 cbca1d7e3425d1ecbdae019212dfa2814d8ac3bad1faedd4b052cf3e89b5bf2fac6e422283628e4c125858c9db050dee2129476d1a73ec44ffe8a4704f170f61
DIST love-0.8.0-linux-src.tar.gz 1027356 BLAKE2B bfbc2f9a3d5c3beffb4790a69716416815534c3b390b1554722eceaec57a7530377c06c15c6551aa972b33176bccdadfc8ad12bc186ceda201527bd9f8286d6f SHA512 6a0e28d102b950d3dddf7101996fe0ad04dfd7d4ec5e58797b41ef3382b60e74f90c6e707f882cf43cc0c5cc98703857eefc6418e6a6fd34e88f8019143f55a4
DIST love-11.4-linux-src.tar.gz 2925931 BLAKE2B 3f3a8aa1df69dad69edc89429ff5d9505d2de45a109962d3e110848eb1c3042b053472900cc68ddc485769045c9a26f39a2549efb9f15033bb6b2e08dc2cda44 SHA512 a1669e353c216b0f8de862eef877a178618499c38b5ad91143ee64e543affea8fccb13af4ea4957d8698c65dd703e45095ae1069601c4d0ff98d34d71d70ffd3
+DIST love-11.5-linux-src.tar.gz 2937716 BLAKE2B c0ccd2836462a799c14edb83345bddec1b2d8e77865bc076814cf90ca5b2feda465263c3322efde8fa49f6dfcce6aef69a272a7ff88e0e06b9f57d0e810d8874 SHA512 86fe29939e0d48317e742c99c80b1805821f91539c37d1701207585593b10e3a12f335dac9c25069e0de61a7c6af7c6d5e30bc36826c29f963df8f64084a9a5b
diff --git a/games-engines/love/love-0.7.2-r100.ebuild b/games-engines/love/love-0.7.2-r100.ebuild
index b28e616cd1d7..e81ab1fb55ca 100644
--- a/games-engines/love/love-0.7.2-r100.ebuild
+++ b/games-engines/love/love-0.7.2-r100.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,7 +6,7 @@ EAPI=7
LUA_COMPAT=( lua5-1 )
LUA_REQ_USE="deprecated"
-inherit lua-single
+inherit flag-o-matic lua-single
DESCRIPTION="A framework for 2D games in Lua"
HOMEPAGE="https://love2d.org/"
@@ -41,6 +41,11 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.8.0-freetype2.patch
)
+src_prepare() {
+ default
+ append-cppflags -DLUA_COMPAT_OPENLIB
+}
+
src_install() {
DOCS="readme.txt changes.txt" \
default
diff --git a/games-engines/love/love-0.8.0-r100.ebuild b/games-engines/love/love-0.8.0-r100.ebuild
index 5ac4d20e65a0..6e828c9c6e1e 100644
--- a/games-engines/love/love-0.8.0-r100.ebuild
+++ b/games-engines/love/love-0.8.0-r100.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,7 +6,7 @@ EAPI=7
LUA_COMPAT=( lua5-1 )
LUA_REQ_USE="deprecated"
-inherit lua-single
+inherit flag-o-matic lua-single
DESCRIPTION="A framework for 2D games in Lua"
HOMEPAGE="https://love2d.org/"
@@ -39,6 +39,11 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.8.0-opengl_glext_prototypes.patch
)
+src_prepare() {
+ default
+ append-cppflags -DLUA_COMPAT_OPENLIB
+}
+
src_install() {
DOCS="readme.md changes.txt" \
default
diff --git a/games-engines/love/love-11.4.ebuild b/games-engines/love/love-11.4.ebuild
index fcc2e07df8e9..5cb3aaec9bc9 100644
--- a/games-engines/love/love-11.4.ebuild
+++ b/games-engines/love/love-11.4.ebuild
@@ -5,7 +5,7 @@ EAPI=8
LUA_COMPAT=( lua5-{1..4} luajit )
-inherit lua-single xdg-utils
+inherit flag-o-matic lua-single xdg-utils
if [[ ${PV} == 9999* ]]; then
inherit git-r3
@@ -47,6 +47,9 @@ src_prepare() {
}
src_configure() {
+ # Bug #858719
+ append-flags -fno-strict-aliasing
+
local myeconfargs=(
$(use_enable gme)
--with-lua=$(usex lua_single_target_luajit luajit lua)
diff --git a/games-engines/love/love-11.5.ebuild b/games-engines/love/love-11.5.ebuild
new file mode 100644
index 000000000000..f620f97c1f51
--- /dev/null
+++ b/games-engines/love/love-11.5.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit flag-o-matic lua-single xdg-utils
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/love2d/${PN}.git"
+else
+ SRC_URI="https://github.com/love2d/${PN}/releases/download/${PV}/${P}-linux-src.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+DESCRIPTION="A framework for 2D games in Lua"
+HOMEPAGE="https://love2d.org/"
+
+LICENSE="ZLIB"
+SLOT="0"
+IUSE="gme"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+RDEPEND="sys-libs/zlib
+ ${LUA_DEPS}
+ media-libs/freetype
+ media-libs/libmodplug
+ media-libs/libsdl2[joystick,opengl]
+ media-libs/libtheora
+ media-libs/libvorbis
+ media-libs/openal
+ media-sound/mpg123
+ virtual/opengl
+ gme? ( media-libs/game-music-emu )"
+DEPEND="${RDEPEND}"
+
+DOCS=( "readme.md" "changes.txt" )
+
+src_prepare() {
+ default
+ if [[ ${PV} == 9999* ]]; then
+ ./platform/unix/automagic || die
+ fi
+}
+
+src_configure() {
+ # Bug #858719
+ append-flags -fno-strict-aliasing
+
+ local myeconfargs=(
+ $(use_enable gme)
+ --with-lua=$(usex lua_single_target_luajit luajit lua)
+ --with-luaversion=$(ver_cut 1-2 $(lua_get_version))
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+}
diff --git a/games-engines/love/metadata.xml b/games-engines/love/metadata.xml
index 300455c21e7d..e3aef72b5ad7 100644
--- a/games-engines/love/metadata.xml
+++ b/games-engines/love/metadata.xml
@@ -5,6 +5,9 @@
<email>marecki@gentoo.org</email>
<name>Marek Szuba</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">love2d/love</remote-id>
+ </upstream>
<use>
<flag name="gme">Use <pkg>media-libs/game-music-emu</pkg> to support additional music formats</flag>
</use>
diff --git a/games-engines/minetest/Manifest b/games-engines/minetest/Manifest
new file mode 100644
index 000000000000..17ce1a1572ff
--- /dev/null
+++ b/games-engines/minetest/Manifest
@@ -0,0 +1,2 @@
+DIST minetest-5.7.0.tar.gz 10115973 BLAKE2B 0f7e8864188004d57115c83508706b1cf1d6db0cba1a3002d603d4665e6d014ea2ec31df0a77a65da014467e21c331e3a27762018483a5bf4b2e024e3f7bdfc3 SHA512 6a934db5fd2c7c14fcfa87fb306662fa1ccf20a0eee056aea5c4c863986875017a4fa58ddf14319d385ee0400d00fb6a90f68b8f34527c98a746c6410360a529
+DIST minetest-5.8.0.tar.gz 10419348 BLAKE2B efe3edde2d3c57cc296b5f84359c24019583e4f70346eafd418da7cbfc334ecbb32c72df085052beaa28f8f4b4219d7431c150c20d511fc41c0809cdbad227f1 SHA512 0b376ecc051032ccb542f2f76e2b1f5c351b32f1c211027825b1538095f44cb1447cd0976cb85a4cde4ecb53873bcb9f3778799271ed65b038a031dc137c2aba
diff --git a/games-engines/minetest/files/minetest-5.7.0-no_upstream_optflags.patch b/games-engines/minetest/files/minetest-5.7.0-no_upstream_optflags.patch
new file mode 100644
index 000000000000..ad673be1184f
--- /dev/null
+++ b/games-engines/minetest/files/minetest-5.7.0-no_upstream_optflags.patch
@@ -0,0 +1,11 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -784,7 +784,7 @@
+ endif()
+ endif()
+
+- set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${RELEASE_WARNING_FLAGS} ${OTHER_FLAGS} -pipe -funroll-loops -O3 -fomit-frame-pointer")
++ set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${RELEASE_WARNING_FLAGS} ${OTHER_FLAGS}")
+ if(CMAKE_SYSTEM_NAME STREQUAL "Linux"
+ AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang"
+ AND CMAKE_CXX_COMPILER_VERSION MATCHES "^9\\.")
diff --git a/games-engines/minetest/files/minetest-5.8.0-include_algorithm.patch b/games-engines/minetest/files/minetest-5.8.0-include_algorithm.patch
new file mode 100644
index 000000000000..ac19a58de751
--- /dev/null
+++ b/games-engines/minetest/files/minetest-5.8.0-include_algorithm.patch
@@ -0,0 +1,20 @@
+From https://github.com/minetest/minetest/commit/c9ab61aa8cd0ca50bc8c4d90f257bb5ed3b0bb00
+https://bugs.gentoo.org/921131
+
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 31 Dec 2023 17:39:01 +0200
+Subject: [PATCH] Add missing header for gcc-14
+
+https://gcc.gnu.org/gcc-14/porting_to.html
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/src/client/sound/sound_data.cpp
++++ b/src/client/sound/sound_data.cpp
+@@ -25,6 +25,7 @@ with this program; ifnot, write to the Free Software Foundation, Inc.,
+ #include "sound_data.h"
+
+ #include "sound_constants.h"
++#include <algorithm>
+
+ namespace sound {
+
diff --git a/games-engines/minetest/files/minetestserver.confd b/games-engines/minetest/files/minetestserver.confd
new file mode 100644
index 000000000000..b383fbd3e33b
--- /dev/null
+++ b/games-engines/minetest/files/minetestserver.confd
@@ -0,0 +1,16 @@
+# /etc/conf.d/minetest-server: config file for /etc/init.d/minetest-server
+
+# user
+USER="minetest"
+
+# group
+GROUP="minetest"
+
+# pidfile
+PIDFILE="/run/minetest.pid"
+
+# executable
+MINETESTBIN="/usr/bin/minetestserver"
+
+# additional arguments for the server
+ARGS="--logfile /var/log/minetest/minetest-server.log"
diff --git a/games-engines/minetest/files/minetestserver.initd b/games-engines/minetest/files/minetestserver.initd
new file mode 100644
index 000000000000..ffca2e55995f
--- /dev/null
+++ b/games-engines/minetest/files/minetestserver.initd
@@ -0,0 +1,35 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="Minetest dedicated server"
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "starting server"
+ start-stop-daemon \
+ --start \
+ --quiet \
+ --make-pidfile \
+ --pidfile "${PIDFILE}" \
+ --background \
+ --user ${USER} \
+ --group ${GROUP} \
+ --exec "${MINETESTBIN}" -- ${ARGS}
+
+ eend $?
+}
+
+stop() {
+ ebegin "stopping server"
+ start-stop-daemon \
+ --stop \
+ --signal 15 \
+ --quiet \
+ --pidfile "${PIDFILE}"
+
+ eend $?
+}
diff --git a/games-engines/minetest/files/minetestserver.logrotate b/games-engines/minetest/files/minetestserver.logrotate
new file mode 100644
index 000000000000..2e38adfc5f50
--- /dev/null
+++ b/games-engines/minetest/files/minetestserver.logrotate
@@ -0,0 +1,6 @@
+/var/log/minetest/*.log {
+ rotate 5
+ weekly
+ missingok
+ copytruncate
+}
diff --git a/games-engines/minetest/files/minetestserver_default.service b/games-engines/minetest/files/minetestserver_default.service
new file mode 100644
index 000000000000..e2754abaaf12
--- /dev/null
+++ b/games-engines/minetest/files/minetestserver_default.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Minetest multiplayer server (server config minetest.conf)
+Documentation=man:minetestserver(6)
+After=network.target
+
+[Service]
+Restart=on-failure
+User=minetest
+Group=minetest
+ExecStart=/usr/bin/minetestserver --config /etc/minetest/minetest.conf --logfile /var/log/minetest/minetest-server.log
+StandardOutput=null
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/games-engines/minetest/files/minetestserver_template.service b/games-engines/minetest/files/minetestserver_template.service
new file mode 100644
index 000000000000..a945de53e870
--- /dev/null
+++ b/games-engines/minetest/files/minetestserver_template.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Minetest multiplayer server (server config %i.conf)
+Documentation=man:minetestserver(6)
+After=network.target
+
+[Service]
+Restart=on-failure
+User=minetest
+Group=minetest
+ExecStart=/usr/bin/minetestserver --config /etc/minetest/%i.conf --logfile /var/log/minetest/%i-server.log
+StandardOutput=null
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/games-engines/minetest/metadata.xml b/games-engines/minetest/metadata.xml
new file mode 100644
index 000000000000..2dd1e78f7815
--- /dev/null
+++ b/games-engines/minetest/metadata.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription lang="en">
+ Minetest is an infinite-world block sandbox game and a game
+ engine, inspired by InfiniMiner, Minecraft and the like. It has
+ been in development and use since October 2010.
+
+ It is Free and Open Source Software, released under the LGPL 2.1
+ or later, available for Windows, Mac OS X and Linux.
+
+ Minetest is developed by a random bunch of lunatics.
+
+ Minetest is designed to be simple, stable and portable. It is
+ lightweight enough to run on fairly old hardware. It currently
+ runs playably on a laptop with Intel 945GM graphics. Though, as
+ for the CPU, dualcore is recommended.
+
+ Features
+ * Walk around, dig and build in an infinite voxel world,
+ and craft stuff from raw materials to help you along the way.
+ * Simplistic Modding API that supports many kinds of additions
+ and modifications to the game.
+ * Multiplayer support for tens of players, via servers hosted by
+ users.
+ * Voxel based lighting with gameplay consequences
+ (light caves and buildings with torches)
+ * Almost infinite world and a beautiful map generator.
+ * Runs natively on Windows, Linux, OS X and FreeBSD.
+ * Supports multiple languages, translated by the community.
+ </longdescription>
+ <maintainer type="person">
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="client">Build Minetest client</flag>
+ <flag name="leveldb">Enable LevelDB backend</flag>
+ <flag name="prometheus">Enable prometheus client support</flag>
+ <flag name="redis">Enable redis backend via <pkg>dev-libs/hiredis</pkg></flag>
+ <flag name="server">Build Minetest server</flag>
+ <flag name="spatial">Enable SpatialIndex AreaStore backend
+ </flag>
+ </use>
+ <upstream>
+ <bugs-to>https://github.com/minetest/minetest/issues</bugs-to>
+ <doc lang="en">https://wiki.minetest.net/Main_Page</doc>
+ <remote-id type="github">minetest/minetest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-engines/minetest/minetest-5.7.0-r2.ebuild b/games-engines/minetest/minetest-5.7.0-r2.ebuild
new file mode 100644
index 000000000000..391372f68334
--- /dev/null
+++ b/games-engines/minetest/minetest-5.7.0-r2.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+LUA_COMPAT=( lua5-1 luajit )
+
+inherit cmake flag-o-matic lua-single systemd xdg
+
+DESCRIPTION="A free open-source voxel game engine with easy modding and game creation"
+HOMEPAGE="https://www.minetest.net"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1+ CC-BY-SA-3.0 OFL-1.1 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+IUSE="+client +curl doc leveldb ncurses nls postgres prometheus redis +server +sound spatial test"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}
+ || ( client server )"
+
+RESTRICT="!test? ( test )"
+
+# Use bundled PUC Lua if lua5-1 has been requested requested due to C++
+# interoperability issues, at least until Bug #825766 has been resolved anyway.
+RDEPEND="lua_single_target_luajit? ( ${LUA_DEPS} )
+ app-arch/zstd
+ dev-db/sqlite:3
+ dev-libs/gmp:0=
+ dev-libs/jsoncpp:=
+ sys-libs/zlib
+ client? (
+ ~dev-games/irrlicht-mt-1.9.0.10
+ media-libs/freetype:2
+ media-libs/libpng:0=
+ media-libs/libjpeg-turbo
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXxf86vm
+ sound? (
+ media-libs/libvorbis
+ media-libs/openal
+ )
+ )
+ curl? ( net-misc/curl )
+ leveldb? ( dev-libs/leveldb:= )
+ ncurses? ( sys-libs/ncurses:0= )
+ nls? ( virtual/libintl )
+ postgres? ( >=dev-db/postgresql-9.5:= )
+ prometheus? ( dev-cpp/prometheus-cpp )
+ redis? ( dev-libs/hiredis:= )
+ server? (
+ acct-group/minetest
+ acct-user/minetest
+ ~dev-games/irrlicht-mt-headers-1.9.0.10
+ )
+ spatial? ( sci-libs/libspatialindex:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? (
+ app-text/doxygen
+ media-gfx/graphviz
+ )
+ nls? ( sys-devel/gettext )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.7.0-no_upstream_optflags.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # To avoid TEXTRELs on riscv
+ append-flags -fPIC
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CLIENT=$(usex client)
+ -DBUILD_SERVER=$(usex server)
+ -DBUILD_UNITTESTS=$(usex test)
+ -DCUSTOM_BINDIR="${EPREFIX}/usr/bin"
+ -DCUSTOM_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ -DCUSTOM_EXAMPLE_CONF_DIR="${EPREFIX}/usr/share/doc/${PF}"
+ -DCUSTOM_LOCALEDIR="${EPREFIX}/usr/share/${PN}/locale"
+ -DCUSTOM_MANDIR="${EPREFIX}/usr/share/man"
+ -DCUSTOM_SHAREDIR="${EPREFIX}/usr/share/${PN}"
+ -DENABLE_CURL=$(usex curl)
+ -DENABLE_CURSES=$(usex ncurses)
+ -DENABLE_GETTEXT=$(usex nls)
+ -DENABLE_GLES=no
+ -DENABLE_LEVELDB=$(usex leveldb)
+ -DENABLE_LUAJIT=$(usex lua_single_target_luajit)
+ -DENABLE_POSTGRESQL=$(usex postgres)
+ -DENABLE_PROMETHEUS=$(usex prometheus)
+ -DENABLE_REDIS=$(usex redis)
+ -DENABLE_SPATIAL=$(usex spatial)
+ -DENABLE_SOUND=$(usex sound)
+ -DENABLE_SYSTEM_GMP=1
+ -DENABLE_SYSTEM_JSONCPP=1
+ -DENABLE_UPDATE_CHECKER=no
+ -DRUN_IN_PLACE=0
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ cmake_src_compile doc
+ HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ if use server; then
+ keepdir /etc/${PN}
+ fowners root:${PN} /etc/${PN}
+ fperms 2750 /etc/${PN}
+
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+
+ newconfd "${FILESDIR}"/${PN}server.confd ${PN}-server
+ newinitd "${FILESDIR}"/${PN}server.initd ${PN}-server
+
+ systemd_newunit "${FILESDIR}"/${PN}server_default.service ${PN}-server.service
+ systemd_newunit "${FILESDIR}"/${PN}server_template.service ${PN}-server@.service
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}server.logrotate ${PN}-server
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog "Since 5.7.0-r2 new ${PN} configurations no longer check if newer versions are available upstream,"
+ elog "a feature unnecessary when ${PN} is installed using distro packages."
+ elog "To disable this check for existing configurations open the file ~/.minetest/minetest.conf"
+ elog "in a text editor while ${PN} is not running, locate the keyword 'update_last_checked',"
+ elog "and change that line to say:"
+ elog
+ elog " update_last_checked = disabled"
+ elog
+}
diff --git a/games-engines/minetest/minetest-5.8.0.ebuild b/games-engines/minetest/minetest-5.8.0.ebuild
new file mode 100644
index 000000000000..7e29fe96d7ad
--- /dev/null
+++ b/games-engines/minetest/minetest-5.8.0.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+LUA_COMPAT=( lua5-1 luajit )
+
+inherit cmake flag-o-matic lua-single systemd xdg
+
+DESCRIPTION="A free open-source voxel game engine with easy modding and game creation"
+HOMEPAGE="https://www.minetest.net"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1+ CC-BY-SA-3.0 OFL-1.1 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+IUSE="+client +curl doc leveldb ncurses nls postgres prometheus redis +server +sound spatial test"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}
+ || ( client server )"
+
+RESTRICT="!test? ( test )"
+
+# Use bundled PUC Lua if lua5-1 has been requested requested due to C++
+# interoperability issues, at least until Bug #825766 has been resolved anyway.
+RDEPEND="lua_single_target_luajit? ( ${LUA_DEPS} )
+ app-arch/zstd
+ dev-db/sqlite:3
+ dev-libs/gmp:0=
+ dev-libs/jsoncpp:=
+ sys-libs/zlib
+ client? (
+ ~dev-games/irrlicht-mt-1.9.0.13
+ media-libs/freetype:2
+ media-libs/libpng:0=
+ media-libs/libjpeg-turbo
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXxf86vm
+ sound? (
+ media-libs/libvorbis
+ media-libs/openal
+ )
+ )
+ curl? ( net-misc/curl )
+ leveldb? ( dev-libs/leveldb:= )
+ ncurses? ( sys-libs/ncurses:0= )
+ nls? ( virtual/libintl )
+ postgres? ( >=dev-db/postgresql-9.5:= )
+ prometheus? ( dev-cpp/prometheus-cpp )
+ redis? ( dev-libs/hiredis:= )
+ server? (
+ acct-group/minetest
+ acct-user/minetest
+ ~dev-games/irrlicht-mt-headers-1.9.0.13
+ )
+ spatial? ( sci-libs/libspatialindex:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? (
+ app-text/doxygen
+ media-gfx/graphviz
+ )
+ nls? ( sys-devel/gettext )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.7.0-no_upstream_optflags.patch
+ "${FILESDIR}"/${PN}-5.8.0-include_algorithm.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # To avoid TEXTRELs on riscv
+ append-flags -fPIC
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_CLIENT=$(usex client)
+ -DBUILD_SERVER=$(usex server)
+ -DBUILD_UNITTESTS=$(usex test)
+ -DCUSTOM_BINDIR="${EPREFIX}/usr/bin"
+ -DCUSTOM_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ -DCUSTOM_EXAMPLE_CONF_DIR="${EPREFIX}/usr/share/doc/${PF}"
+ -DCUSTOM_LOCALEDIR="${EPREFIX}/usr/share/${PN}/locale"
+ -DCUSTOM_MANDIR="${EPREFIX}/usr/share/man"
+ -DCUSTOM_SHAREDIR="${EPREFIX}/usr/share/${PN}"
+ -DENABLE_CURL=$(usex curl)
+ -DENABLE_CURSES=$(usex ncurses)
+ -DENABLE_GETTEXT=$(usex nls)
+ -DENABLE_LEVELDB=$(usex leveldb)
+ -DENABLE_LUAJIT=$(usex lua_single_target_luajit)
+ -DENABLE_POSTGRESQL=$(usex postgres)
+ -DENABLE_PROMETHEUS=$(usex prometheus)
+ -DENABLE_REDIS=$(usex redis)
+ -DENABLE_SPATIAL=$(usex spatial)
+ -DENABLE_SOUND=$(usex sound)
+ -DENABLE_SYSTEM_GMP=1
+ -DENABLE_SYSTEM_JSONCPP=1
+ -DENABLE_UPDATE_CHECKER=no
+ -DRUN_IN_PLACE=0
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+
+ if use doc; then
+ cmake_src_compile doc
+ HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ if use server; then
+ keepdir /etc/${PN}
+ fowners root:${PN} /etc/${PN}
+ fperms 2750 /etc/${PN}
+
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+
+ newconfd "${FILESDIR}"/${PN}server.confd ${PN}-server
+ newinitd "${FILESDIR}"/${PN}server.initd ${PN}-server
+
+ systemd_newunit "${FILESDIR}"/${PN}server_default.service ${PN}-server.service
+ systemd_newunit "${FILESDIR}"/${PN}server_template.service ${PN}-server@.service
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}server.logrotate ${PN}-server
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog "Since 5.7.0-r2 new ${PN} configurations no longer check if newer versions are available upstream,"
+ elog "a feature unnecessary when ${PN} is installed using distro packages."
+ elog "To disable this check for existing configurations open the file ~/.minetest/minetest.conf"
+ elog "in a text editor while ${PN} is not running, locate the keyword 'update_last_checked',"
+ elog "and change that line to say:"
+ elog
+ elog " update_last_checked = disabled"
+ elog
+}
diff --git a/games-engines/nazghul/Manifest b/games-engines/nazghul/Manifest
deleted file mode 100644
index 49a10089b6f3..000000000000
--- a/games-engines/nazghul/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nazghul-0.7.1.tar.gz 7929363 BLAKE2B 4afcfcf47082cf75a98ce73ef115cf0a2f4b35e48cdfaddf362106114447543e853f22365ae773fa2489deb47caca3fa888e738213de294b2516b9f06672dff5 SHA512 6484698609ad88c9d7d2d6c2dc93aee98614917b53dca826a2827a9375192e323e40de1f69a3de1e8dab35f02834430e1ee947f4bf6088fbf510c416da1d8c0f
diff --git a/games-engines/nazghul/nazghul-0.7.1-r1.ebuild b/games-engines/nazghul/nazghul-0.7.1-r1.ebuild
deleted file mode 100644
index 7b3c9b70ec1b..000000000000
--- a/games-engines/nazghul/nazghul-0.7.1-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit desktop vcs-clean
-
-DESCRIPTION="A computer role-playing game (CRPG) engine with game called HaximA"
-HOMEPAGE="http://myweb.cableone.net/gmcnutt/nazghul.html"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- media-libs/libpng:0
- >=media-libs/libsdl-1.2.3[X,sound,video]
- media-libs/sdl-image[png]
- media-libs/sdl-mixer[midi,vorbis,wav]
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- ecvs_clean
- default
-}
-
-src_install() {
- default
- dodoc doc/{GAME_RULES,GHULSCRIPT,MAP_HACKERS_GUIDE,USERS_GUIDE}
-
- dodoc doc/*html
- dodoc doc/*gif
-
- docinto engine_extension_and_design
- dodoc doc/engine_extension_and_design/*
-
- docinto world_building
- dodoc doc/world_building/*
-
- doicon icons/haxima.png
- make_desktop_entry haxima.sh HaximA haxima
-}
diff --git a/games-engines/odamex/Manifest b/games-engines/odamex/Manifest
index cf41cb20eab0..ec0da44a3f5b 100644
--- a/games-engines/odamex/Manifest
+++ b/games-engines/odamex/Manifest
@@ -1 +1 @@
-DIST odamex-src-10.0.0.tar.xz 17680868 BLAKE2B 95df336ccc24c2658174bdd051cb9b98ca906d653d84a120330d8fe6f11ad91ba70ba7edfc960f8815d02795f7392761a0174171de30ea78b37389a61deacae7 SHA512 b825953a446a4eb46d2d004b20df876bceec823cb5f0bf661ecac03eff2f07c11fe47c6861f3c3ee417ce9ca869474ff422d78bba1b742485315ba5ba86bd702
+DIST odamex-src-10.4.0.tar.xz 17255540 BLAKE2B bdfb357424bd1712cf763f5e6109b67910e518703e8a29fa3b071f73302beea2d3e7ed63a4e7195c367a01947ad829a78967cc77acfe3455a6e2094ca33b6590 SHA512 bea6a2e70e6bdab6a1d6b5beccf981b7570142cdabc6e54935601c5fd966e1a0e7935aa6b492185165440b31899fa6240f038a75d4741a92520e6e9be935ef7b
diff --git a/games-engines/odamex/files/odamex-10.0.0-master-std.patch b/games-engines/odamex/files/odamex-10.0.0-master-std.patch
deleted file mode 100644
index 2fe299fd12df..000000000000
--- a/games-engines/odamex/files/odamex-10.0.0-master-std.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 08ff1a04abfde739f7b6d273ebfad65e9a09c24a Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <chewi@gentoo.org>
-Date: Sun, 20 Mar 2022 13:19:49 +0000
-Subject: [PATCH] Set odamast C++ standard to 98
-
-Otherwise the use of `byte` is ambiguous with newer compilers, resulting
-in a build error.
-
-(cherry picked from commit 4c06d27e60b1e10c4d661523894430323398b140)
----
- master/CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/master/CMakeLists.txt b/master/CMakeLists.txt
-index cbe6a0311..f216eab9a 100644
---- a/master/CMakeLists.txt
-+++ b/master/CMakeLists.txt
-@@ -6,6 +6,7 @@ file(GLOB MASTER_SOURCES *.cpp *.h)
- # Master target
- add_executable(odamast ${MASTER_SOURCES})
- odamex_target_settings(odamast)
-+set_property(TARGET odamast PROPERTY CXX_STANDARD 98)
-
- if(WIN32)
- target_link_libraries(odamast wsock32)
---
-2.34.1
-
diff --git a/games-engines/odamex/files/odamex-10.0.0-musl.patch b/games-engines/odamex/files/odamex-10.0.0-musl.patch
deleted file mode 100644
index 92af6ad305bd..000000000000
--- a/games-engines/odamex/files/odamex-10.0.0-musl.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From b87798fe9fed746e98871aaa10978324e4b9378f Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <chewi@gentoo.org>
-Date: Tue, 1 Mar 2022 21:29:32 +0000
-Subject: [PATCH] Fix musl build by checking whether execinfo.h's backtrace is
- present
-
-Closes: https://github.com/odamex/odamex/issues/533
-(cherry picked from commit df3f5976416d342198879db80e4bf35f69eb2ed7)
----
- common/CMakeLists.txt | 9 +++++++++
- common/i_crash_noop.cpp | 2 +-
- common/i_crash_posix.cpp | 2 +-
- 3 files changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt
-index 2850607e5..8d02b3212 100644
---- a/common/CMakeLists.txt
-+++ b/common/CMakeLists.txt
-@@ -6,3 +6,12 @@ configure_file(git_describe.h.in "${CMAKE_CURRENT_BINARY_DIR}/git_describe.h")
- add_library(odamex-common INTERFACE)
- target_sources(odamex-common INTERFACE ${COMMON_SOURCES} ${COMMON_HEADERS})
- target_include_directories(odamex-common INTERFACE . ${CMAKE_CURRENT_BINARY_DIR})
-+
-+if(UNIX)
-+ include(CheckSymbolExists)
-+ check_symbol_exists(backtrace "execinfo.h" HAVE_BACKTRACE)
-+
-+ if(HAVE_BACKTRACE)
-+ target_compile_definitions(odamex-common INTERFACE HAVE_BACKTRACE)
-+ endif()
-+endif()
-diff --git a/common/i_crash_noop.cpp b/common/i_crash_noop.cpp
-index 4eb8e70f4..84a406fb3 100644
---- a/common/i_crash_noop.cpp
-+++ b/common/i_crash_noop.cpp
-@@ -23,7 +23,7 @@
-
-
- #if defined _WIN32 && !defined _XBOX && defined _MSC_VER && !defined _DEBUG
--#elif defined UNIX && !defined GEKKO
-+#elif defined UNIX && defined HAVE_BACKTRACE && !defined GEKKO
- #else
-
- #include "odamex.h"
-diff --git a/common/i_crash_posix.cpp b/common/i_crash_posix.cpp
-index 8e6270872..4bf8727f6 100644
---- a/common/i_crash_posix.cpp
-+++ b/common/i_crash_posix.cpp
-@@ -22,7 +22,7 @@
- //-----------------------------------------------------------------------------
-
-
--#if defined UNIX && !defined GCONSOLE
-+#if defined UNIX && defined HAVE_BACKTRACE && !defined GCONSOLE
-
- #include "odamex.h"
-
---
-2.34.1
-
diff --git a/games-engines/odamex/files/odamex-10.0.0-unbundle-jsoncpp.patch b/games-engines/odamex/files/odamex-10.0.0-unbundle-jsoncpp.patch
deleted file mode 100644
index 9b0d3284dc48..000000000000
--- a/games-engines/odamex/files/odamex-10.0.0-unbundle-jsoncpp.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From c8d1cd6465d8d64a23a111edb5fba67565660fe8 Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <chewi@gentoo.org>
-Date: Sun, 27 Feb 2022 22:51:18 +0000
-Subject: [PATCH 2/3] Allow building against the system JsonCpp library
-
-`USE_INTERNAL_JSONCPP` defaults to true and ignores `USE_INTERNAL_LIBS`
-because users are unlikely to have it installed.
-
-More recent versions of JsonCpp require C++11, but Odamex targets C++98
-for compatibility with older platforms. The standard is therefore only
-changed to C++11 when `USE_INTERNAL_JSONCPP` is false, and only for the
-server where JsonCpp is used. Note that C++11 still works when building
-against an older JsonCpp version.
-
-Tested against JsonCpp 1.9.5 on Gentoo Linux.
-
-Closes: https://github.com/odamex/odamex/issues/261
-(cherry picked from commit 5162c6297c7177af907e5e0502eac9d59ffcc22b)
----
- CMakeLists.txt | 1 +
- libraries/CMakeLists.txt | 2 +-
- server/CMakeLists.txt | 15 ++++++++++++++-
- 3 files changed, 16 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c43c9f111..9353d0c6b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -42,6 +42,7 @@ option(USE_INTERNAL_DEUTEX "Use internal DeuTex" ${USE_INTERNAL_LIBS})
- cmake_dependent_option( USE_INTERNAL_ZLIB "Use internal zlib" ${USE_INTERNAL_LIBS} BUILD_CLIENT 0 )
- cmake_dependent_option( USE_INTERNAL_PNG "Use internal libpng" ${USE_INTERNAL_LIBS} BUILD_CLIENT 0 )
- cmake_dependent_option( USE_INTERNAL_CURL "Use internal libcurl" ${USE_INTERNAL_LIBS} BUILD_CLIENT 0 )
-+cmake_dependent_option( USE_INTERNAL_JSONCPP "Use internal JsonCpp" 1 BUILD_SERVER 0 )
- cmake_dependent_option( USE_INTERNAL_WXWIDGETS "Use internal wxWidgets" ${USE_INTERNAL_LIBS} BUILD_LAUNCHER 0 )
- cmake_dependent_option( ENABLE_PORTMIDI "Enable portmidi support" 1 BUILD_CLIENT 0 )
- cmake_dependent_option( USE_MINIUPNP "Build with UPnP support" 1 BUILD_SERVER 0 )
-diff --git a/libraries/CMakeLists.txt b/libraries/CMakeLists.txt
-index ae7db4c86..493d8f12b 100644
---- a/libraries/CMakeLists.txt
-+++ b/libraries/CMakeLists.txt
-@@ -295,7 +295,7 @@ endif()
-
- ### JsonCpp ###
-
--if(BUILD_SERVER)
-+if(BUILD_SERVER AND USE_INTERNAL_JSONCPP)
- message(STATUS "Compiling JsonCpp...")
-
- # Figure out the correct library path to attach to our imported target
-diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt
-index 32297080f..a9bf8c44d 100644
---- a/server/CMakeLists.txt
-+++ b/server/CMakeLists.txt
-@@ -45,7 +45,12 @@ endif()
- add_executable(odasrv
- ${COMMON_SOURCES} ${SERVER_SOURCES} ${SERVER_WIN32_SOURCES})
- odamex_target_settings(odasrv)
--set_property(TARGET odasrv PROPERTY CXX_STANDARD 98)
-+
-+if(USE_INTERNAL_JSONCPP)
-+ set_property(TARGET odasrv PROPERTY CXX_STANDARD 98)
-+else()
-+ set_property(TARGET odasrv PROPERTY CXX_STANDARD 11)
-+endif()
-
- target_include_directories(odasrv PRIVATE src)
- if(WIN32)
-@@ -53,6 +58,14 @@ if(WIN32)
- endif()
- target_link_libraries(odasrv ZLIB::ZLIB jsoncpp odamex-common odaproto)
-
-+if(USE_INTERNAL_JSONCPP)
-+ target_link_libraries(odasrv jsoncpp)
-+else()
-+ find_package(PkgConfig REQUIRED)
-+ pkg_check_modules(JSONCPP jsoncpp REQUIRED IMPORTED_TARGET)
-+ target_link_libraries(odasrv PkgConfig::JSONCPP)
-+endif()
-+
- if(USE_MINIUPNP)
- if(USE_INTERNAL_MINIUPNP)
- target_link_libraries(odasrv upnpc-static)
---
-2.34.1
-
diff --git a/games-engines/odamex/files/odamex-10.0.0-unbundle-miniupnpc.patch b/games-engines/odamex/files/odamex-10.0.0-unbundle-miniupnpc.patch
deleted file mode 100644
index 80b0806e0c11..000000000000
--- a/games-engines/odamex/files/odamex-10.0.0-unbundle-miniupnpc.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 4e9fec4ce56fda2568a3a656e1f7c59cdbc5fb21 Mon Sep 17 00:00:00 2001
-From: James Le Cuirot <chewi@gentoo.org>
-Date: Sun, 20 Feb 2022 11:24:24 +0000
-Subject: [PATCH 1/3] Allow building against the system miniupnpc library
-
-`USE_INTERNAL_MINIUPNP` defaults to true and ignores `USE_INTERNAL_LIBS` because
-users are unlikely to have it installed.
-
-Although miniupnpc uses pkg-config, it doesn't add any include paths to the
-flags because it expects your include directives to include the miniupnpc
-directory. We should therefore do the same with the internal build so that
-either can be used.
-
-Bug: https://github.com/odamex/odamex/issues/261
-(cherry picked from commit 1832a4a1c06504de953cdec2413a47ee393101c7)
----
- CMakeLists.txt | 1 +
- common/i_net.cpp | 7 +++----
- libraries/CMakeLists.txt | 4 ++--
- server/CMakeLists.txt | 8 +++++++-
- 4 files changed, 13 insertions(+), 7 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index fd17dd36b..c43c9f111 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -45,6 +45,7 @@ cmake_dependent_option( USE_INTERNAL_CURL "Use internal libcurl" ${USE_INTERNAL_
- cmake_dependent_option( USE_INTERNAL_WXWIDGETS "Use internal wxWidgets" ${USE_INTERNAL_LIBS} BUILD_LAUNCHER 0 )
- cmake_dependent_option( ENABLE_PORTMIDI "Enable portmidi support" 1 BUILD_CLIENT 0 )
- cmake_dependent_option( USE_MINIUPNP "Build with UPnP support" 1 BUILD_SERVER 0 )
-+cmake_dependent_option( USE_INTERNAL_MINIUPNP "Use internal MiniUPnP" 1 USE_MINIUPNP 0 )
-
- set(PROJECT_COPYRIGHT "2006-2022")
- set(PROJECT_RC_VERSION "10,0,0,0")
-diff --git a/common/i_net.cpp b/common/i_net.cpp
-index 27b218d0d..dba512346 100644
---- a/common/i_net.cpp
-+++ b/common/i_net.cpp
-@@ -93,10 +93,9 @@ typedef int SOCKET;
- #include "minilzo.h"
-
- #ifdef ODA_HAVE_MINIUPNP
--#define MINIUPNP_STATICLIB
--#include "miniwget.h"
--#include "miniupnpc.h"
--#include "upnpcommands.h"
-+#include "miniupnpc/miniwget.h"
-+#include "miniupnpc/miniupnpc.h"
-+#include "miniupnpc/upnpcommands.h"
- #endif
-
- unsigned int inet_socket;
-diff --git a/libraries/CMakeLists.txt b/libraries/CMakeLists.txt
-index 1785ed0d8..ae7db4c86 100644
---- a/libraries/CMakeLists.txt
-+++ b/libraries/CMakeLists.txt
-@@ -350,7 +350,7 @@ endif()
- ### MiniUPnPc ###
- if(BUILD_SERVER AND NOT USE_MINIUPNP)
- message(STATUS "Skipping MiniUPnPc...")
--elseif(BUILD_SERVER AND USE_MINIUPNP)
-+elseif(BUILD_SERVER AND USE_MINIUPNP AND USE_INTERNAL_MINIUPNP)
- message(STATUS "Compiling MiniUPnPc...")
-
- # Figure out the correct library path to attach to our imported target
-@@ -386,7 +386,7 @@ elseif(BUILD_SERVER AND USE_MINIUPNP)
- # Synthesize an imported target that can be linked against.
- add_library(upnpc-static STATIC IMPORTED GLOBAL)
- set_target_properties(upnpc-static PROPERTIES
-- INTERFACE_INCLUDE_DIRECTORIES "${MINIUPNPC_INCLUDE_DIR}"
-+ INTERFACE_COMPILE_DEFINITIONS MINIUPNP_STATICLIB
- IMPORTED_LOCATION ${MINIUPNPC_LIBRARY})
- if(WIN32)
- set_target_properties(upnpc-static PROPERTIES INTERFACE_LINK_LIBRARIES "ws2_32;iphlpapi")
-diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt
-index c9fa17b64..32297080f 100644
---- a/server/CMakeLists.txt
-+++ b/server/CMakeLists.txt
-@@ -54,7 +54,13 @@ endif()
- target_link_libraries(odasrv ZLIB::ZLIB jsoncpp odamex-common odaproto)
-
- if(USE_MINIUPNP)
-- target_link_libraries(odasrv upnpc-static)
-+ if(USE_INTERNAL_MINIUPNP)
-+ target_link_libraries(odasrv upnpc-static)
-+ else()
-+ find_package(PkgConfig REQUIRED)
-+ pkg_check_modules(MINIUPNPC miniupnpc REQUIRED IMPORTED_TARGET)
-+ target_link_libraries(odasrv PkgConfig::MINIUPNPC)
-+ endif()
- endif()
-
- if(WIN32)
---
-2.34.1
-
diff --git a/games-engines/odamex/files/odamex-10.0.0-unbundle-fltk.patch b/games-engines/odamex/files/odamex-10.3.0-unbundle-fltk.patch
index 1c9a8753b44a..6cc6a1d18241 100644
--- a/games-engines/odamex/files/odamex-10.0.0-unbundle-fltk.patch
+++ b/games-engines/odamex/files/odamex-10.3.0-unbundle-fltk.patch
@@ -14,19 +14,9 @@ window is unaffected.
Tested against FLTK 1.3.5 on Gentoo Linux.
-(cherry picked from commit 656afab54e30598022f4dd2af298cf6a487a1fe1)
----
- CMakeLists.txt | 1 +
- client/CMakeLists.txt | 23 ++++++++++++++++++++++-
- client/gui/gui_boot.cpp | 2 ++
- libraries/CMakeLists.txt | 2 +-
- 4 files changed, 26 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9353d0c6b..599b6e85b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -42,6 +42,7 @@ option(USE_INTERNAL_DEUTEX "Use internal DeuTex" ${USE_INTERNAL_LIBS})
+--- a/CMakeLists.txt 2022-11-24 21:02:08.000000000 -0600
++++ b/CMakeLists.txt 2023-05-12 14:08:26.838832213 -0500
+@@ -43,6 +43,7 @@
cmake_dependent_option( USE_INTERNAL_ZLIB "Use internal zlib" ${USE_INTERNAL_LIBS} BUILD_CLIENT 0 )
cmake_dependent_option( USE_INTERNAL_PNG "Use internal libpng" ${USE_INTERNAL_LIBS} BUILD_CLIENT 0 )
cmake_dependent_option( USE_INTERNAL_CURL "Use internal libcurl" ${USE_INTERNAL_LIBS} BUILD_CLIENT 0 )
@@ -34,16 +24,14 @@ index 9353d0c6b..599b6e85b 100644
cmake_dependent_option( USE_INTERNAL_JSONCPP "Use internal JsonCpp" 1 BUILD_SERVER 0 )
cmake_dependent_option( USE_INTERNAL_WXWIDGETS "Use internal wxWidgets" ${USE_INTERNAL_LIBS} BUILD_LAUNCHER 0 )
cmake_dependent_option( ENABLE_PORTMIDI "Enable portmidi support" 1 BUILD_CLIENT 0 )
-diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
-index bd071a7a5..ff1e72ba3 100644
---- a/client/CMakeLists.txt
-+++ b/client/CMakeLists.txt
-@@ -206,7 +206,28 @@ if(TARGET SDL2::SDL2 OR TARGET SDL::SDL)
+--- a/client/CMakeLists.txt 2022-11-24 21:02:08.000000000 -0600
++++ b/client/CMakeLists.txt 2023-05-12 14:10:01.895750073 -0500
+@@ -206,8 +206,28 @@
target_link_libraries(odamex ${PNG_LIBRARY} ${ZLIB_LIBRARY} CURL::libcurl)
if(NOT GCONSOLE)
target_include_directories(odamex PRIVATE gui)
- target_link_libraries(odamex fltk fltk_images)
-+
+- endif()
+ if(USE_INTERNAL_FLTK)
+ set(FLTK_LIBRARIES fltk fltk_images)
+ set(HAVE_FLTK_SCREEN_SCALE TRUE)
@@ -65,16 +53,15 @@ index bd071a7a5..ff1e72ba3 100644
+ endif()
+
+ target_link_libraries(odamex ${FLTK_LIBRARIES})
- endif()
++ endif()
if(ENABLE_PORTMIDI)
-diff --git a/client/gui/gui_boot.cpp b/client/gui/gui_boot.cpp
-index f0a0035d1..834038209 100644
---- a/client/gui/gui_boot.cpp
-+++ b/client/gui/gui_boot.cpp
-@@ -315,12 +315,14 @@ static BootWindow* MakeBootWindow()
+ target_link_libraries(odamex ${PORTMIDI_LIBRARY})
+--- a/client/gui/gui_boot.cpp 2022-11-24 21:02:08.000000000 -0600
++++ b/client/gui/gui_boot.cpp 2023-05-12 14:11:19.362517260 -0500
+@@ -537,12 +537,14 @@
*/
- std::string GUI_BootWindow()
+ scannedWADs_t GUI_BootWindow()
{
+#ifdef HAVE_FLTK_SCREEN_SCALE
// Scale according to 1600x900.
@@ -87,19 +74,14 @@ index f0a0035d1..834038209 100644
BootWindow* win = MakeBootWindow();
win->initWADDirs();
-diff --git a/libraries/CMakeLists.txt b/libraries/CMakeLists.txt
-index 493d8f12b..a53441d13 100644
---- a/libraries/CMakeLists.txt
-+++ b/libraries/CMakeLists.txt
-@@ -255,7 +255,7 @@ endif()
+--- a/libraries/CMakeLists.txt 2022-11-24 21:02:08.000000000 -0600
++++ b/libraries/CMakeLists.txt 2023-05-12 14:11:46.463789831 -0500
+@@ -264,7 +264,7 @@
### FLTK (dep: libpng) ###
-if(BUILD_CLIENT)
+if(BUILD_CLIENT AND USE_INTERNAL_FLTK)
- message(STATUS "Compiling FLTK...")
-
set(_FLTK_BUILDGEN_PARAMS
---
-2.34.1
-
+ "-DOPTION_USE_SYSTEM_LIBJPEG=OFF"
+ "-DOPTION_PRINT_SUPPORT=OFF"
diff --git a/games-engines/odamex/files/odamex-10.4.0-backport-pr928.patch b/games-engines/odamex/files/odamex-10.4.0-backport-pr928.patch
new file mode 100644
index 000000000000..7d6871847814
--- /dev/null
+++ b/games-engines/odamex/files/odamex-10.4.0-backport-pr928.patch
@@ -0,0 +1,66 @@
+https://bugs.gentoo.org/849866
+https://github.com/odamex/odamex/pull/928
+
+From b952137ac487a6558e1796c86d8fd55b8b3c9025 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Wed, 6 Dec 2023 01:01:29 -0500
+Subject: [PATCH] Fix auto-SIMD for i386+sse2, ppc+altivec
+
+Only Darwin ever used -faltivec, gcc uses -maltivec since at least 2007:
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30254#c1
+
+Similarly, recent versions of gcc define __APPLE_ALTIVEC__ for
+compatibility, so just unconditionally include altivec.h.
+
+Canonical way to enable specific extensions is e.g. -msse2, use that
+instead of optimizing for a specific CPU.
+
+Finally, cmake uses target_compile_options to add arbitrary flags.
+target_compile_definitions assumes you want a preprocessor definition,
+which was adding "-D-faltivec" to the command line which gcc doesn't
+like; this is what originally prompted this change.
+---
+ client/CMakeLists.txt | 11 +++++++----
+ client/src/r_drawt_altivec.cpp | 2 --
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
+index 646164916..56caf04f8 100644
+--- a/client/CMakeLists.txt
++++ b/client/CMakeLists.txt
+@@ -169,14 +169,17 @@ if(TARGET SDL2::SDL2 OR TARGET SDL::SDL)
+ message(STATUS "Default SIMD flags not touched for AMD64")
+ elseif(ODAMEX_TARGET_ARCH STREQUAL "i386")
+ if(NOT MSVC)
+- # Pentium M has SSE2.
+- target_compile_definitions(odamex PRIVATE -march=pentium-m)
++ target_compile_options(odamex PRIVATE -msse2)
+ else()
+- target_compile_definitions(odamex PRIVATE /arch:SSE2)
++ target_compile_options(odamex PRIVATE /arch:SSE2)
+ endif()
+ message(STATUS "Default SIMD flags set to SSE2")
+ elseif(ODAMEX_TARGET_ARCH MATCHES "ppc")
+- target_compile_definitions(odamex PRIVATE -faltivec)
++ if(APPLE)
++ target_compile_options(odamex PRIVATE -faltivec)
++ else()
++ target_compile_options(odamex PRIVATE -maltivec)
++ endif()
+ message(STATUS "Default SIMD flags set to AltiVec")
+ endif()
+ else()
+diff --git a/client/src/r_drawt_altivec.cpp b/client/src/r_drawt_altivec.cpp
+index eea758733..5a0cdf95e 100644
+--- a/client/src/r_drawt_altivec.cpp
++++ b/client/src/r_drawt_altivec.cpp
+@@ -36,9 +36,7 @@
+ #include "r_main.h"
+ #include "i_video.h"
+
+-#if !defined(__APPLE_ALTIVEC__)
+ #include <altivec.h>
+-#endif
+
+ #define ALTIVEC_ALIGNED(x) x __attribute__((aligned(16)))
+
diff --git a/games-engines/odamex/files/odamex-lto.patch b/games-engines/odamex/files/odamex-lto.patch
new file mode 100644
index 000000000000..20d9d88c002b
--- /dev/null
+++ b/games-engines/odamex/files/odamex-lto.patch
@@ -0,0 +1,41 @@
+https://github.com/odamex/odamex/pull/942
+
+diff --git a/client/src/cl_parse.cpp b/client/src/cl_parse.cpp
+index cdadbbdf2..e15c45edc 100644
+--- a/client/src/cl_parse.cpp
++++ b/client/src/cl_parse.cpp
+@@ -2354,7 +2354,7 @@ static void CL_SectorProperties(const odaproto::svc::SectorProperties* msg)
+ break;
+ }
+ case SPC_Gravity:
+- *(int*)&sector->gravity = msg->sector().gravity();
++ *&sector->gravity = msg->sector().gravity();
+ break;
+ case SPC_Panning:
+ sector->ceiling_xoffs = msg->sector().ceiling_offs().x();
+diff --git a/common/p_spec.cpp b/common/p_spec.cpp
+index df1a42a6a..d0a5af419 100644
+--- a/common/p_spec.cpp
++++ b/common/p_spec.cpp
+@@ -465,7 +465,7 @@ void DPusher::Serialize (FArchive &arc)
+ else
+ {
+ arc >> m_Type;
+- arc.ReadObject((DObject*&)m_Source, DPusher::StaticType());
++ arc.ReadObject((DObject*&)*m_Source, DPusher::StaticType());
+ arc >> m_Xmag >> m_Ymag >> m_Magnitude >> m_Radius >> m_X >> m_Y >> m_Affectee;
+ }
+ }
+diff --git a/odalpapi/net_io.cpp b/odalpapi/net_io.cpp
+index d6dd666fe..16f136374 100644
+--- a/odalpapi/net_io.cpp
++++ b/odalpapi/net_io.cpp
+@@ -194,7 +194,7 @@ void BufferedSocket::SetRemoteAddress(const string& Address, const uint16_t& Por
+
+ m_RemoteAddress.sin_family = PF_INET;
+ m_RemoteAddress.sin_port = htons(Port);
+- m_RemoteAddress.sin_addr.s_addr = *((unsigned long*)&(((sockaddr_in*)result->ai_addr)->sin_addr));
++ m_RemoteAddress.sin_addr = ((sockaddr_in*)result->ai_addr)->sin_addr;
+ memset(m_RemoteAddress.sin_zero, '\0', sizeof m_RemoteAddress.sin_zero);
+
+ freeaddrinfo(result);
diff --git a/games-engines/odamex/files/odamex-odalaunch-prefix.patch b/games-engines/odamex/files/odamex-odalaunch-prefix.patch
new file mode 100644
index 000000000000..cf293e60f9e1
--- /dev/null
+++ b/games-engines/odamex/files/odamex-odalaunch-prefix.patch
@@ -0,0 +1,64 @@
+From 04e38b9fcb8a71a7b0b1b5bc1c1f229f2ff7a0a8 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Mon, 18 Mar 2024 22:54:16 +0000
+Subject: [PATCH] Always define INSTALL_PREFIX to fix paths for odalaunch
+
+Without INSTALL_PREFIX, it was falling back to the current directory and
+failing to launch the game.
+---
+ CMakeLists.txt | 5 +++++
+ client/CMakeLists.txt | 5 -----
+ server/CMakeLists.txt | 5 -----
+ 3 files changed, 5 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 147060cb1..97c447424 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -26,6 +26,11 @@ include(GNUInstallDirs OPTIONAL)
+ add_definitions(-DINSTALL_BINDIR="${CMAKE_INSTALL_BINDIR}")
+ add_definitions(-DINSTALL_DATADIR="${CMAKE_INSTALL_DATADIR}")
+
++# Set up FHS installation path
++if(NOT APPLE AND NOT WIN32)
++ add_definitions(-DINSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}")
++endif()
++
+ if(WIN32)
+ set(USE_INTERNAL_LIBS 1)
+ else()
+diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
+index 56caf04f8..0559564c7 100644
+--- a/client/CMakeLists.txt
++++ b/client/CMakeLists.txt
+@@ -128,11 +128,6 @@ if(APPLE)
+ ${AUDIOUNIT_LIBRARY})
+ endif()
+
+-# Set up FHS installation path
+-if(NOT APPLE AND NOT WIN32)
+- add_definitions(-DINSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}")
+-endif()
+-
+ # Client target
+ if(TARGET SDL2::SDL2 OR TARGET SDL::SDL)
+
+diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt
+index e5b54d8de..9afc6c2c6 100644
+--- a/server/CMakeLists.txt
++++ b/server/CMakeLists.txt
+@@ -37,11 +37,6 @@ if(WIN32 AND NOT MSVC)
+ add_definitions(-DWINVER=0x0500)
+ endif()
+
+-# Set up FHS installation path
+-if(NOT APPLE AND NOT WIN32)
+- add_definitions(-DINSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}")
+-endif()
+-
+ add_executable(odasrv
+ ${COMMON_SOURCES} ${SERVER_SOURCES} ${SERVER_WIN32_SOURCES})
+ odamex_target_settings(odasrv)
+--
+2.43.2
+
diff --git a/games-engines/odamex/metadata.xml b/games-engines/odamex/metadata.xml
index 1548d4273e2e..6bc351136c9c 100644
--- a/games-engines/odamex/metadata.xml
+++ b/games-engines/odamex/metadata.xml
@@ -17,6 +17,7 @@
<changelog>http://odamex.net/changelog.php</changelog>
<doc lang="en">http://odamex.net/wiki/Odamex</doc>
<bugs-to>http://odamex.net/bugs/</bugs-to>
+ <remote-id type="github">odamex/odamex</remote-id>
<remote-id type="sourceforge">odamex</remote-id>
</upstream>
<longdescription lang="en">
diff --git a/games-engines/odamex/odamex-10.0.0.ebuild b/games-engines/odamex/odamex-10.4.0-r3.ebuild
index 3f412be3f47d..a1d216e1f011 100644
--- a/games-engines/odamex/odamex-10.0.0.ebuild
+++ b/games-engines/odamex/odamex-10.4.0-r3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-WX_GTK_VER="3.0-gtk3"
+WX_GTK_VER="3.0-gtk3" # odalaunch crashes with 3.2. Check it before updating!
inherit cmake desktop prefix wxwidgets xdg
DESCRIPTION="Online multiplayer free software engine for DOOM"
@@ -12,8 +12,8 @@ SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${PN}-src-${PV}.
LICENSE="GPL-2+ MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="+client hidpi master +odalaunch portmidi server upnp X"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="+client hidpi master +odalaunch portmidi server upnp"
REQUIRED_USE="|| ( client master server )"
# protobuf is still bundled. Unfortunately an old version is required for C++98
@@ -26,11 +26,11 @@ RDEPEND="
media-libs/libsdl2[joystick,sound,video]
media-libs/sdl2-mixer
net-misc/curl
+ x11-libs/libX11
!hidpi? ( x11-libs/fltk:1 )
portmidi? ( media-libs/portmidi )
- X? ( x11-libs/libX11 )
)
- odalaunch? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )
+ odalaunch? ( x11-libs/wxGTK:${WX_GTK_VER} )
server? (
dev-libs/jsoncpp:=
upnp? ( net-libs/miniupnpc:= )
@@ -41,15 +41,14 @@ BDEPEND="games-util/deutex"
S="${WORKDIR}/${PN}-src-${PV}"
PATCHES=(
- "${FILESDIR}"/${PN}-10.0.0-unbundle-miniupnpc.patch
- "${FILESDIR}"/${PN}-10.0.0-unbundle-jsoncpp.patch
- "${FILESDIR}"/${PN}-10.0.0-unbundle-fltk.patch
- "${FILESDIR}"/${PN}-10.0.0-musl.patch
- "${FILESDIR}"/${PN}-10.0.0-master-std.patch
+ "${FILESDIR}"/${PN}-10.3.0-unbundle-fltk.patch
+ "${FILESDIR}"/${PN}-10.4.0-backport-pr928.patch
+ "${FILESDIR}"/${PN}-odalaunch-prefix.patch
+ "${FILESDIR}"/${PN}-lto.patch
)
src_prepare() {
- rm -r libraries/libminiupnpc || die
+ rm -r libraries/miniupnp || die
hprefixify common/d_main.cpp
use odalaunch && setup-wxwidgets
@@ -71,18 +70,21 @@ src_configure() {
-DENABLE_PORTMIDI=$(usex portmidi)
-DUSE_MINIUPNP=$(usex upnp)
)
- use client && mycmakeargs+=(-DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X))
cmake_src_configure
}
src_install() {
if use client ; then
- newicon -s 128 "${S}/media/icon_${PN}_128.png" "${PN}.png"
+ for size in 96 128 256 512; do
+ newicon -s ${size} "${S}/media/icon_${PN}_${size}.png" "${PN}.png"
+ done
make_desktop_entry "${PN}" "Odamex"
if use odalaunch ; then
- newicon -s 128 "${S}/media/icon_odalaunch_128.png" "odalaunch.png"
+ for size in 96 128 256 512; do
+ newicon -s ${size} "${S}/media/icon_odalaunch_${size}.png" "odalaunch.png"
+ done
make_desktop_entry odalaunch "Odamex Launcher" odalaunch
fi
fi
diff --git a/games-engines/openmw/Manifest b/games-engines/openmw/Manifest
index 607fa30988f1..1146884524c0 100644
--- a/games-engines/openmw/Manifest
+++ b/games-engines/openmw/Manifest
@@ -1 +1,2 @@
-DIST openmw-0.47.0.tar.gz 5156857 BLAKE2B 40e8b9670423259fa0cc03ef000c17ebe06d1d58c2527b51b25cea3b54978b8a698984371eac14ff212f9550253ab17d41b83d37426371f12f5ce2d30b240d3d SHA512 517e650d0054cdba8d38de05ed3975b0fcf8de32fda59c8df7c34b973e5390efa0dd9ec79babdfdaa79dee7aa8a75009776f62fad91b9aa9aa28016c5032652b
+DIST openmw-0.48.0.tar.gz 6020423 BLAKE2B 6a6f710f06efc0e844115018365db8148e9f6acefd453df74904144f53f5e896e9ab4d4f563ab95a3231500a2c1a5e1f8c5b6d6ac5c1315805c61657d13a7aa8 SHA512 969c10b285c039b54810c56f202f9c33bd03c83d87fec722c3389525e87fc7104760ea12527be5fb19a3f7ae2dc9aef0e4c6b7375d8bbcd6eb726e1d7859b833
+DIST openmw-template-8966dab24692555eec720c854fb0f73d108070cd.omwgame 139730 BLAKE2B bf7f96912fd828078c62d112f3ff83e9a35298516135fb46b15ed01fc0260247cc0cba4aa3bbc55bf6a688f216384dbd9a5aa3328c4387b9b180b80f7463963e SHA512 6e38642bcf013c5f496a9cb0bf3ec7c9553b6e86b836e7844824c5a05f556c9391167214469b6318401684b702d7569896bf743c85aee4198612b3315ba778d6
diff --git a/games-engines/openmw/files/openmw-0.47.0-mygui-license.patch b/games-engines/openmw/files/openmw-0.47.0-mygui-license.patch
deleted file mode 100644
index 3bf5915bb65d..000000000000
--- a/games-engines/openmw/files/openmw-0.47.0-mygui-license.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-We don't install license files
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d69352c94..5f97c86e9 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -856,9 +856,6 @@ elseif(NOT APPLE)
- INSTALL(PROGRAMS "${INSTALL_SOURCE}/openmw-wizard" DESTINATION "${BINDIR}" )
- ENDIF(BUILD_WIZARD)
-
-- # Install licenses
-- INSTALL(FILES "files/mygui/DejaVuFontLicense.txt" DESTINATION "${LICDIR}" )
--
- # Install icon and desktop file
- INSTALL(FILES "${OpenMW_BINARY_DIR}/org.openmw.launcher.desktop" DESTINATION "${DATAROOTDIR}/applications" COMPONENT "openmw")
- INSTALL(FILES "${OpenMW_SOURCE_DIR}/files/launcher/images/openmw.png" DESTINATION "${ICONDIR}" COMPONENT "openmw")
diff --git a/games-engines/openmw/files/openmw-0.47.0-sigstksz.patch b/games-engines/openmw/files/openmw-0.47.0-sigstksz.patch
deleted file mode 100644
index 588d6d639726..000000000000
--- a/games-engines/openmw/files/openmw-0.47.0-sigstksz.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 98a7d90ee258ceef9c70b0b2955d0458ec46f048 Mon Sep 17 00:00:00 2001
-From: elsid <elsid.mail@gmail.com>
-Date: Fri, 24 Sep 2021 19:40:29 +0200
-Subject: [PATCH] Assume SIGSTKSZ is not a constant
-
-SIGSTKSZ is not defined as constant since glibc 2.34:
-https://sourceware.org/git/?p=glibc.git;a=commit;h=6c57d320484988e87e446e2e60ce42816bf51d53
-
-Upstream-Status: Submitted
-[https://gitlab.com/OpenMW/openmw/-/merge_requests/1239]
----
- components/crashcatcher/crashcatcher.cpp | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/components/crashcatcher/crashcatcher.cpp b/components/crashcatcher/crashcatcher.cpp
-index 86571e1e3a..c828e1ca81 100644
---- a/components/crashcatcher/crashcatcher.cpp
-+++ b/components/crashcatcher/crashcatcher.cpp
-@@ -56,8 +56,6 @@ static const char exec_err[] = "!!! Failed to exec debug process\n";
-
- static char argv0[PATH_MAX];
-
--static char altstack[SIGSTKSZ];
--
-
- static struct {
- int signum;
-@@ -475,9 +473,10 @@ int crashCatcherInstallHandlers(int argc, char **argv, int num_signals, int *sig
-
- /* Set an alternate signal stack so SIGSEGVs caused by stack overflows
- * still run */
-+ static char* altstack = new char [SIGSTKSZ];
- altss.ss_sp = altstack;
- altss.ss_flags = 0;
-- altss.ss_size = sizeof(altstack);
-+ altss.ss_size = SIGSTKSZ;
- sigaltstack(&altss, nullptr);
-
- memset(&sa, 0, sizeof(sa));
---
-GitLab
-
diff --git a/games-engines/openmw/files/openmw-0.48.0-gcc14.patch b/games-engines/openmw/files/openmw-0.48.0-gcc14.patch
new file mode 100644
index 000000000000..b352d0536c8b
--- /dev/null
+++ b/games-engines/openmw/files/openmw-0.48.0-gcc14.patch
@@ -0,0 +1,13 @@
+Fix build with gcc 14
+https://bugs.gentoo.org/925105
+
+--- a/components/bsa/bsa_file.cpp
++++ b/components/bsa/bsa_file.cpp
+@@ -26,6 +26,7 @@
+ #include <components/files/constrainedfilestream.hpp>
+
+ #include <cassert>
++#include <algorithm>
+
+ #include <boost/filesystem/path.hpp>
+ #include <boost/filesystem/fstream.hpp>
diff --git a/games-engines/openmw/openmw-0.47.0-r1.ebuild b/games-engines/openmw/openmw-0.48.0.ebuild
index 7dd2a4a0a958..65765800e7b5 100644
--- a/games-engines/openmw/openmw-0.47.0-r1.ebuild
+++ b/games-engines/openmw/openmw-0.48.0.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake readme.gentoo-r1 xdg
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+inherit cmake lua-single readme.gentoo-r1 xdg
DESCRIPTION="Open source reimplementation of TES III: Morrowind"
HOMEPAGE="https://openmw.org/ https://gitlab.com/OpenMW/openmw"
@@ -13,31 +14,41 @@ if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/OpenMW/openmw.git"
else
SRC_URI="https://github.com/OpenMW/openmw/archive/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~x86"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
S="${WORKDIR}/${PN}-${P}"
fi
+MY_TEMPLATE_COMMIT="8966dab24692555eec720c854fb0f73d108070cd"
+SRC_URI+="
+ test? ( https://gitlab.com/OpenMW/example-suite/-/raw/${MY_TEMPLATE_COMMIT}/data/template.omwgame -> openmw-template-${MY_TEMPLATE_COMMIT}.omwgame )
+"
+
LICENSE="GPL-3 MIT BitstreamVera ZLIB"
SLOT="0"
IUSE="doc devtools +osg-fork test +qt5"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
RESTRICT="!test? ( test )"
# FIXME: Unbundle dev-games/openscenegraph-qt in extern/osgQt directory,
# used when BUILD_OPENCS flag is enabled. See bug #676266.
-RDEPEND="
+RDEPEND="${LUA_DEPS}
app-arch/lz4:=
- dev-games/mygui
+ >=dev-games/mygui-3.4.1
+ <dev-games/mygui-3.4.3
+ dev-cpp/yaml-cpp:=
+ dev-db/sqlite:3
dev-games/recastnavigation:=
- dev-libs/boost:=[threads(+),zlib]
+ dev-libs/boost:=[zlib]
+ dev-libs/icu:=
dev-libs/tinyxml[stl]
media-libs/libsdl2[joystick,opengl,video]
media-libs/openal
media-video/ffmpeg:=
>=sci-physics/bullet-2.86:=[double-precision]
virtual/opengl
- osg-fork? ( >=dev-games/openscenegraph-openmw-3.6:=[collada(-),ffmpeg,jpeg,png,sdl,svg,truetype,zlib] )
- !osg-fork? ( >=dev-games/openscenegraph-3.5.5:=[collada(-),ffmpeg,jpeg,png,sdl,svg,truetype,zlib] )
+ osg-fork? ( >=dev-games/openscenegraph-openmw-3.6:=[collada(-),jpeg,png,sdl,svg,truetype,zlib] )
+ !osg-fork? ( >=dev-games/openscenegraph-3.5.5:=[collada(-),jpeg,png,sdl,svg,truetype,zlib] )
qt5? (
app-arch/unshield
dev-qt/qtcore:5
@@ -48,12 +59,14 @@ RDEPEND="
)
"
-DEPEND="${RDEPEND}"
+DEPEND="${RDEPEND}
+ dev-cpp/sol2
+"
BDEPEND="
virtual/pkgconfig
doc? (
- app-doc/doxygen[dot]
+ app-text/doxygen[dot]
dev-python/sphinx
)
test? (
@@ -62,8 +75,7 @@ BDEPEND="
"
PATCHES=(
- "${FILESDIR}"/openmw-0.47.0-mygui-license.patch
- "${FILESDIR}"/openmw-0.47.0-sigstksz.patch
+ "${FILESDIR}/openmw-0.48.0-gcc14.patch"
)
src_prepare() {
@@ -71,6 +83,7 @@ src_prepare() {
# Use the system tinyxml headers
rm -v extern/oics/tiny{str,xml}* || die
+ rm -rv extern/sol3 || die
}
src_configure() {
@@ -88,11 +101,31 @@ src_configure() {
-DBUILD_UNITTESTS=$(usex test)
-DGLOBAL_DATA_PATH="${EPREFIX}/usr/share"
-DICONDIR="${EPREFIX}/usr/share/icons/hicolor/256x256/apps"
- -DMORROWIND_DATA_FILES="${EPREFIX}/usr/share/morrowind-data"
-DUSE_SYSTEM_TINYXML=ON
+ -DOPENMW_USE_SYSTEM_GOOGLETEST=ON
-DOPENMW_USE_SYSTEM_RECASTNAVIGATION=ON
)
+ if [[ ${ELUA} == luajit ]]; then
+ mycmakeargs+=(
+ -DUSE_LUAJIT=ON
+ )
+ else
+ mycmakeargs+=(
+ -DUSE_LUAJIT=OFF
+ -DLua_FIND_VERSION_MAJOR=$(ver_cut 1 $(lua_get_version))
+ -DLua_FIND_VERSION_MINOR=$(ver_cut 2 $(lua_get_version))
+ -DLua_FIND_VERSION_COUNT=2
+ -DLua_FIND_VERSION_EXACT=ON
+ )
+ fi
+
+ if use test ; then
+ mkdir -p "${BUILD_DIR}"/apps/openmw_test_suite/data || die
+ cp "${DISTDIR}"/openmw-template-${MY_TEMPLATE_COMMIT}.omwgame \
+ "${BUILD_DIR}"/apps/openmw_test_suite/data/template.omwgame || die
+ fi
+
cmake_src_configure
}
@@ -108,7 +141,15 @@ src_compile() {
}
src_test() {
- "${BUILD_DIR}/openmw_test_suite" || die
+ # Lua 5.x is supported in theory, but don't work as well, the test fails
+ # Upstream recommends luajit, but it has less arch coverage
+ if [[ ${ELUA} != luajit ]]; then
+ elog "Skipping tests on ${ELUA}"
+ return
+ fi
+ pushd "${BUILD_DIR}" > /dev/null || die
+ ./openmw_test_suite || die
+ popd > /dev/null || die
}
src_install() {
diff --git a/games-engines/openmw/openmw-9999.ebuild b/games-engines/openmw/openmw-9999.ebuild
index c4315facbc5c..b1a63beee240 100644
--- a/games-engines/openmw/openmw-9999.ebuild
+++ b/games-engines/openmw/openmw-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,10 +14,15 @@ if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/OpenMW/openmw.git"
else
SRC_URI="https://github.com/OpenMW/openmw/archive/${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="~amd64 ~arm64 ~x86"
S="${WORKDIR}/${PN}-${P}"
fi
+MY_TEMPLATE_COMMIT="8966dab24692555eec720c854fb0f73d108070cd"
+SRC_URI+="
+ test? ( https://gitlab.com/OpenMW/example-suite/-/raw/${MY_TEMPLATE_COMMIT}/data/template.omwgame -> openmw-template-${MY_TEMPLATE_COMMIT}.omwgame )
+"
+
LICENSE="GPL-3 MIT BitstreamVera ZLIB"
SLOT="0"
IUSE="doc devtools +osg-fork test +qt5"
@@ -29,17 +34,20 @@ RESTRICT="!test? ( test )"
RDEPEND="${LUA_DEPS}
app-arch/lz4:=
- >=dev-games/mygui-3.4.1
+ >=dev-games/mygui-3.4.3:=
+ dev-cpp/yaml-cpp:=
+ dev-db/sqlite:3
dev-games/recastnavigation:=
- dev-libs/boost:=[threads(+),zlib]
+ dev-libs/boost:=[zlib]
+ dev-libs/icu:=
dev-libs/tinyxml[stl]
media-libs/libsdl2[joystick,opengl,video]
media-libs/openal
media-video/ffmpeg:=
>=sci-physics/bullet-2.86:=[double-precision]
virtual/opengl
- osg-fork? ( >=dev-games/openscenegraph-openmw-3.6:=[collada(-),ffmpeg,jpeg,png,sdl,svg,truetype,zlib] )
- !osg-fork? ( >=dev-games/openscenegraph-3.5.5:=[collada(-),ffmpeg,jpeg,png,sdl,svg,truetype,zlib] )
+ osg-fork? ( >=dev-games/openscenegraph-openmw-3.6:=[collada(-),jpeg,png,sdl,svg,truetype,zlib] )
+ !osg-fork? ( >=dev-games/openscenegraph-3.5.5:=[collada(-),jpeg,png,sdl,svg,truetype,zlib] )
qt5? (
app-arch/unshield
dev-qt/qtcore:5
@@ -57,7 +65,7 @@ DEPEND="${RDEPEND}
BDEPEND="
virtual/pkgconfig
doc? (
- app-doc/doxygen[dot]
+ app-text/doxygen[dot]
dev-python/sphinx
)
test? (
@@ -65,16 +73,12 @@ BDEPEND="
)
"
-PATCHES=(
- "${FILESDIR}"/openmw-0.47.0-mygui-license.patch
-)
-
src_prepare() {
cmake_src_prepare
# Use the system tinyxml headers
rm -v extern/oics/tiny{str,xml}* || die
- rm -rv extern/sol3.2.2 || die
+ rm -rv extern/sol3 || die
}
src_configure() {
@@ -92,8 +96,8 @@ src_configure() {
-DBUILD_UNITTESTS=$(usex test)
-DGLOBAL_DATA_PATH="${EPREFIX}/usr/share"
-DICONDIR="${EPREFIX}/usr/share/icons/hicolor/256x256/apps"
- -DMORROWIND_DATA_FILES="${EPREFIX}/usr/share/morrowind-data"
-DUSE_SYSTEM_TINYXML=ON
+ -DOPENMW_USE_SYSTEM_GOOGLETEST=ON
-DOPENMW_USE_SYSTEM_RECASTNAVIGATION=ON
)
@@ -111,6 +115,12 @@ src_configure() {
)
fi
+ if use test ; then
+ mkdir -p "${BUILD_DIR}"/apps/openmw_test_suite/data || die
+ cp "${DISTDIR}"/openmw-template-${MY_TEMPLATE_COMMIT}.omwgame \
+ "${BUILD_DIR}"/apps/openmw_test_suite/data/template.omwgame || die
+ fi
+
cmake_src_configure
}
@@ -126,7 +136,15 @@ src_compile() {
}
src_test() {
- "${BUILD_DIR}/openmw_test_suite" || die
+ # Lua 5.x is supported in theory, but don't work as well, the test fails
+ # Upstream recommends luajit, but it has less arch coverage
+ if [[ ${ELUA} != luajit ]]; then
+ elog "Skipping tests on ${ELUA}"
+ return
+ fi
+ pushd "${BUILD_DIR}" > /dev/null || die
+ ./openmw_test_suite || die
+ popd > /dev/null || die
}
src_install() {
diff --git a/games-engines/openxcom/files/openxcom-9999-mandir.patch b/games-engines/openxcom/files/openxcom-9999-mandir.patch
deleted file mode 100644
index 44d01fae9fe8..000000000000
--- a/games-engines/openxcom/files/openxcom-9999-mandir.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/docs/CMakeLists.txt 2021-02-27 13:15:37.168240019 +0100
-+++ b/docs/CMakeLists.txt 2021-02-27 13:16:28.640486232 +0100
-@@ -38,5 +38,5 @@
-
- # Only useful for make install/package under *nix OSes, but not macOS.
- if ( UNIX AND NOT APPLE )
-- INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/openxcom.6 DESTINATION ${CMAKE_INSTALL_PREFIX}/man/man6)
-+ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/openxcom.6 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man6)
- endif ()
diff --git a/games-engines/openxcom/openxcom-1.0.0_p20180317-r1.ebuild b/games-engines/openxcom/openxcom-1.0.0_p20180317-r1.ebuild
index 699360f3785c..4263c5e3fec0 100644
--- a/games-engines/openxcom/openxcom-1.0.0_p20180317-r1.ebuild
+++ b/games-engines/openxcom/openxcom-1.0.0_p20180317-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -29,7 +29,7 @@ RDEPEND="
media-libs/sdl-image[png]
media-libs/sdl-mixer[flac,mikmod,vorbis]"
DEPEND="${RDEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
DOCS=( README.md )
diff --git a/games-engines/openxcom/openxcom-9999.ebuild b/games-engines/openxcom/openxcom-9999.ebuild
index 511bec55bed0..4263c5e3fec0 100644
--- a/games-engines/openxcom/openxcom-9999.ebuild
+++ b/games-engines/openxcom/openxcom-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -29,12 +29,10 @@ RDEPEND="
media-libs/sdl-image[png]
media-libs/sdl-mixer[flac,mikmod,vorbis]"
DEPEND="${RDEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
+BDEPEND="doc? ( app-text/doxygen )"
DOCS=( README.md )
-PATCHES=( "${FILESDIR}/${P}-mandir.patch" ) # TODO: GNUInstallDirs
-
src_compile() {
cmake_src_compile
use doc && cmake_build doxygen
diff --git a/games-engines/qtads/Manifest b/games-engines/qtads/Manifest
index bd461933ea27..0136951ebe1a 100644
--- a/games-engines/qtads/Manifest
+++ b/games-engines/qtads/Manifest
@@ -1 +1 @@
-DIST qtads-3.2.0-source.tar.xz 5415396 BLAKE2B 100812db9dd0d0630a5392036e29a366afd61778be2c887e19a1dfafd8f54af00654350fd855691e7e787385675d79a1c065767c93bc97665840396719ae5a0f SHA512 db52ed092d676029cc1ff1d02ddf9e5a91e0bcd77fbfd8e43c923deea4413c452895b70835c519e234f8af0bddf61bad7ad3ec5209876335eacaabe63ed6390a
+DIST qtads-3.3.0-source.tar.xz 6085960 BLAKE2B 516d9c38c1bed36d88f60ef746f1f8b7a82db14505e640c0d3024995a74c9efb68e7783111007db6ca7a2b6adbf7e5b96b6b1e7db1c0cce6441436e1ca81381b SHA512 7e2a647fc4bb81e9784a0b05b3fdee3e6306767aebd32466f6451dc8b2e0f61e01a5657d0bfb8ba091bdd8365c9fed4fd2ab5cd2a27bf5403a5192d42472f7b2
diff --git a/games-engines/qtads/qtads-3.2.0-r1.ebuild b/games-engines/qtads/qtads-3.3.0-r1.ebuild
index a96b5f399620..1df8c43516c6 100644
--- a/games-engines/qtads/qtads-3.2.0-r1.ebuild
+++ b/games-engines/qtads/qtads-3.3.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,7 +20,7 @@ BDEPEND="
DEPEND="
dev-qt/qtcore:5
dev-qt/qtgui:5[jpeg,png]
- dev-qt/qtimageformats[mng]
+ dev-qt/qtimageformats:5[mng]
dev-qt/qtnetwork:5[ssl]
dev-qt/qtsvg:5
dev-qt/qtwidgets:5[png]
diff --git a/games-engines/residualvm/Manifest b/games-engines/residualvm/Manifest
deleted file mode 100644
index fb840283578d..000000000000
--- a/games-engines/residualvm/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST residualvm-0.3.1-sources.tar.bz2 6711799 BLAKE2B 93d21bc5ee2c567b1ef256a69a2634761cd52211a0b2d926edc67b65e0cc1bf23b41c91225e6d43990d61e6c3761acf19defaa9b477ad882d332ad77c71af1a6 SHA512 491a77f1775718795d93f099fa39ec5888755ac1df610089c17209334b98ae783271078ed03a61ced09835aa327446804a55522d4b83f618dd3b843c231444a0
diff --git a/games-engines/residualvm/files/residualvm-0.3.1-freetype_pkgconfig.patch b/games-engines/residualvm/files/residualvm-0.3.1-freetype_pkgconfig.patch
deleted file mode 100644
index 41468ebf2b13..000000000000
--- a/games-engines/residualvm/files/residualvm-0.3.1-freetype_pkgconfig.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-From 34fc21424803ad193532c8423049ad07131fd7db Mon Sep 17 00:00:00 2001
-From: Lars Wendler <polynomial-c@gentoo.org>
-Date: Sun, 6 May 2018 20:55:29 +0200
-Subject: [PATCH 1/2] BUILD: Prefer pkg-config over freetype-config if possible
-
-As of freetype-2.9.1 the freetype-config script no longer gets installed
-by default.
----
- configure | 47 ++++++++++++++++++++++++++++++++++++++---------
- 1 file changed, 38 insertions(+), 9 deletions(-)
-
-diff --git a/configure b/configure
-index 7e0c9300..0a00cd95 100755
---- a/configure
-+++ b/configure
-@@ -209,6 +209,7 @@ _sparklepath=
- _sdlconfig=sdl2-config
- _libcurlconfig=curl-config
- _freetypeconfig=freetype-config
-+_freetype_found="false"
- _sdlpath="$PATH"
- _freetypepath="$PATH"
- _libcurlpath="$PATH"
-@@ -4529,17 +4530,45 @@ echo "$_libunity"
- #
- # Check for FreeType2 to be present
- #
--if test "$_freetype2" != "no"; then
--
-- # Look for the freetype-config script
-- find_freetypeconfig
-+find_freetype() {
-+ # Wrapper function which tries to find freetype
-+ # either by callimg freetype-config or by using
-+ # pkg-config.
-+ # As of freetype-2.9.1 the freetype-config file
-+ # no longer gets installed by default.
-+
-+ if pkg-config --exists freetype2; then
-+ FREETYPE2_LIBS=`pkg-config --libs freetype2`
-+ FREETYPE2_CFLAGS=`pkg-config --cflags freetype2`
-+ FREETYPE2_STATIC_LIBS=`pkg-config --static --libs freetype2`
-+ _freetype_found="true"
-+ else
-+ # Look for the freetype-config script
-+ find_freetypeconfig
-+ if test -n "$_freetypeconfig"; then
-+ # Since 2.3.12, freetype-config prepends $SYSROOT to everything.
-+ # This means we can't pass it a --prefix that includes $SYSROOT.
-+ freetypeprefix="$_freetypepath"
-+ if test -n "$SYSROOT" -a "$SYSROOT" != "/"; then
-+ teststring=VeryImplausibleSysrootX1Y2Z3
-+ if ( env SYSROOT=/$teststring "$_freetypeconfig" --cflags | grep $teststring 2> /dev/null > /dev/null ); then
-+ echo "Adapting FreeType prefix to SYSROOT" >> "$TMPLOG"
-+ freetypeprefix="${freetypeprefix##$SYSROOT}"
-+ fi
-+ fi
-+ FREETYPE2_LIBS=`$_freetypeconfig --prefix="$freetypeprefix" --libs`
-+ FREETYPE2_CFLAGS=`$_freetypeconfig --prefix="$freetypeprefix" --cflags`
-+ FREETYPE2_STATIC_LIBS=`$_freetypeconfig --prefix="$freetypeprefix" --static --libs 2>/dev/null`
-+ _freetype_found="true"
-+ fi
-+ fi
-+}
-
-- if test -z "$_freetypeconfig"; then
-+if test "$_freetype2" != "no"; then
-+ find_freetype
-+ if test $_freetype_found != true; then
- _freetype2=no
- else
-- FREETYPE2_LIBS=`$_freetypeconfig --prefix="$_freetypepath" --libs`
-- FREETYPE2_CFLAGS=`$_freetypeconfig --prefix="$_freetypepath" --cflags`
--
- if test "$_freetype2" = "auto"; then
- _freetype2=no
-
-@@ -4559,7 +4588,7 @@ EOF
- # required flags for static linking. We abuse this to detect
- # FreeType2 builds which are static themselves.
- if test "$_freetype2" != "yes"; then
-- FREETYPE2_LIBS=`$_freetypeconfig --prefix="$_freetypepath" --static --libs 2>/dev/null`
-+ FREETYPE2_LIBS="$FREETYPE2_STATIC_LIBS"
- cc_check_no_clean $FREETYPE2_CFLAGS $FREETYPE2_LIBS && _freetype2=yes
- fi
- cc_check_clean
---
-2.21.0
-
-From c42f90595efae54e661293832bf979f3029599fb Mon Sep 17 00:00:00 2001
-From: Bastien Bouclet <bastien.bouclet@gmail.com>
-Date: Mon, 30 Jul 2018 13:40:55 +0200
-Subject: [PATCH 2/2] BUILD: Check if pkg-config is available
-
----
- configure | 19 +++++++++++++++----
- 1 file changed, 15 insertions(+), 4 deletions(-)
-
-diff --git a/configure b/configure
-index 0a00cd95..198c1938 100755
---- a/configure
-+++ b/configure
-@@ -3866,7 +3866,19 @@ EOF
- cc_check -lm && append_var LIBS "-lm"
-
- #
--# Check for Ogg Vorbis
-+# Check for pkg-config
-+#
-+echocheck "pkg-config"
-+_pkg_config=no
-+command -v pkg-config >/dev/null 2>&1 && _pkg_config=yes
-+echo "$_pkg_config"
-+
-+if test "$_pkg_config" = yes && test -n "$_host" && test -z "$PKG_CONFIG_LIBDIR"; then
-+ echo "WARNING: When cross-compiling PKG_CONFIG_LIBDIR must be set to the location of the .pc files for the target"
-+fi
-+
-+#
-+# Check for Ogg
- #
- echocheck "Ogg Vorbis"
- if test "$_vorbis" = auto ; then
-@@ -4490,7 +4502,7 @@ define_in_config_h_if_yes "$_text_console" 'USE_TEXT_CONSOLE_FOR_DEBUGGER'
- # Check for Unity if taskbar integration is enabled
- #
- echocheck "libunity"
--if test "$_unix" = no || test "$_taskbar" = no; then
-+if test "$_unix" = no || test "$_taskbar" = no || test "$_pkg_config" = no; then
- _libunity=no
- else
- if test "$_libunity" = auto ; then
-@@ -4536,8 +4548,7 @@ find_freetype() {
- # pkg-config.
- # As of freetype-2.9.1 the freetype-config file
- # no longer gets installed by default.
--
-- if pkg-config --exists freetype2; then
-+ if test "$_pkg_config" = "yes" && pkg-config --exists freetype2; then
- FREETYPE2_LIBS=`pkg-config --libs freetype2`
- FREETYPE2_CFLAGS=`pkg-config --cflags freetype2`
- FREETYPE2_STATIC_LIBS=`pkg-config --static --libs freetype2`
---
-2.21.0
-
diff --git a/games-engines/residualvm/metadata.xml b/games-engines/residualvm/metadata.xml
deleted file mode 100644
index 65b4f9322632..000000000000
--- a/games-engines/residualvm/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>games@gentoo.org</email>
- <name>Gentoo Games Project</name>
- </maintainer>
- <use>
- <flag name="mpeg2">enable mpeg2 codec for cutscenes</flag>
- </use>
- <upstream>
- <remote-id type="sourceforge">residualvm</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/games-engines/residualvm/residualvm-0.3.1-r2.ebuild b/games-engines/residualvm/residualvm-0.3.1-r2.ebuild
deleted file mode 100644
index 327b61a26d51..000000000000
--- a/games-engines/residualvm/residualvm-0.3.1-r2.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit desktop toolchain-funcs xdg
-
-DESCRIPTION="A cross-platform 3D game interpreter for play LucasArts' LUA-based 3D adventures"
-HOMEPAGE="https://www.residualvm.org/"
-if [[ "${PV}" = 9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/residualvm/residualvm.git"
-else
- SRC_URI="https://www.residualvm.org/downloads/release/${PV}/${P}-sources.tar.bz2"
- KEYWORDS="~amd64 ~x86"
-fi
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="alsa debug jpeg mpeg2 mp3 opengl png truetype vorbis zlib"
-
-# TODO: fix dynamic plugin support
-# games crash without media-libs/libsdl[alsa]
-RDEPEND="
- media-libs/glew:0=
- media-libs/libsdl2[X,sound,alsa,joystick,opengl,video]
- virtual/glu
- alsa? ( media-libs/alsa-lib )
- jpeg? ( virtual/jpeg:0 )
- mp3? ( media-libs/libmad )
- mpeg2? ( media-libs/libmpeg2 )
- opengl? ( virtual/opengl )
- png? ( media-libs/libpng:0= )
- truetype? ( media-libs/freetype:2 )
- vorbis? ( media-libs/libvorbis )
- zlib? ( sys-libs/zlib:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-freetype_pkgconfig.patch
-)
-
-src_configure() {
- # not an autotools script
- # some configure options currently do nothing, verify on version bump !!!
- # disable explicitly, otherwise we get unneeded linkage (some copy-paste build system)
- local myconf=(
- --backend=sdl
- --disable-faad
- --disable-flac
- --disable-fluidsynth
- --disable-libunity
- --disable-sparkle
- --disable-tremor
- --docdir="/usr/share/doc/${PF}"
- --enable-all-engines
- --enable-verbose-build
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- --host="${CHOST}"
- --prefix="${EPREFIX}/usr"
- $(use_enable alsa)
- $(use_enable debug)
- $(use_enable !debug release-mode)
- $(use_enable jpeg)
- $(use_enable mp3 mad)
- $(use_enable mpeg2)
- $(use_enable opengl)
- $(use_enable opengl opengl-shaders)
- $(use_enable png)
- $(use_enable truetype freetype2)
- $(use_enable vorbis)
- $(use_enable zlib)
- )
- ./configure "${myconf[@]}" "${EXTRA_ECONF}" || die
-}
-
-src_compile() {
- emake AR="$(tc-getAR) cru" RANLIB="$(tc-getRANLIB)"
-}
-
-src_install() {
- default
- doicon -s 256 icons/${PN}.png
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/games-engines/residualvm/residualvm-9999.ebuild b/games-engines/residualvm/residualvm-9999.ebuild
deleted file mode 100644
index 704091853c9a..000000000000
--- a/games-engines/residualvm/residualvm-9999.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit desktop toolchain-funcs xdg
-
-DESCRIPTION="A cross-platform 3D game interpreter for play LucasArts' LUA-based 3D adventures"
-HOMEPAGE="https://www.residualvm.org/"
-if [[ "${PV}" = 9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/residualvm/residualvm.git"
-else
- SRC_URI="https://www.residualvm.org/downloads/release/${PV}/${P}-sources.tar.bz2"
- KEYWORDS="~amd64 ~x86"
-fi
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="alsa debug jpeg mpeg2 mp3 opengl png truetype vorbis zlib"
-
-# TODO: fix dynamic plugin support
-# games crash without media-libs/libsdl2[alsa]
-RDEPEND="
- media-libs/glew:0=
- media-libs/libsdl2[X,sound,alsa,joystick,opengl,video]
- virtual/glu
- alsa? ( media-libs/alsa-lib )
- jpeg? ( virtual/jpeg:0 )
- mp3? ( media-libs/libmad )
- mpeg2? ( media-libs/libmpeg2 )
- opengl? ( virtual/opengl )
- png? ( media-libs/libpng:0= )
- truetype? ( media-libs/freetype:2 )
- vorbis? ( media-libs/libvorbis )
- zlib? ( sys-libs/zlib:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-src_configure() {
- # not an autotools script
- # some configure options currently do nothing, verify on version bump !!!
- # disable explicitly, otherwise we get unneeded linkage (some copy-paste build system)
- local myconf=(
- --backend=sdl
- --disable-faad
- --disable-flac
- --disable-fluidsynth
- --disable-libunity
- --disable-sparkle
- --disable-tremor
- --docdir="/usr/share/doc/${PF}"
- --enable-all-engines
- --enable-verbose-build
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- --host="${CHOST}"
- --prefix="${EPREFIX}/usr"
- $(use_enable alsa)
- $(use_enable debug)
- $(use_enable !debug release-mode)
- $(use_enable jpeg)
- $(use_enable mp3 mad)
- $(use_enable mpeg2)
- $(use_enable opengl)
- $(use_enable opengl opengl-shaders)
- $(use_enable png)
- $(use_enable truetype freetype2)
- $(use_enable vorbis)
- $(use_enable zlib)
- )
- ./configure "${myconf[@]}" "${EXTRA_ECONF}" || die
-}
-
-src_compile() {
- emake AR="$(tc-getAR) cru" RANLIB="$(tc-getRANLIB)"
-}
-
-src_install() {
- default
- doicon -s 256 icons/${PN}.png
-}
diff --git a/games-engines/scrap-engine/Manifest b/games-engines/scrap-engine/Manifest
new file mode 100644
index 000000000000..588b62dcbad7
--- /dev/null
+++ b/games-engines/scrap-engine/Manifest
@@ -0,0 +1 @@
+DIST scrap-engine-1.2.0.gh.tar.gz 381529 BLAKE2B a482bc45900a4294be69e22308114fcdaa4a8bcaa22bce96e3436080ca7dbd2a546253ed8d1faefe2fa5c2ec57a2c6b2a63cbd7b42de39d9990968f9b34614d7 SHA512 5d1ec65eed4515e07f3c3a32f0423bcf41d7ba594508391024d22623f27d052464b5a3dc887b0ff6bea6c8f7d7fe54c30373460449b9977f0f95a9e2b1f978da
diff --git a/games-engines/scrap-engine/files/scrap-engine-tests.patch b/games-engines/scrap-engine/files/scrap-engine-tests.patch
new file mode 100644
index 000000000000..5e7960574094
--- /dev/null
+++ b/games-engines/scrap-engine/files/scrap-engine-tests.patch
@@ -0,0 +1,12 @@
+diff -Naur a/tests/scrap_bench.py b/tests/scrap_bench.py
+--- a/tests/scrap_bench.py 2022-01-05 17:13:26.000000000 +0000
++++ b/tests/scrap_bench.py 2022-06-24 14:33:10.215047579 +0100
+@@ -22,7 +22,7 @@
+ time2 = 0
+
+ b_map.show()
+- while True:
++ for _ in range(100):
+ time0 = time.time()
+ times += time2
+ for ob in rectangle.obs:
diff --git a/games-engines/nazghul/metadata.xml b/games-engines/scrap-engine/metadata.xml
index e34f480853c1..680b374c830b 100644
--- a/games-engines/nazghul/metadata.xml
+++ b/games-engines/scrap-engine/metadata.xml
@@ -6,6 +6,7 @@
<name>Gentoo Games Project</name>
</maintainer>
<upstream>
- <remote-id type="sourceforge">nazghul</remote-id>
+ <remote-id type="github">lxgr-linux/scrap_engine</remote-id>
+ <remote-id type="pypi">scrap-engine</remote-id>
</upstream>
</pkgmetadata>
diff --git a/games-engines/scrap-engine/scrap-engine-1.2.0.ebuild b/games-engines/scrap-engine/scrap-engine-1.2.0.ebuild
new file mode 100644
index 000000000000..05b7700f5b2a
--- /dev/null
+++ b/games-engines/scrap-engine/scrap-engine-1.2.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+MY_PN="${PN//-/_}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Terminal-based Python game engine involving objects on a map"
+HOMEPAGE="https://github.com/lxgr-linux/scrap_engine"
+SRC_URI="https://github.com/lxgr-linux/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-tests.patch
+)
+
+DOCS=(
+ README.md
+ docs/DOCS.md
+ pics/example1.jpg
+)
+
+src_prepare() {
+ default
+
+ # PEP 517 needs this metadata.
+ echo "Version: ${PV}" > "${S}"/PKG-INFO || die
+
+ # Adjust doc resource paths.
+ sed -i "s:\.\./pics/::g" docs/DOCS.md || die
+}
+
+python_test() {
+ for TEST in "${S}"/tests/*.py; do
+ "${EPYTHON}" "${TEST}" || die
+ done
+}
diff --git a/games-engines/scummvm-tools/Manifest b/games-engines/scummvm-tools/Manifest
index c42f54febae1..04fcb1ff0575 100644
--- a/games-engines/scummvm-tools/Manifest
+++ b/games-engines/scummvm-tools/Manifest
@@ -1 +1,4 @@
DIST scummvm-tools-2.2.0.tar.xz 712048 BLAKE2B bb5307ee25476c9b4042fa0704f8b9bbfc4a57c09670bc699c83b9d5ebb0a7b9cda55f7267aafa6ae57e3ce53993740a1523616e39cf0a2c0c7249b23208372e SHA512 97d23a94772809b6fe6dcfc4d1bde9e1a12c124cb49b0a465456adbbd56358a1612b9797abb9577dc350e1150fb4a70d4b7451e794c436c8e91692b4a83deb89
+DIST scummvm-tools-2.7.0.tar.xz 1286572 BLAKE2B bcb58267a9c04849ab3145f2d5a657b9e1ec6c2bb9e59bbf47ae6aae842385e70d0417f92ca4018786cf91f8c607a5fe1246f846dc496318b01ec51bd059358b SHA512 0f6541f86814a089b10969e8e0cc8c985ac4d3b5f15daf91869a9b9cc748d7b6c668ffd428c1f0726ff9a1fb5cc7b496098481778cbf41203a7eb3077a189ce7
+DIST scummvm-tools_2.7.0-1.debian.tar.xz 10212 BLAKE2B 9805222166f30d1535642958ac74984968dd19bfa3b7a159b61509215fd29d370a9393d0a25e4dfd041ee83feb9fffb55f5f705d76ac03de95d925718166c263 SHA512 f7234e58312f7979b9f87940020d9815429a24be6083e8ed61ef14c342c83edfb00f2f9d130e2a18b34099c3a20df3093556b017f28a40a1f8d8037ad8d99bed
+DIST scummvm-tools_512.png 56989 BLAKE2B 8173b580a542d78a4dcb859f8ba008af8f5dcd707c6213a3fc961dc5f8bbe02f3e67beafbaceff8ffb75a26d0a1c441642a103c1607b7c776b6da6c803545a47 SHA512 94d0cd2ccb7ac7ea1ca20ba208908ac05e064470f260e3347aec2aa457f1cf281c6bc88056e14001a1f93422f9cdfb732c53262d8067a4c487a57396b510fd7f
diff --git a/games-engines/scummvm-tools/files/scummvm-tools-2.7.0-endianess.patch b/games-engines/scummvm-tools/files/scummvm-tools-2.7.0-endianess.patch
new file mode 100644
index 000000000000..6752914d2c2b
--- /dev/null
+++ b/games-engines/scummvm-tools/files/scummvm-tools-2.7.0-endianess.patch
@@ -0,0 +1,27 @@
+# https://src.fedoraproject.org/rpms/scummvm-tools/raw/rawhide/f/configure.patch
+diff -uNr scummvm-tools-2.5.0.old/configure scummvm-tools-2.5.0/configure
+--- scummvm-tools-2.5.0.old/configure 2021-10-01 13:59:48.000000000 +0200
++++ scummvm-tools-2.5.0/configure 2021-12-14 23:01:39.604582839 +0100
+@@ -1047,15 +1047,15 @@
+ #
+ echo_n "Checking endianness... "
+ cat > tmp_endianness_check.cpp << EOF
+-unsigned short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+-unsigned short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+-void _ascii() { char* s = (char*) ascii_mm; s = (char*) ascii_ii; }
+-unsigned short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+-unsigned short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+-void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
++__attribute__ ((used)) unsigned short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
++__attribute__ ((used)) unsigned short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
++__attribute__ ((used)) void _ascii() { char* s = (char*) ascii_mm; s = (char*) ascii_ii; }
++__attribute__ ((used)) unsigned short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
++__attribute__ ((used)) unsigned short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
++__attribute__ ((used)) void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
+ int main() { _ascii (); _ebcdic (); return 0; }
+ EOF
+-$CXX $CXXFLAGS -c -o $TMPO.o tmp_endianness_check.cpp
++$CXX $CXXFLAGS -ffat-lto-objects -c -o $TMPO.o tmp_endianness_check.cpp
+ if $_strings $TMPO.o | grep BIGenDianSyS >/dev/null; then
+ _endian=big
+ elif $_strings $TMPO.o | grep LiTTleEnDian >/dev/null; then
diff --git a/games-engines/scummvm-tools/metadata.xml b/games-engines/scummvm-tools/metadata.xml
index e6b8e4e911e0..798292735601 100644
--- a/games-engines/scummvm-tools/metadata.xml
+++ b/games-engines/scummvm-tools/metadata.xml
@@ -8,4 +8,7 @@
<upstream>
<remote-id type="sourceforge">scummvm</remote-id>
</upstream>
+ <use>
+ <flag name="tremor">Enable tremor, a fixed-point version of the Ogg Vorbis decoder</flag>
+ </use>
</pkgmetadata>
diff --git a/games-engines/scummvm-tools/scummvm-tools-2.2.0.ebuild b/games-engines/scummvm-tools/scummvm-tools-2.2.0-r1.ebuild
index 3af45ddd2fa7..a11f5da1293a 100644
--- a/games-engines/scummvm-tools/scummvm-tools-2.2.0.ebuild
+++ b/games-engines/scummvm-tools/scummvm-tools-2.2.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,9 +6,9 @@ EAPI=8
WX_GTK_VER=3.0-gtk3
inherit wxwidgets toolchain-funcs
-DESCRIPTION="utilities for the SCUMM game engine"
-HOMEPAGE="http://scummvm.sourceforge.net/"
-SRC_URI="http://scummvm.org/frs/scummvm-tools/${PV}/${P}.tar.xz"
+DESCRIPTION="Utilities for the SCUMM game engine"
+HOMEPAGE="https://www.scummvm.org/"
+SRC_URI="https://www.scummvm.org/frs/scummvm-tools/${PV}/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
@@ -20,10 +20,10 @@ RDEPEND="
dev-libs/boost:=
sys-libs/zlib
x11-libs/wxGTK:${WX_GTK_VER}
- flac? ( media-libs/flac )
+ flac? ( media-libs/flac:= )
iconv? ( virtual/libiconv media-libs/freetype:2 )
mad? ( media-libs/libmad )
- png? ( media-libs/libpng:0= )
+ png? ( media-libs/libpng:= )
vorbis? ( media-libs/libvorbis )
"
DEPEND="
diff --git a/games-engines/scummvm-tools/scummvm-tools-2.7.0_p1.ebuild b/games-engines/scummvm-tools/scummvm-tools-2.7.0_p1.ebuild
new file mode 100644
index 000000000000..a07c2c9e3434
--- /dev/null
+++ b/games-engines/scummvm-tools/scummvm-tools-2.7.0_p1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+WX_GTK_VER="3.2-gtk3"
+
+inherit desktop flag-o-matic toolchain-funcs wxwidgets xdg
+
+DESCRIPTION="Utilities for the SCUMM game engine"
+HOMEPAGE="https://www.scummvm.org/"
+SRC_URI="https://www.scummvm.org/frs/scummvm-tools/${PV/_p*}/${P/_p*}.tar.xz
+ mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV/_p*}-${PV/*_p}.debian.tar.xz
+ https://dev.gentoo.org/~pacho/${PN}/${PN}_512.png"
+S="${WORKDIR}/${P/_p*}"
+
+LICENSE="GPL-3+ LGPL-2+ MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="flac iconv mad png tremor vorbis"
+
+RDEPEND="
+ dev-libs/boost:=
+ sys-libs/zlib
+ x11-libs/wxGTK:${WX_GTK_VER}
+ flac? ( media-libs/flac:= )
+ iconv? (
+ virtual/libiconv
+ media-libs/freetype:2 )
+ mad? ( media-libs/libmad )
+ png? ( media-libs/libpng:= )
+ tremor? ( media-libs/tremor )
+ vorbis? ( media-libs/libvorbis )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ # Endianess patch synced with Fedora
+ "${FILESDIR}/${PN}-2.7.0-endianess.patch"
+)
+
+src_prepare() {
+ default
+
+ # Debian patches
+ for p in $(<"${WORKDIR}"/debian/patches/series) ; do
+ eapply -p1 "${WORKDIR}/debian/patches/${p}"
+ done
+}
+
+src_configure() {
+ # -Werror=strict-aliasing, -Werror=odr
+ # https://bugs.gentoo.org/926081
+ # https://bugs.scummvm.org/ticket/15039
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ setup-wxwidgets
+ tc-export CXX STRINGS
+
+ # Not an autoconf script
+ ./configure \
+ --enable-verbose-build \
+ --mandir="${EPREFIX}/usr/share/man" \
+ --prefix="${EPREFIX}/usr" \
+ $(use_enable flac) \
+ $(use_enable iconv) \
+ $(use_enable iconv freetype2) \
+ $(use_enable mad) \
+ $(use_enable png) \
+ $(use_enable tremor) \
+ $(use_enable vorbis) || die
+}
+
+src_install() {
+ default
+ cd "${ED}"/usr/bin || die
+ for i in $(ls * | grep -v scummvm-tools) ; do
+ mv ${i} ${PN}-${i} || die
+ done
+
+ make_desktop_entry ${PN} "ScummVM Tools" ${PN} "Game;AdventureGame;"
+ newicon -s 128 "${S}"/gui/media/scummvmtools_128.png ${PN}.png
+ newicon -s 512 "${DISTDIR}"/${PN}_512.png ${PN}.png
+}
diff --git a/games-engines/scummvm/Manifest b/games-engines/scummvm/Manifest
index 5f495ff22480..98935df3170b 100644
--- a/games-engines/scummvm/Manifest
+++ b/games-engines/scummvm/Manifest
@@ -1,3 +1,2 @@
-DIST scummvm-2.2.0.tar.xz 63652348 BLAKE2B b44a07d7ad6747b136465f81122464f02e5cc655c205d6f4424555311563f8ceaa8072972d05512af85d18fabba78d5ea9396ea314581776c1ef8d88ca6ab81b SHA512 001f884b9689386ef5b69ab8f5fa2362e1e4dc5e8273f96dc8dce1963be354a2fad95e724ff33d65008be7591519f0e2bac530ba3c44a449b8b7cac862f4f81e
-DIST scummvm-2.5.0.tar.xz 130095472 BLAKE2B a5153280999e321be5bf7b56411c163d5ba1d4fb142fc900e1c3cb709d357d199d3764a94af57ab7218ee201bdbe6288adf222add9ffc941324b84d0e6954fe8 SHA512 7ea702cf0f993994209fd692e82ab65f9686fb60d65f36624a31bd642067fe7dd35e556666281c68d1592d7dd07333f085c124038f7a45acefae8f30bceff534
-DIST scummvm-2.5.1.tar.xz 132828412 BLAKE2B 08fb2fa6cbeec3c1ec24a9b660aab4344f0dbcf4c42655392315aef0ce78105b2a669ef9c82fc09bc389856e592e4e5249d84512b288e7d790914d5caee3972d SHA512 5e5aaf247e26434dd1594547a3066dce6f52e12370532b8bff09ae22149d697f6d3ab0a94b5c1cf578b2b8cba32d1cd6e5dc30fe0cd6266c8f2b23cba13d7d03
+DIST scummvm-2.8.0.tar.xz 207362400 BLAKE2B 2e0354189bfa50b5af87c9019400c114c7fd3072afeb6cee50c230d27171ae109552c855b07f027769c10f6f325dafd77c56fa17b1c5a61b11ece3c1f54efe53 SHA512 e4e728a668fe3c1b161b56ff788011673766e7429bc27bafb2b4a7f724093b719f7fd47f0995f1db5dad42ecf3ee260fe51d549f85eb2a68862b799962c34632
+DIST scummvm-2.8.1.tar.xz 207711376 BLAKE2B 716503fbbd736e522918203400ccf777bc24a8e43c8c030c0e86d9c4f3c3da3f0c580269781fe030901e06854d43e2ed2f6ec9bc4e269c4d4dde8d3e08f494f2 SHA512 aef6c7b83f087cf0742dcd1f896f5706e2408e54c4c902e75f03e69f4c5475b1d33a2149246646afb96c02aa2e85ba93995dff732b3aa84338b7bc96c62b802c
diff --git a/games-engines/scummvm/files/scummvm-2.2.0-fluidsynth-2.2.patch b/games-engines/scummvm/files/scummvm-2.2.0-fluidsynth-2.2.patch
deleted file mode 100644
index 8bb94ec6ab6e..000000000000
--- a/games-engines/scummvm/files/scummvm-2.2.0-fluidsynth-2.2.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp
-index e0d7c4e3df..d8e82c24f5 100644
---- a/audio/softsynth/fluidsynth.cpp
-+++ b/audio/softsynth/fluidsynth.cpp
-@@ -46,6 +46,14 @@
- #include "backends/platform/ios7/ios7_common.h"
- #endif
-
-+// We assume here Fluidsynth minor will never be above 255 and
-+// that micro versions won't break API compatibility
-+#if defined(FLUIDSYNTH_VERSION_MAJOR) && defined(FLUIDSYNTH_VERSION_MINOR)
-+#define FS_API_VERSION ((FLUIDSYNTH_VERSION_MAJOR << 8) | FLUIDSYNTH_VERSION_MINOR)
-+#else
-+#define FS_API_VERSION 0
-+#endif
-+
- class MidiDriver_FluidSynth : public MidiDriver_Emulated {
- private:
- MidiChannel_MPU401 _midiChannels[16];
-@@ -75,7 +83,7 @@ public:
-
- void setEngineSoundFont(Common::SeekableReadStream *soundFontData) override;
- bool acceptsSoundFontData() override {
--#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
-+#if FS_API_VERSION >= 0x0200
- return true;
- #else
- return false;
-@@ -134,7 +142,7 @@ void MidiDriver_FluidSynth::setStr(const char *name, const char *val) {
-
- // Soundfont memory loader callback functions.
-
--#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
-+#if FS_API_VERSION >= 0x0200
- static void *SoundFontMemLoader_open(const char *filename) {
- void *p;
- if (filename[0] != '&') {
-@@ -144,11 +152,19 @@ static void *SoundFontMemLoader_open(const char *filename) {
- return p;
- }
-
-+#if FS_API_VERSION >= 0x0202
-+static int SoundFontMemLoader_read(void *buf, fluid_long_long_t count, void *handle) {
-+#else
- static int SoundFontMemLoader_read(void *buf, int count, void *handle) {
-+#endif
- return ((Common::SeekableReadStream *) handle)->read(buf, count) == (uint32)count ? FLUID_OK : FLUID_FAILED;
- }
-
-+#if FS_API_VERSION >= 0x0202
-+static int SoundFontMemLoader_seek(void *handle, fluid_long_long_t offset, int origin) {
-+#else
- static int SoundFontMemLoader_seek(void *handle, long offset, int origin) {
-+#endif
- return ((Common::SeekableReadStream *) handle)->seek(offset, origin) ? FLUID_OK : FLUID_FAILED;
- }
-
-@@ -157,7 +173,11 @@ static int SoundFontMemLoader_close(void *handle) {
- return FLUID_OK;
- }
-
-+#if FS_API_VERSION >= 0x0202
-+static fluid_long_long_t SoundFontMemLoader_tell(void *handle) {
-+#else
- static long SoundFontMemLoader_tell(void *handle) {
-+#endif
- return ((Common::SeekableReadStream *) handle)->pos();
- }
- #endif
-@@ -166,7 +186,8 @@ int MidiDriver_FluidSynth::open() {
- if (_isOpen)
- return MERR_ALREADY_OPEN;
-
--#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
-+
-+#if FS_API_VERSION >= 0x0200
- // When provided with in-memory SoundFont data, only use the configured
- // SoundFont instead if it's explicitly configured on the current game.
- bool isUsingInMemorySoundFontData = _engineSoundFontData && !ConfMan.getActiveDomain()->contains("soundfont");
-@@ -195,7 +216,11 @@ int MidiDriver_FluidSynth::open() {
- _synth = new_fluid_synth(_settings);
-
- if (ConfMan.getBool("fluidsynth_chorus_activate")) {
-+#if FS_API_VERSION >= 0x0202
-+ fluid_synth_chorus_on(_synth, -1, 1);
-+#else
- fluid_synth_set_chorus_on(_synth, 1);
-+#endif
-
- int chorusNr = ConfMan.getInt("fluidsynth_chorus_nr");
- double chorusLevel = (double)ConfMan.getInt("fluidsynth_chorus_level") / 100.0;
-@@ -210,22 +235,49 @@ int MidiDriver_FluidSynth::open() {
- chorusType = FLUID_CHORUS_MOD_TRIANGLE;
- }
-
-+#if FS_API_VERSION >= 0x0202
-+ fluid_synth_set_chorus_group_nr(_synth, -1, chorusNr);
-+ fluid_synth_set_chorus_group_level(_synth, -1, chorusLevel);
-+ fluid_synth_set_chorus_group_speed(_synth, -1, chorusSpeed);
-+ fluid_synth_set_chorus_group_depth(_synth, -1, chorusDepthMs);
-+ fluid_synth_set_chorus_group_type(_synth, -1, chorusType);
-+#else
- fluid_synth_set_chorus(_synth, chorusNr, chorusLevel, chorusSpeed, chorusDepthMs, chorusType);
-+#endif
- } else {
-+#if FS_API_VERSION >= 0x0202
-+ fluid_synth_chorus_on(_synth, -1, 0);
-+#else
- fluid_synth_set_chorus_on(_synth, 0);
-+#endif
- }
-
- if (ConfMan.getBool("fluidsynth_reverb_activate")) {
-+#if FS_API_VERSION >= 0x0202
-+ fluid_synth_reverb_on(_synth, -1, 1);
-+#else
- fluid_synth_set_reverb_on(_synth, 1);
-+#endif
-
- double reverbRoomSize = (double)ConfMan.getInt("fluidsynth_reverb_roomsize") / 100.0;
- double reverbDamping = (double)ConfMan.getInt("fluidsynth_reverb_damping") / 100.0;
- int reverbWidth = ConfMan.getInt("fluidsynth_reverb_width");
- double reverbLevel = (double)ConfMan.getInt("fluidsynth_reverb_level") / 100.0;
-
-+#if FS_API_VERSION >= 0x0202
-+ fluid_synth_set_reverb_group_roomsize(_synth, -1, reverbRoomSize);
-+ fluid_synth_set_reverb_group_damp(_synth, -1, reverbDamping);
-+ fluid_synth_set_reverb_group_width(_synth, -1, reverbWidth);
-+ fluid_synth_set_reverb_group_level(_synth, -1, reverbLevel);
-+#else
- fluid_synth_set_reverb(_synth, reverbRoomSize, reverbDamping, reverbWidth, reverbLevel);
-+#endif
- } else {
-+#if FS_API_VERSION >= 0x0202
-+ fluid_synth_reverb_on(_synth, -1, 0);
-+#else
- fluid_synth_set_reverb_on(_synth, 0);
-+#endif
- }
-
- Common::String interpolation = ConfMan.get("fluidsynth_misc_interpolation");
-@@ -246,7 +298,7 @@ int MidiDriver_FluidSynth::open() {
- const char *soundfont = !isUsingInMemorySoundFontData ?
- ConfMan.get("soundfont").c_str() : Common::String::format("&%p", (void *)_engineSoundFontData).c_str();
-
--#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
-+#if FS_API_VERSION >= 0x0200
- if (isUsingInMemorySoundFontData) {
- fluid_sfloader_t *soundFontMemoryLoader = new_fluid_defsfloader(_settings);
- fluid_sfloader_set_callbacks(soundFontMemoryLoader,
diff --git a/games-engines/scummvm/files/scummvm-2.2.0-ultima_engine_lua_dep.patch b/games-engines/scummvm/files/scummvm-2.2.0-ultima_engine_lua_dep.patch
deleted file mode 100644
index d73ad03820ea..000000000000
--- a/games-engines/scummvm/files/scummvm-2.2.0-ultima_engine_lua_dep.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-From d546389b10518eabd34fd5b4e22265069b25a966 Mon Sep 17 00:00:00 2001
-From: Paul Gilbert <dreammaster@scummvm.org>
-Date: Wed, 23 Sep 2020 19:10:17 -0700
-Subject: [PATCH] ULTIMA: Add lua as an engine dependency
-
----
- engines/ultima/configure.engine | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/engines/ultima/configure.engine b/engines/ultima/configure.engine
-index 6447e3eb7f96..704a79d1f61f 100644
---- a/engines/ultima/configure.engine
-+++ b/engines/ultima/configure.engine
-@@ -1,3 +1,3 @@
- # This file is included from the main "configure" script
- # add_engine [name] [desc] [build-by-default] [subengines] [base games] [deps]
--add_engine ultima "Ultima" yes "" "" "highres 16bit freetype2"
-+add_engine ultima "Ultima" yes "" "" "highres 16bit freetype2 lua"
diff --git a/games-engines/scummvm/metadata.xml b/games-engines/scummvm/metadata.xml
index 3cd0b4790f5b..1e66116903bf 100644
--- a/games-engines/scummvm/metadata.xml
+++ b/games-engines/scummvm/metadata.xml
@@ -12,11 +12,9 @@
<use>
<flag name="fluidsynth">compile with support for fluidsynth</flag>
<flag name="fribidi">Support for right-to-left languages via <pkg>dev-libs/fribidi</pkg></flag>
- <flag name="glew">enable support for OpenGL Extension Wrangler Library (<pkg>media-libs/glew</pkg>)</flag>
<flag name="mpeg2">enable mpeg2 codec for cutscenes</flag>
<flag name="net">enable cloud support via <pkg>media-libs/sdl2-net</pkg></flag>
<flag name="sndio">Enable support for MIDI music using <pkg>media-sound/sndio</pkg></flag>
- <flag name="speech">enable text-to-speech support through <pkg>app-accessibility/speech-dispatcher</pkg></flag>
<flag name="unsupported">enable unsupported and/or broken game engines (you're on your own)</flag>
</use>
<upstream>
diff --git a/games-engines/scummvm/scummvm-2.2.0-r2.ebuild b/games-engines/scummvm/scummvm-2.2.0-r2.ebuild
deleted file mode 100644
index 22d247713dfa..000000000000
--- a/games-engines/scummvm/scummvm-2.2.0-r2.ebuild
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-inherit desktop flag-o-matic toolchain-funcs xdg
-
-DESCRIPTION="Reimplementation of the SCUMM game engine used in Lucasarts adventures"
-HOMEPAGE="https://www.scummvm.org/"
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/scummvm/scummvm"
-else
- SRC_URI="https://scummvm.org/frs/scummvm/${PV}/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86"
- S="${WORKDIR}/${PN}-${P}"
-fi
-
-LICENSE="GPL-2+ LGPL-2.1 BSD GPL-3-with-font-exception"
-SLOT="0"
-IUSE="a52 aac alsa debug flac fluidsynth fribidi +gtk jpeg lua mpeg2 mp3 +net opengl png sndio speech theora truetype unsupported vorbis zlib"
-RESTRICT="test" # it only looks like there's a test there #77507
-
-RDEPEND="
- >=media-libs/libsdl2-2.0.0[sound,joystick,video]
- a52? ( media-libs/a52dec )
- aac? ( media-libs/faad2 )
- alsa? ( media-libs/alsa-lib )
- flac? ( media-libs/flac )
- fluidsynth? ( media-sound/fluidsynth:= )
- fribidi? ( dev-libs/fribidi )
- gtk? (
- dev-libs/glib:2
- x11-libs/gtk+:3
- )
- jpeg? ( virtual/jpeg:0 )
- mp3? ( media-libs/libmad )
- mpeg2? ( media-libs/libmpeg2 )
- net? (
- media-libs/sdl2-net
- net-misc/curl
- )
- opengl? ( || (
- virtual/opengl
- media-libs/mesa[gles2]
- media-libs/mesa[gles1]
- ) )
- png? ( media-libs/libpng:0 )
- sndio? ( media-sound/sndio:= )
- speech? ( app-accessibility/speech-dispatcher )
- truetype? ( media-libs/freetype:2 )
- theora? ( media-libs/libtheora )
- vorbis? (
- media-libs/libogg
- media-libs/libvorbis
- )
- zlib? ( sys-libs/zlib:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-arch/xz-utils
- truetype? ( virtual/pkgconfig )
- x86? ( dev-lang/nasm )
-"
-
-S="${WORKDIR}/${P/_/}"
-
-PATCHES=(
- "${FILESDIR}/${P}-ultima_engine_lua_dep.patch"
- "${FILESDIR}/${P}-fluidsynth-2.2.patch"
-)
-
-src_prepare() {
- default
-
- # -g isn't needed for nasm here
- sed -i \
- -e '/NASMFLAGS/ s/-g//' \
- configure || die
- sed -i \
- -e '/INSTALL.*doc/d' \
- -e '/INSTALL.*\/pixmaps/d' \
- -e 's/-s //' \
- ports.mk || die
-}
-
-src_configure() {
- use x86 && append-ldflags -Wl,-z,noexecstack
- tc-export STRINGS
-
- local myconf=(
- --backend=sdl
- --host=${CHOST}
- --enable-verbose-build
- --prefix="${EPREFIX}/usr"
- --libdir="${EPREFIX}/usr/$(get_libdir)"
- --opengl-mode=$(usex opengl auto none)
- --with-sdl-prefix="${EPREFIX}/usr"
- $(use_enable a52)
- $(use_enable aac faad)
- $(use_enable alsa)
- $(use_enable debug)
- $(use_enable !debug release-mode)
- $(use_enable flac)
- $(usex fluidsynth '' --disable-fluidsynth)
- $(use_enable fribidi)
- $(use_enable gtk)
- $(use_enable jpeg)
- $(use_enable lua)
- $(use_enable mp3 mad)
- $(use_enable mpeg2)
- $(use_enable net libcurl)
- $(use_enable net sdlnet)
- $(use_enable png)
- $(use_enable sndio)
- $(use_enable speech tts)
- $(use_enable theora theoradec)
- $(use_enable truetype freetype2)
- $(usex unsupported --enable-all-engines '')
- $(use_enable vorbis)
- $(use_enable zlib)
- $(use_enable x86 nasm)
- )
- echo "configure ${myconf[@]}"
- # NOT AN AUTOCONF SCRIPT SO DONT CALL ECONF
- SDL_CONFIG="sdl2-config" \
- ./configure "${myconf[@]}" ${EXTRA_ECONF} || die
-}
-
-src_compile() {
- emake \
- AR="$(tc-getAR) cru" \
- RANLIB="$(tc-getRANLIB)"
-}
-
-src_install() {
- default
- doicon -s scalable icons/scummvm.svg
-}
diff --git a/games-engines/scummvm/scummvm-2.5.0.ebuild b/games-engines/scummvm/scummvm-2.8.0.ebuild
index 9f70736f67ee..4f5504d6ddf4 100644
--- a/games-engines/scummvm/scummvm-2.5.0.ebuild
+++ b/games-engines/scummvm/scummvm-2.8.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,20 +13,24 @@ if [[ ${PV} == *9999* ]]; then
else
SRC_URI="https://downloads.scummvm.org/frs/scummvm/${PV}/${P}.tar.xz"
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86"
- S="${WORKDIR}/${PN}-${P}"
+ S=${WORKDIR}/${P/_/}
fi
LICENSE="GPL-2+ LGPL-2.1 BSD GPL-3-with-font-exception"
SLOT="0"
-IUSE="a52 aac alsa debug flac fluidsynth fribidi gif glew +gtk jpeg lua mpeg2 mp3 +net opengl png sndio speech theora truetype unsupported vorbis zlib"
+IUSE="
+ a52 aac alsa debug flac fluidsynth fribidi gif +gtk jpeg lua mpeg2
+ mp3 +net opengl png sndio speech theora truetype unsupported vorbis
+ zlib
+"
RESTRICT="test" # it only looks like there's a test there #77507
-RDEPEND="
+DEPEND="
>=media-libs/libsdl2-2.0.0[sound,joystick,video]
a52? ( media-libs/a52dec )
aac? ( media-libs/faad2 )
alsa? ( media-libs/alsa-lib )
- flac? ( media-libs/flac )
+ flac? ( media-libs/flac:= )
fluidsynth? ( media-sound/fluidsynth:= )
fribidi? ( dev-libs/fribidi )
gif? ( media-libs/giflib )
@@ -34,7 +38,7 @@ RDEPEND="
dev-libs/glib:2
x11-libs/gtk+:3
)
- jpeg? ( virtual/jpeg:0 )
+ jpeg? ( media-libs/libjpeg-turbo:= )
mp3? ( media-libs/libmad )
mpeg2? ( media-libs/libmpeg2 )
net? (
@@ -47,7 +51,6 @@ RDEPEND="
media-libs/mesa[gles2]
media-libs/mesa[gles1]
)
- glew? ( media-libs/glew:0= )
)
png? ( media-libs/libpng:0 )
sndio? ( media-sound/sndio:= )
@@ -60,15 +63,15 @@ RDEPEND="
)
zlib? ( sys-libs/zlib:= )
"
-DEPEND="${RDEPEND}"
+RDEPEND="
+ ${DEPEND}
+"
BDEPEND="
app-arch/xz-utils
truetype? ( virtual/pkgconfig )
x86? ( dev-lang/nasm )
"
-S="${WORKDIR}/${P/_/}"
-
src_prepare() {
default
@@ -104,7 +107,6 @@ src_configure() {
$(usex fluidsynth '' --disable-fluidsynth)
$(use_enable fribidi)
$(use_enable gif)
- $(use opengl && use_enable glew)
$(use_enable gtk)
$(use_enable jpeg)
$(use_enable lua)
@@ -123,7 +125,7 @@ src_configure() {
$(use_enable x86 nasm)
)
echo "configure ${myconf[@]}"
- # NOT AN AUTOCONF SCRIPT SO DONT CALL ECONF
+ # not an autoconf script, so don't call econf
SDL_CONFIG="sdl2-config" \
./configure "${myconf[@]}" ${EXTRA_ECONF} || die
}
diff --git a/games-engines/scummvm/scummvm-2.5.1.ebuild b/games-engines/scummvm/scummvm-2.8.1.ebuild
index 9f70736f67ee..3690afa59cdb 100644
--- a/games-engines/scummvm/scummvm-2.5.1.ebuild
+++ b/games-engines/scummvm/scummvm-2.8.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,20 +13,24 @@ if [[ ${PV} == *9999* ]]; then
else
SRC_URI="https://downloads.scummvm.org/frs/scummvm/${PV}/${P}.tar.xz"
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86"
- S="${WORKDIR}/${PN}-${P}"
+ S=${WORKDIR}/${P/_/}
fi
LICENSE="GPL-2+ LGPL-2.1 BSD GPL-3-with-font-exception"
SLOT="0"
-IUSE="a52 aac alsa debug flac fluidsynth fribidi gif glew +gtk jpeg lua mpeg2 mp3 +net opengl png sndio speech theora truetype unsupported vorbis zlib"
+IUSE="
+ a52 aac alsa debug flac fluidsynth fribidi gif +gtk jpeg lua mpeg2
+ mp3 +net opengl png sndio speech theora truetype unsupported vorbis
+ zlib
+"
RESTRICT="test" # it only looks like there's a test there #77507
-RDEPEND="
+DEPEND="
>=media-libs/libsdl2-2.0.0[sound,joystick,video]
a52? ( media-libs/a52dec )
aac? ( media-libs/faad2 )
alsa? ( media-libs/alsa-lib )
- flac? ( media-libs/flac )
+ flac? ( media-libs/flac:= )
fluidsynth? ( media-sound/fluidsynth:= )
fribidi? ( dev-libs/fribidi )
gif? ( media-libs/giflib )
@@ -34,7 +38,7 @@ RDEPEND="
dev-libs/glib:2
x11-libs/gtk+:3
)
- jpeg? ( virtual/jpeg:0 )
+ jpeg? ( media-libs/libjpeg-turbo:= )
mp3? ( media-libs/libmad )
mpeg2? ( media-libs/libmpeg2 )
net? (
@@ -47,7 +51,6 @@ RDEPEND="
media-libs/mesa[gles2]
media-libs/mesa[gles1]
)
- glew? ( media-libs/glew:0= )
)
png? ( media-libs/libpng:0 )
sndio? ( media-sound/sndio:= )
@@ -60,15 +63,15 @@ RDEPEND="
)
zlib? ( sys-libs/zlib:= )
"
-DEPEND="${RDEPEND}"
+RDEPEND="
+ ${DEPEND}
+"
BDEPEND="
app-arch/xz-utils
truetype? ( virtual/pkgconfig )
x86? ( dev-lang/nasm )
"
-S="${WORKDIR}/${P/_/}"
-
src_prepare() {
default
@@ -104,7 +107,6 @@ src_configure() {
$(usex fluidsynth '' --disable-fluidsynth)
$(use_enable fribidi)
$(use_enable gif)
- $(use opengl && use_enable glew)
$(use_enable gtk)
$(use_enable jpeg)
$(use_enable lua)
@@ -123,7 +125,7 @@ src_configure() {
$(use_enable x86 nasm)
)
echo "configure ${myconf[@]}"
- # NOT AN AUTOCONF SCRIPT SO DONT CALL ECONF
+ # not an autoconf script, so don't call econf
SDL_CONFIG="sdl2-config" \
./configure "${myconf[@]}" ${EXTRA_ECONF} || die
}
diff --git a/games-engines/scummvm/scummvm-9999.ebuild b/games-engines/scummvm/scummvm-9999.ebuild
index fb4d5b239514..d678e3432dbb 100644
--- a/games-engines/scummvm/scummvm-9999.ebuild
+++ b/games-engines/scummvm/scummvm-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,20 +13,24 @@ if [[ ${PV} == *9999* ]]; then
else
SRC_URI="https://downloads.scummvm.org/frs/scummvm/${PV}/${P}.tar.xz"
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86"
- S="${WORKDIR}/${PN}-${P}"
+ S=${WORKDIR}/${P/_/}
fi
LICENSE="GPL-2+ LGPL-2.1 BSD GPL-3-with-font-exception"
SLOT="0"
-IUSE="a52 aac alsa debug flac fluidsynth fribidi gif +gtk jpeg lua mpeg2 mp3 +net opengl png sndio speech theora truetype unsupported vorbis zlib"
+IUSE="
+ a52 aac alsa debug flac fluidsynth fribidi gif +gtk jpeg lua mpeg2
+ mp3 +net opengl png sndio speech theora truetype unsupported vorbis
+ zlib
+"
RESTRICT="test" # it only looks like there's a test there #77507
-RDEPEND="
+DEPEND="
>=media-libs/libsdl2-2.0.0[sound,joystick,video]
a52? ( media-libs/a52dec )
aac? ( media-libs/faad2 )
alsa? ( media-libs/alsa-lib )
- flac? ( media-libs/flac )
+ flac? ( media-libs/flac:= )
fluidsynth? ( media-sound/fluidsynth:= )
fribidi? ( dev-libs/fribidi )
gif? ( media-libs/giflib )
@@ -34,7 +38,7 @@ RDEPEND="
dev-libs/glib:2
x11-libs/gtk+:3
)
- jpeg? ( virtual/jpeg:0 )
+ jpeg? ( media-libs/libjpeg-turbo:= )
mp3? ( media-libs/libmad )
mpeg2? ( media-libs/libmpeg2 )
net? (
@@ -59,15 +63,15 @@ RDEPEND="
)
zlib? ( sys-libs/zlib:= )
"
-DEPEND="${RDEPEND}"
+RDEPEND="
+ ${DEPEND}
+"
BDEPEND="
app-arch/xz-utils
truetype? ( virtual/pkgconfig )
x86? ( dev-lang/nasm )
"
-S="${WORKDIR}/${P/_/}"
-
src_prepare() {
default
@@ -121,7 +125,7 @@ src_configure() {
$(use_enable x86 nasm)
)
echo "configure ${myconf[@]}"
- # NOT AN AUTOCONF SCRIPT SO DONT CALL ECONF
+ # not an autoconf script, so don't call econf
SDL_CONFIG="sdl2-config" \
./configure "${myconf[@]}" ${EXTRA_ECONF} || die
}
diff --git a/games-engines/solarus/Manifest b/games-engines/solarus/Manifest
index 5a040945b687..1e80834dfb69 100644
--- a/games-engines/solarus/Manifest
+++ b/games-engines/solarus/Manifest
@@ -1 +1 @@
-DIST solarus-1.3.1-src.tar.gz 2450599 BLAKE2B e8aefa36d48753b1362283c8818b6efdc82c2d6ed7612c15d5e45b035a131ec6fd5792f85e4b956afa3e1d51e0dc311d7d6fabb5750b7b8781c69169b61fe1d9 SHA512 f52a46add1432a98931db8d26496371b5ff843151c8ac0fdaf1e774be37399d9be6c401f263a65aa08b96f3eebda367b4ccb07ef6cb9740b3112b01e4763556b
+DIST solarus-v1.6.5.tar.gz 15010899 BLAKE2B 96a67c7210c70d23d3fa08e24ee2c4cfbeb6e95dce7236ab860695bf4fc57aaa5d54b02e25ad2f10dfc498cc836bf83753d99cbeca1ff7bf496f7d589accbbf5 SHA512 3fc7473f1b7dd80cbcb0a7a639701f8b12bd40ee918a7853805bd54f877e752b4c31c26828e62248ca4594b3aed41a8c61a16be3b14b293f08d9ba938a723e91
diff --git a/games-engines/solarus/metadata.xml b/games-engines/solarus/metadata.xml
index 1633aef30a2d..16d609b36b2d 100644
--- a/games-engines/solarus/metadata.xml
+++ b/games-engines/solarus/metadata.xml
@@ -9,6 +9,6 @@
<flag name="doc">Install doxygen developer documentation.</flag>
</use>
<upstream>
- <remote-id type="github">christopho/solarus</remote-id>
+ <remote-id type="gitlab">solarus-games/solarus</remote-id>
</upstream>
</pkgmetadata>
diff --git a/games-engines/solarus/solarus-1.3.1-r100.ebuild b/games-engines/solarus/solarus-1.3.1-r100.ebuild
deleted file mode 100644
index 7d865fec4101..000000000000
--- a/games-engines/solarus/solarus-1.3.1-r100.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-1 luajit )
-
-inherit cmake lua-single
-
-DESCRIPTION="An open-source Zelda-like 2D game engine"
-HOMEPAGE="https://www.solarus-games.org/"
-SRC_URI="http://www.zelda-solarus.com/downloads/${PN}/${P}-src.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc"
-
-REQUIRED_USE="${LUA_REQUIRED_USE}"
-
-RDEPEND="${LUA_DEPS}
- dev-games/physfs
- media-libs/libmodplug
- >=media-libs/libsdl2-2.0.1[X,joystick,video]
- media-libs/libvorbis
- media-libs/openal
- media-libs/sdl2-image[png]
- >=media-libs/sdl2-ttf-2.0.12"
-DEPEND="${RDEPEND}"
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DSOLARUS_INSTALL_DESTINATION="/usr/bin"
- -DSOLARUS_USE_LUAJIT="$(usex lua_single_target_luajit)"
- )
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- if use doc ; then
- cd doc || die
- doxygen || die
- fi
-}
-
-src_install() {
- cmake_src_install
- doman solarus.6
- use doc && dodoc -r doc/${PV%.*}/html/*
-}
diff --git a/games-engines/solarus/solarus-1.6.5.ebuild b/games-engines/solarus/solarus-1.6.5.ebuild
new file mode 100644
index 000000000000..28ba18e83b78
--- /dev/null
+++ b/games-engines/solarus/solarus-1.6.5.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 luajit )
+
+inherit cmake lua-single optfeature virtualx
+
+DESCRIPTION="An open-source Zelda-like 2D game engine"
+HOMEPAGE="https://www.solarus-games.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.com/solarus-games/solarus.git"
+ EGIT_BRANCH="dev"
+ inherit git-r3
+else
+ SRC_URI="https://gitlab.com/solarus-games/solarus/-/archive/v${PV}/solarus-v${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="doc"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+RDEPEND="
+ ${LUA_DEPS}
+ dev-games/physfs
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ media-libs/libmodplug
+ >=media-libs/libsdl2-2.0.1[X,joystick,video]
+ media-libs/libvorbis
+ media-libs/openal
+ media-libs/sdl2-image[png]
+ >=media-libs/sdl2-ttf-2.0.12
+"
+
+DEPEND="
+ ${RDEPEND}
+"
+
+BDEPEND="
+ doc? ( app-text/doxygen )
+"
+
+if ! [[ ${PV} == 9999 ]]; then
+ S="${WORKDIR}/solarus-v${PV}"
+fi
+
+src_configure() {
+ local mycmakeargs=( -DSOLARUS_USE_LUAJIT="$(usex lua_single_target_luajit)" )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use doc ; then
+ cd doc && doxygen || die
+ fi
+}
+
+src_test() {
+ # lua/bugs-{1200,1210} are GUI tests that require X
+ # With EAPI 8, one of the last tests hangs with >= j3
+ virtx cmake_src_test -j1
+}
+
+src_install() {
+ cmake_src_install
+ use doc && dodoc -r doc/${PV%.*}/html/*
+}
+
+pkg_postinst() {
+ optfeature "the Solarus Quest Editor" games-misc/solarus-quest-editor
+}
diff --git a/games-engines/solarus/solarus-9999.ebuild b/games-engines/solarus/solarus-9999.ebuild
new file mode 100644
index 000000000000..28ba18e83b78
--- /dev/null
+++ b/games-engines/solarus/solarus-9999.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 luajit )
+
+inherit cmake lua-single optfeature virtualx
+
+DESCRIPTION="An open-source Zelda-like 2D game engine"
+HOMEPAGE="https://www.solarus-games.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.com/solarus-games/solarus.git"
+ EGIT_BRANCH="dev"
+ inherit git-r3
+else
+ SRC_URI="https://gitlab.com/solarus-games/solarus/-/archive/v${PV}/solarus-v${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="doc"
+
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+RDEPEND="
+ ${LUA_DEPS}
+ dev-games/physfs
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ media-libs/libmodplug
+ >=media-libs/libsdl2-2.0.1[X,joystick,video]
+ media-libs/libvorbis
+ media-libs/openal
+ media-libs/sdl2-image[png]
+ >=media-libs/sdl2-ttf-2.0.12
+"
+
+DEPEND="
+ ${RDEPEND}
+"
+
+BDEPEND="
+ doc? ( app-text/doxygen )
+"
+
+if ! [[ ${PV} == 9999 ]]; then
+ S="${WORKDIR}/solarus-v${PV}"
+fi
+
+src_configure() {
+ local mycmakeargs=( -DSOLARUS_USE_LUAJIT="$(usex lua_single_target_luajit)" )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use doc ; then
+ cd doc && doxygen || die
+ fi
+}
+
+src_test() {
+ # lua/bugs-{1200,1210} are GUI tests that require X
+ # With EAPI 8, one of the last tests hangs with >= j3
+ virtx cmake_src_test -j1
+}
+
+src_install() {
+ cmake_src_install
+ use doc && dodoc -r doc/${PV%.*}/html/*
+}
+
+pkg_postinst() {
+ optfeature "the Solarus Quest Editor" games-misc/solarus-quest-editor
+}
diff --git a/games-engines/stratagus/Manifest b/games-engines/stratagus/Manifest
index 580e155d06cf..17d966383ec7 100644
--- a/games-engines/stratagus/Manifest
+++ b/games-engines/stratagus/Manifest
@@ -1,6 +1 @@
-DIST stratagus-2.4.3.tar.gz 1123537 BLAKE2B 90e40b2b277b5c52977f3c0ae2ae8f2e65d940d765e2ca4f7def4f8cf903399350f5e46f6dc6fbc38f3a53c7ca9ecaf5cf38025ec69154972869f28da37865d4 SHA512 16271c4fed3fb75fb8fb08e363e72713ede7979ea7e25b7c83db2fa9a0688fb7927cad3379e3b23e172c409cf0f6db18f7c6557d19a693c9a7f24109b56d2a56
-DIST stratagus-3.0.0.tar.gz 1149659 BLAKE2B 62a14bdc84462f22867b836b9a83f58ba31c7793c20f25cd8a0ca58adf7e5a38ee4559e96dddf8eb61dd1572dac55e08b16c95f8b7590644da0d0ffd040e0360 SHA512 baef3636471134c53ae0a60471f217daf694c20f439db125cf31cc33a510be456486aa905950aec15f28acada1af39a245e97fc85045d849b10532939a8f3a83
-DIST stratagus-3.1.0.tar.gz 1188722 BLAKE2B 7eefd0d1c2ab35e657d8dc3c90c279deab073588c7a5830e317b99d72518b3d9b1260b56952e1deeadccc79334442441896c0d9520891a5eeea75da52871a4b2 SHA512 41f4dc6e6232cdd31258b7c402c64d3604c77b07bd46f29474a4b4979cd30dec809faeb5f0034521e26442c4afefba3076154a632bd445f57e04801b4199573b
-DIST stratagus-3.1.1.tar.gz 1189631 BLAKE2B dd81b354d90cd3483674d0b9728abf9a7c6b8e2c2ab49683d8da37a80dca26eafe3bfed022b3917ab7f6f1d09c68724def5a8d107dd735dbab58cc72b224fbd3 SHA512 b5c5e3d767cd96be0fcc13476452e76ea106ddf870117f0e0b97113455c8a54a6547065b242d9a255d87c59ee755e604489e68a5ecc2e5275b32b7b5b5cfae6b
-DIST stratagus-3.1.2.tar.gz 1190124 BLAKE2B 35e9b8d33a0b6926ba7a450b893679d323dca9507b9fe2cd27ec8ee5c80deeecf8e35fd8b92eed86f308b5a8abd017d6306a08b4268c06de3c3d0fac7b74eba1 SHA512 c12012b08b04a419b0d3d35860b22fa426e06181d6ecd2998b11419227f3c226a6d584a5c3443939dfe63e0cc657eaad914f04810431bc72b7697cf8f4465b18
-DIST stratagus-3.2.0.tar.gz 1537172 BLAKE2B cd0ce92a1532cdf57245f6ef234ee1f55418f28f06bb34f358bd623b1e83d21b9a04cfa86e8129931043e480de5a9de0ef6458b75dcb2f8c40c3457d4ef31eef SHA512 7a1b4f99fa3a080905b976439435c62fa885c0895f3f9f7692404a207822520d6b71189f24627c31bec192503d6504bf98485cce393036950f6bac0a49cb17dc
+DIST stratagus-3.3.2.tar.gz 1582937 BLAKE2B c39a9f009693c8c6dc7e62b885851a707a25c039b66765ce42dbd851643650b287bd45d0c0ea6fb03a2ddde01a41bf156a1d018ad4f06e0d39e9435a24c79672 SHA512 0e5d0127ba4e1025ceb7f46c91d90b82dc7c1b194030738abf95bd2c9cadc04d7431f333a514fc6d6b300ea3a1f5c7405bea735471f72fa547031634a23b01d1
diff --git a/games-engines/stratagus/metadata.xml b/games-engines/stratagus/metadata.xml
index 0b341e7622f6..71d1a3fd8617 100644
--- a/games-engines/stratagus/metadata.xml
+++ b/games-engines/stratagus/metadata.xml
@@ -9,9 +9,6 @@
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
- <use>
- <flag name="fluidsynth">compile with support for fluidsynth</flag>
- </use>
<upstream>
<remote-id type="github">Wargus/stratagus</remote-id>
</upstream>
diff --git a/games-engines/stratagus/stratagus-2.4.3-r100.ebuild b/games-engines/stratagus/stratagus-2.4.3-r100.ebuild
deleted file mode 100644
index 5b096ccea6d1..000000000000
--- a/games-engines/stratagus/stratagus-2.4.3-r100.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-1 )
-
-inherit cmake lua-single
-
-DESCRIPTION="A realtime strategy game engine"
-HOMEPAGE="https://wargus.github.io/stratagus.html
- https://github.com/Wargus/stratagus"
-SRC_URI="https://github.com/Wargus/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="bzip2 debug doc fluidsynth mikmod mng theora vorbis"
-REQUIRED_USE="${LUA_REQUIRED_USE}
- theora? ( vorbis )"
-
-RDEPEND="${LUA_DEPS}
- dev-db/sqlite:3
- dev-lua/toluapp[${LUA_SINGLE_USEDEP}]
- media-libs/libpng:0
- virtual/opengl
- x11-libs/libX11
- media-libs/libsdl[sound,opengl,video]
- sys-libs/zlib
- bzip2? ( app-arch/bzip2 )
- fluidsynth? ( media-sound/fluidsynth )
- mikmod? ( media-libs/libmikmod )
- mng? ( media-libs/libmng )
- vorbis? (
- media-libs/libogg
- media-libs/libvorbis
- theora? ( media-libs/libtheora )
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}/${PN}"-2.3.0-doc.patch
-)
-
-src_prepare() {
- sed -i -e 's:-Werror::' CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- # there are in-source switches
- use debug && CMAKE_BUILD_TYPE=Debug
-
- local mycmakeargs=(
- -DGAMEDIR="/usr/bin"
- -DDOCDIR="/usr/share/doc/${PF}"
- -DWITH_BZIP2=$(usex bzip2)
- -DWITH_FLUIDSYNTH=$(usex fluidsynth)
- -DWITH_MIKMOD=$(usex mikmod)
- -DWITH_MNG=$(usex mng)
- -DWITH_OGGVORBIS=$(usex vorbis)
- -DWITH_THEORA=$(usex theora)
- -DENABLE_DOC=$(usex doc)
- -DENABLE_DEV=ON
- )
-
- cmake_src_configure
-}
diff --git a/games-engines/stratagus/stratagus-3.0.0-r100.ebuild b/games-engines/stratagus/stratagus-3.0.0-r100.ebuild
deleted file mode 100644
index 5af50ed30834..000000000000
--- a/games-engines/stratagus/stratagus-3.0.0-r100.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-1 )
-
-inherit cmake lua-single optfeature
-
-DESCRIPTION="A realtime strategy game engine"
-HOMEPAGE="https://wargus.github.io/stratagus.html
- https://github.com/Wargus/stratagus"
-SRC_URI="https://github.com/Wargus/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/3"
-KEYWORDS="~amd64 ~x86"
-IUSE="bzip2 debug doc mng theora vorbis"
-REQUIRED_USE="
- ${LUA_REQUIRED_USE}
- theora? ( vorbis )"
-
-RDEPEND="
- ${LUA_DEPS}
- dev-db/sqlite:3
- dev-lua/toluapp[${LUA_SINGLE_USEDEP}]
- media-libs/libpng:0
- x11-libs/libX11
- media-libs/libsdl2[sound,opengl,video]
- media-libs/sdl2-mixer[vorbis]
- media-libs/sdl2-image[png]
- sys-libs/zlib
- bzip2? ( app-arch/bzip2 )
- mng? ( media-libs/libmng )
- vorbis? (
- media-libs/libogg
- media-libs/libvorbis
- theora? ( media-libs/libtheora )
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}/${PN}"-2.3.0-doc.patch
-)
-
-src_prepare() {
- sed -i -e 's:-Werror::' CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- # there are in-source switches
- use debug && CMAKE_BUILD_TYPE=Debug
-
- local mycmakeargs=(
- -DGAMEDIR="/usr/bin"
- -DDOCDIR="/usr/share/doc/${PF}"
- -DWITH_BZIP2=$(usex bzip2)
- -DWITH_MNG=$(usex mng)
- -DWITH_OGGVORBIS=$(usex vorbis)
- -DWITH_THEORA=$(usex theora)
- -DENABLE_DOC=$(usex doc)
- -DENABLE_DEV=ON
- )
-
- cmake_src_configure
-}
-
-pkg_postinst() {
- optfeature "MIDI music support" "media-libs/sdl2-mixer[midi]"
-}
diff --git a/games-engines/stratagus/stratagus-3.1.0.ebuild b/games-engines/stratagus/stratagus-3.1.0.ebuild
deleted file mode 100644
index b457463d8b3d..000000000000
--- a/games-engines/stratagus/stratagus-3.1.0.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-1 )
-inherit cmake lua-single optfeature
-
-DESCRIPTION="A realtime strategy game engine"
-HOMEPAGE="
- https://stratagus.com/stratagus.html
- https://github.com/Wargus/stratagus"
-SRC_URI="https://github.com/Wargus/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/3"
-KEYWORDS="~amd64 ~x86"
-IUSE="bzip2 debug doc mng theora vorbis"
-REQUIRED_USE="
- ${LUA_REQUIRED_USE}
- theora? ( vorbis )"
-
-RDEPEND="
- ${LUA_DEPS}
- dev-db/sqlite:3
- dev-lua/toluapp[${LUA_SINGLE_USEDEP}]
- media-libs/libpng:0
- x11-libs/libX11
- media-libs/libsdl2[sound,opengl,video]
- media-libs/sdl2-mixer[vorbis]
- media-libs/sdl2-image[png]
- sys-libs/zlib
- bzip2? ( app-arch/bzip2 )
- mng? ( media-libs/libmng )
- vorbis? (
- media-libs/libogg
- media-libs/libvorbis
- theora? ( media-libs/libtheora )
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}/${PN}"-2.3.0-doc.patch
-)
-
-src_prepare() {
- sed -i -e 's:-Werror::' CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- # there are in-source switches
- use debug && CMAKE_BUILD_TYPE=Debug
-
- local mycmakeargs=(
- -DGAMEDIR="/usr/bin"
- -DDOCDIR="/usr/share/doc/${PF}"
- -DWITH_BZIP2=$(usex bzip2)
- -DWITH_MNG=$(usex mng)
- -DWITH_OGGVORBIS=$(usex vorbis)
- -DWITH_THEORA=$(usex theora)
- -DENABLE_DOC=$(usex doc)
- -DENABLE_DEV=ON
- )
-
- cmake_src_configure
-}
-
-pkg_postinst() {
- optfeature "MIDI music support" "media-libs/sdl2-mixer[midi]"
-}
diff --git a/games-engines/stratagus/stratagus-3.1.1.ebuild b/games-engines/stratagus/stratagus-3.1.1.ebuild
deleted file mode 100644
index b457463d8b3d..000000000000
--- a/games-engines/stratagus/stratagus-3.1.1.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-1 )
-inherit cmake lua-single optfeature
-
-DESCRIPTION="A realtime strategy game engine"
-HOMEPAGE="
- https://stratagus.com/stratagus.html
- https://github.com/Wargus/stratagus"
-SRC_URI="https://github.com/Wargus/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/3"
-KEYWORDS="~amd64 ~x86"
-IUSE="bzip2 debug doc mng theora vorbis"
-REQUIRED_USE="
- ${LUA_REQUIRED_USE}
- theora? ( vorbis )"
-
-RDEPEND="
- ${LUA_DEPS}
- dev-db/sqlite:3
- dev-lua/toluapp[${LUA_SINGLE_USEDEP}]
- media-libs/libpng:0
- x11-libs/libX11
- media-libs/libsdl2[sound,opengl,video]
- media-libs/sdl2-mixer[vorbis]
- media-libs/sdl2-image[png]
- sys-libs/zlib
- bzip2? ( app-arch/bzip2 )
- mng? ( media-libs/libmng )
- vorbis? (
- media-libs/libogg
- media-libs/libvorbis
- theora? ( media-libs/libtheora )
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}/${PN}"-2.3.0-doc.patch
-)
-
-src_prepare() {
- sed -i -e 's:-Werror::' CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- # there are in-source switches
- use debug && CMAKE_BUILD_TYPE=Debug
-
- local mycmakeargs=(
- -DGAMEDIR="/usr/bin"
- -DDOCDIR="/usr/share/doc/${PF}"
- -DWITH_BZIP2=$(usex bzip2)
- -DWITH_MNG=$(usex mng)
- -DWITH_OGGVORBIS=$(usex vorbis)
- -DWITH_THEORA=$(usex theora)
- -DENABLE_DOC=$(usex doc)
- -DENABLE_DEV=ON
- )
-
- cmake_src_configure
-}
-
-pkg_postinst() {
- optfeature "MIDI music support" "media-libs/sdl2-mixer[midi]"
-}
diff --git a/games-engines/stratagus/stratagus-3.2.0.ebuild b/games-engines/stratagus/stratagus-3.2.0.ebuild
deleted file mode 100644
index b457463d8b3d..000000000000
--- a/games-engines/stratagus/stratagus-3.2.0.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-1 )
-inherit cmake lua-single optfeature
-
-DESCRIPTION="A realtime strategy game engine"
-HOMEPAGE="
- https://stratagus.com/stratagus.html
- https://github.com/Wargus/stratagus"
-SRC_URI="https://github.com/Wargus/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/3"
-KEYWORDS="~amd64 ~x86"
-IUSE="bzip2 debug doc mng theora vorbis"
-REQUIRED_USE="
- ${LUA_REQUIRED_USE}
- theora? ( vorbis )"
-
-RDEPEND="
- ${LUA_DEPS}
- dev-db/sqlite:3
- dev-lua/toluapp[${LUA_SINGLE_USEDEP}]
- media-libs/libpng:0
- x11-libs/libX11
- media-libs/libsdl2[sound,opengl,video]
- media-libs/sdl2-mixer[vorbis]
- media-libs/sdl2-image[png]
- sys-libs/zlib
- bzip2? ( app-arch/bzip2 )
- mng? ( media-libs/libmng )
- vorbis? (
- media-libs/libogg
- media-libs/libvorbis
- theora? ( media-libs/libtheora )
- )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-doc/doxygen )"
-
-PATCHES=(
- "${FILESDIR}/${PN}"-2.3.0-doc.patch
-)
-
-src_prepare() {
- sed -i -e 's:-Werror::' CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- # there are in-source switches
- use debug && CMAKE_BUILD_TYPE=Debug
-
- local mycmakeargs=(
- -DGAMEDIR="/usr/bin"
- -DDOCDIR="/usr/share/doc/${PF}"
- -DWITH_BZIP2=$(usex bzip2)
- -DWITH_MNG=$(usex mng)
- -DWITH_OGGVORBIS=$(usex vorbis)
- -DWITH_THEORA=$(usex theora)
- -DENABLE_DOC=$(usex doc)
- -DENABLE_DEV=ON
- )
-
- cmake_src_configure
-}
-
-pkg_postinst() {
- optfeature "MIDI music support" "media-libs/sdl2-mixer[midi]"
-}
diff --git a/games-engines/stratagus/stratagus-3.1.2.ebuild b/games-engines/stratagus/stratagus-3.3.2-r1.ebuild
index b457463d8b3d..b6dc099614a2 100644
--- a/games-engines/stratagus/stratagus-3.1.2.ebuild
+++ b/games-engines/stratagus/stratagus-3.3.2-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
LUA_COMPAT=( lua5-1 )
inherit cmake lua-single optfeature
@@ -9,8 +9,12 @@ inherit cmake lua-single optfeature
DESCRIPTION="A realtime strategy game engine"
HOMEPAGE="
https://stratagus.com/stratagus.html
- https://github.com/Wargus/stratagus"
-SRC_URI="https://github.com/Wargus/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ https://github.com/Wargus/stratagus/
+"
+SRC_URI="
+ https://github.com/Wargus/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
LICENSE="GPL-2"
SLOT="0/3"
@@ -18,9 +22,10 @@ KEYWORDS="~amd64 ~x86"
IUSE="bzip2 debug doc mng theora vorbis"
REQUIRED_USE="
${LUA_REQUIRED_USE}
- theora? ( vorbis )"
+ theora? ( vorbis )
+"
-RDEPEND="
+DEPEND="
${LUA_DEPS}
dev-db/sqlite:3
dev-lua/toluapp[${LUA_SINGLE_USEDEP}]
@@ -36,28 +41,27 @@ RDEPEND="
media-libs/libogg
media-libs/libvorbis
theora? ( media-libs/libtheora )
- )"
-DEPEND="${RDEPEND}"
+ )
+"
+RDEPEND="
+ ${DEPEND}
+"
BDEPEND="
virtual/pkgconfig
- doc? ( app-doc/doxygen )"
+ doc? ( app-text/doxygen )
+"
PATCHES=(
"${FILESDIR}/${PN}"-2.3.0-doc.patch
)
-src_prepare() {
- sed -i -e 's:-Werror::' CMakeLists.txt || die
- cmake_src_prepare
-}
-
src_configure() {
# there are in-source switches
- use debug && CMAKE_BUILD_TYPE=Debug
+ use debug && local -x CPPFLAGS="${CPPFLAGS} -DDEBUG"
local mycmakeargs=(
- -DGAMEDIR="/usr/bin"
- -DDOCDIR="/usr/share/doc/${PF}"
+ -DGAMEDIR="${EPREFIX}/usr/bin"
+ -DDOCDIR="${EPREFIX}/usr/share/doc/${PF}"
-DWITH_BZIP2=$(usex bzip2)
-DWITH_MNG=$(usex mng)
-DWITH_OGGVORBIS=$(usex vorbis)
diff --git a/games-engines/xzip/files/xzip-1.8.2-clang16.patch b/games-engines/xzip/files/xzip-1.8.2-clang16.patch
new file mode 100644
index 000000000000..ce702ba3e86e
--- /dev/null
+++ b/games-engines/xzip/files/xzip-1.8.2-clang16.patch
@@ -0,0 +1,9 @@
+Ideally belongs in xio.h, but using requires including more headers.
+https://bugs.gentoo.org/874906
+--- a/osdepend.c
++++ b/osdepend.c
+@@ -13,2 +13,4 @@
+
++void xio_bell();
++
+ /* File names will be O/S dependent */
diff --git a/games-engines/xzip/xzip-1.8.2-r3.ebuild b/games-engines/xzip/xzip-1.8.2-r4.ebuild
index c6cb0d735cdb..04394c46e036 100644
--- a/games-engines/xzip/xzip-1.8.2-r3.ebuild
+++ b/games-engines/xzip/xzip-1.8.2-r4.ebuild
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="X interface to Z-code based text games"
HOMEPAGE="https://www.eblong.com/zarf/xzip.html"
-SRC_URI="https://www.eblong.com/zarf/ftp/xzip182.tar.Z"
+SRC_URI="https://www.eblong.com/zarf/ftp/xzip$(ver_rs 1-3 '').tar.Z"
LICENSE="GPL-2"
SLOT="0"
@@ -19,6 +19,10 @@ RDEPEND=${DEPEND}
S="${WORKDIR}/xzip"
+PATCHES=(
+ "${FILESDIR}"/${P}-clang16.patch
+)
+
src_compile() {
tc-export CC
emake \