diff options
Diffstat (limited to 'games-engines')
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*)§or->gravity = msg->sector().gravity(); ++ *§or->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 \ |