diff options
Diffstat (limited to 'games-engines')
125 files changed, 2638 insertions, 2726 deletions
diff --git a/games-engines/box2d/box2d-2.4.1.ebuild b/games-engines/box2d/box2d-2.4.1.ebuild index 5e4e5ca8df3c..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-2021 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,15 +11,30 @@ 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" -IUSE="doc" +KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86" +IUSE="doc test" +RESTRICT="!test? ( test )" -BDEPEND="doc? ( app-doc/doxygen )" +DEPEND="test? ( dev-cpp/doctest )" +BDEPEND="doc? ( app-text/doxygen )" + +src_prepare() { + cmake_src_prepare + + # unbundle doctest + rm unit-test/doctest.h || die + ln -s "${ESYSROOT}"/usr/include/doctest/doctest.h unit-test/ || die +} src_configure() { local mycmakeargs=( -DBOX2D_BUILD_TESTBED=OFF # bundled libs, broken anyway right now + -DBOX2D_BUILD_UNIT_TESTS=$(usex test) -DBOX2D_BUILD_DOCS=$(usex doc) ) cmake_src_configure } + +src_test() { + "${BUILD_DIR}"/bin/unit_test || die +} diff --git a/games-engines/box2d/metadata.xml b/games-engines/box2d/metadata.xml index f73e6cf85872..7be1d51db43c 100644 --- a/games-engines/box2d/metadata.xml +++ b/games-engines/box2d/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-engines/dMagnetic/Manifest b/games-engines/dMagnetic/Manifest index deb73c5cd3ff..c2066daa346e 100644 --- a/games-engines/dMagnetic/Manifest +++ b/games-engines/dMagnetic/Manifest @@ -1 +1 @@ -DIST dMagnetic_0.30.tar.bz2 82369 BLAKE2B bc881a85f5da0f5f3531f2ce77369d5f5c43f424deeb626978e1589b0cf7a1105fdcfbdc3316c123c89c8384fd614260c58803bc9d3126eec60d11d7f00c995e SHA512 f903f352285476a3de67703220ea0c9cdb2ce3ef1fd73f7f9808eba13e39ae531426acf76424d2f9503ba387b7ac24e0b0959969ed99ba8c553c4f1c43a0a4da +DIST dMagnetic_0.36.tar.bz2 93540 BLAKE2B 3e6e4ddb4d20f28175737d8e99f51d95d98a5420c5125080879fee9bbd68ca376c2fb1baafd547555835faa209ab0d7c07ef59afb0e903b2b2a0c1a19fd7d41a SHA512 2de79a6de8ac3112f76b9b409def6eaa9265e9acd80143cdccf984dfead4d9134f1fc4ea3835f77f97b64a57a924eafadf57a4015e6710b6e4b603fc589128fd diff --git a/games-engines/dMagnetic/dMagnetic-0.30.ebuild b/games-engines/dMagnetic/dMagnetic-0.36.ebuild index 1e15cd42de8b..826c6e72aba2 100644 --- a/games-engines/dMagnetic/dMagnetic-0.30.ebuild +++ b/games-engines/dMagnetic/dMagnetic-0.36.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit prefix toolchain-funcs @@ -33,7 +33,7 @@ src_test() { src_install() { dobin ${PN} - doman ${PN}.1 ${PN}ini.5 + doman ${PN}.6 ${PN}ini.5 dodoc README.txt insinto /etc diff --git a/games-engines/dMagnetic/metadata.xml b/games-engines/dMagnetic/metadata.xml index 26079e608bed..7c730d47817a 100644 --- a/games-engines/dMagnetic/metadata.xml +++ b/games-engines/dMagnetic/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> 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.ebuild b/games-engines/devilutionx/devilutionx-1.2.1.ebuild deleted file mode 100644 index 01125c9e7e42..000000000000 --- a/games-engines/devilutionx/devilutionx-1.2.1.ebuild +++ /dev/null @@ -1,69 +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 -) - -DOCS=( docs/CHANGELOG.md ) - -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.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 01125c9e7e42..000000000000 --- a/games-engines/devilutionx/devilutionx-9999.ebuild +++ /dev/null @@ -1,69 +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 -) - -DOCS=( docs/CHANGELOG.md ) - -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/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/metadata.xml b/games-engines/devilutionx/metadata.xml index 6f7209b5d36d..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 "http://www.gentoo.org/dtd/metadata.dtd"> +<!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..009f8a97d9b2 --- /dev/null +++ b/games-engines/exult/exult-1.8.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2024 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="https://downloads.sourceforge.net/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 3a588d836e61..79d545d1aa45 100644 --- a/games-engines/exult/metadata.xml +++ b/games-engines/exult/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> @@ -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/frobtads/Manifest b/games-engines/frobtads/Manifest index 18491915c5e1..d94ab6032b8b 100644 --- a/games-engines/frobtads/Manifest +++ b/games-engines/frobtads/Manifest @@ -1 +1 @@ -DIST frobtads-1.2.4.tar.bz2 3801366 BLAKE2B 871a4cfd432f1a72915de0652def2f2a9a3cf1bfa20b070c2e59ced673c736584a36b3d17e7d5812ad7cd883c3e038e49f962635a5794d6c914d99651bfd0a55 SHA512 f49f58114cbd78f23fcc3835025af7874da968af825abd449e9ab83c4a90e8d70f8cfafa83780f0631ae9bd2793cce2d5dd947c13ee38ba0d06829d2803abf12 +DIST frobtads-2.0.tar.bz2 3870691 BLAKE2B 0f73137428db818b674534cec05ff7993ddc8e6d104d61c5a3a57bac05b185175ce92be1d571c0ca463e5420059a1e59274499c1620a5c0f75c37a89701bc4a4 SHA512 28c84447c1ab43cfd6956b1933f9e7ab3ac0d8b7d0767f23d8535e2ea0cac0e07f17ade07776d646102caa8c23474c3ae3d46a3eef243ad8c7aec702eea04854 diff --git a/games-engines/frobtads/files/frobtads-1.2.4-tinfo.patch b/games-engines/frobtads/files/frobtads-1.2.4-tinfo.patch deleted file mode 100644 index f37f2ed22ce2..000000000000 --- a/games-engines/frobtads/files/frobtads-1.2.4-tinfo.patch +++ /dev/null @@ -1,12 +0,0 @@ -https://bugs.gentoo.org/602446 - ---- a/configure.ac -+++ b/configure.ac -@@ -88,6 +88,7 @@ - # doesn't hust to try pdcurses as a last resort.) - # - AC_SEARCH_LIBS([initscr], [ncurses curses pdcurses], [curseslibfound=true], [curseslibfound=false]) -+AC_SEARCH_LIBS([keypad], [tinfo]) - - # Check for libcurl (network client library for http et al). - # diff --git a/games-engines/frobtads/frobtads-1.2.4.ebuild b/games-engines/frobtads/frobtads-2.0.ebuild index 6270e7fa08f6..1a49e8fce5e5 100644 --- a/games-engines/frobtads/frobtads-1.2.4.ebuild +++ b/games-engines/frobtads/frobtads-2.0.ebuild @@ -3,16 +3,16 @@ EAPI=7 -inherit autotools +inherit cmake DESCRIPTION="Curses-based interpreter and dev tools for TADS 2 and TADS 3 text adventures" HOMEPAGE="http://www.tads.org/frobtads.htm" -SRC_URI="https://github.com/realnc/${PN}/releases/download/${PV}/${P}.tar.bz2" +SRC_URI="https://github.com/realnc/${PN}/releases/download/v${PV}/${P}.tar.bz2" LICENSE="TADS2 TADS3" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="debug tads2compiler tads3compiler" +IUSE="debug +tads2compiler +tads3compiler" RESTRICT="!tads3compiler? ( test )" @@ -24,30 +24,19 @@ DEPEND="${RDEPEND}" DOCS=( doc/{AUTHORS,BUGS,ChangeLog.old,NEWS,README,SRC_GUIDELINES,THANKS} ) -PATCHES=( - "${FILESDIR}"/${PN}-1.2.4-tinfo.patch #602446 -) - -src_prepare() { - default - - # bug #602446 - eautoreconf -} - src_configure() { - local myeconfargs=( - $(use_enable debug error-checking) - $(use_enable debug t3debug) - $(use_enable tads2compiler t2-compiler) - $(use_enable tads3compiler t3-compiler) + local mycmakeargs=( + -DENABLE_T2_COMPILER=$(usex tads2compiler) + -DENABLE_T2_RUNTIME_CHECKS=$(usex debug) + -DENABLE_T3_COMPILER=$(usex tads3compiler) + -DENABLE_T3_DEBUG=$(usex debug) ) - econf "${myeconfargs[@]}" + cmake_src_configure } src_test() { - emake -j1 sample - ./frob -i plain -p samples/sample.t3 <<- END_FROB_TEST + cmake_build sample + "${BUILD_DIR}"/frob -i plain -p "${BUILD_DIR}"/samples/sample.t3 <<- END_FROB_TEST save testsave.sav restore diff --git a/games-engines/frobtads/metadata.xml b/games-engines/frobtads/metadata.xml index 89569b770284..e1696885898d 100644 --- a/games-engines/frobtads/metadata.xml +++ b/games-engines/frobtads/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-engines/frotz/Manifest b/games-engines/frotz/Manifest index 6678f254461c..9c29a2c2b7c3 100644 --- a/games-engines/frotz/Manifest +++ b/games-engines/frotz/Manifest @@ -1,2 +1 @@ -DIST frotz-2.52.tar.bz2 289109 BLAKE2B d1e97e05d1da187846c64dacdf69f34a800be97b75121dc8de63c619687ed5ccbd6b03b2391d2896a14aaad1e4f8eb51926affb92a36f1a5bad8acec91524774 SHA512 387e7a7fe0cffd40b639a306eef89a22421a4ff4a8e5dbcf96a1ef3b901744b3f75a671953ecdc17bde0d699e4756d470b61c8213c47315baa2700da92d06710 DIST frotz-2.53.tar.bz2 375800 BLAKE2B a3d14d11540cb12ed6e5326207946e26b0b3b85e13c50e7431f3901cfb19337661b233bf29077c1efe3a9663aef6d2886bba1717c8132d68e77580692fed30d1 SHA512 e920529920a0b831b859323046aeae032b4b84ac0296d4ef35026fe8a62798cf5f9f4e255af38421aa21ad5507cd87287924daafc759c9b9d7a089ba7d77d808 diff --git a/games-engines/frotz/files/frotz-2.53-uint32.patch b/games-engines/frotz/files/frotz-2.53-uint32.patch new file mode 100644 index 000000000000..18e7d244c272 --- /dev/null +++ b/games-engines/frotz/files/frotz-2.53-uint32.patch @@ -0,0 +1,475 @@ +Description: Use uint32_t instead of ulong +Author: Stephen Kitt <skitt@debian.org> + +When built with hardening enabled, there’s a ulong/uint32_t definition +conflict; since the type is supposed to be uint32_t, use that +directly. + +--- a/src/sdl/sf_frotz.h ++++ b/src/sdl/sf_frotz.h +@@ -12,13 +12,13 @@ + #include "../blorb/blorb.h" + + #include <stdint.h> ++#include <sys/types.h> + typedef uint8_t byte; + typedef uint16_t word; +-#define ulong uint32_t + + typedef struct { + bb_result_t bbres; +- ulong type; ++ uint32_t type; + FILE *file; + } myresource; + +@@ -54,7 +54,7 @@ + #endif + + /* this assumes RGBA with lsb = R */ +-static inline ulong RGB5ToTrue(word w) ++static inline uint32_t RGB5ToTrue(word w) + { + int _r = w & 0x001F; + int _g = (w & 0x03E0) >> 5; +@@ -62,10 +62,10 @@ + _r = (_r << 3) | (_r >> 2); + _g = (_g << 3) | (_g >> 2); + _b = (_b << 3) | (_b >> 2); +- return (ulong) (_r | (_g << 8) | (_b << 16)); ++ return (uint32_t) (_r | (_g << 8) | (_b << 16)); + } + +-static inline word TrueToRGB5(ulong u) ++static inline word TrueToRGB5(uint32_t u) + { + return (word) (((u >> 3) & 0x001f) | ((u >> 6) & 0x03e0) | + ((u >> 9) & 0x7c00)); +@@ -81,10 +81,10 @@ + extern int m_v6scale; + extern double m_gfxScale_w; + extern double m_gfxScale_h; +-extern ulong m_defaultFore; +-extern ulong m_defaultBack; +-extern ulong m_colours[11]; +-extern ulong m_nonStdColours[NON_STD_COLS]; ++extern uint32_t m_defaultFore; ++extern uint32_t m_defaultBack; ++extern uint32_t m_colours[11]; ++extern uint32_t m_nonStdColours[NON_STD_COLS]; + extern int m_nonStdIndex; + extern bool m_exitPause; + extern bool m_lineInput; +@@ -118,7 +118,7 @@ + int number; /* 0 means unallocated */ + int width, height; + byte *pixels; +- ulong palette[16]; ++ uint32_t palette[16]; + int palette_entries; + int transparentcolor; + bool adaptive; +@@ -190,9 +190,9 @@ + + void sf_readsettings(); + +-ulong sf_GetColour(int colour); +-ulong sf_GetDefaultColour(bool fore); +-int sf_GetColourIndex(ulong colour); ++uint32_t sf_GetColour(int colour); ++uint32_t sf_GetDefaultColour(bool fore); ++int sf_GetColourIndex(uint32_t colour); + + void sf_initvideo(int w, int h, int full); + +@@ -221,7 +221,7 @@ + + bool sf_IsInfocomV6(void); + +-ulong sf_blend(int a, ulong s, ulong d); ++uint32_t sf_blend(int a, uint32_t s, uint32_t d); + + void sf_sleep(int millisecs); + +@@ -234,8 +234,8 @@ + + int sf_pkread(FILE * f, int foffs, void **out, int *size); + +-ulong *sf_savearea(int x, int y, int w, int h); +-void sf_restoreareaandfree(ulong * s); ++uint32_t *sf_savearea(int x, int y, int w, int h); ++void sf_restoreareaandfree(uint32_t * s); + #define SF_NOTIMP (-9999) + + zword sf_read_key(int timeout, bool cursor, bool allowed, bool text); +@@ -243,7 +243,7 @@ + int sf_user_fdialog(bool exist, const char *def, const char *filt, + const char *title, char **res); + extern int (*sf_osdialog)(bool ex, const char *def, const char *filt, +- const char *tit, char **res, ulong * sbuf, int sbp, ++ const char *tit, char **res, uint32_t * sbuf, int sbp, + int ew, int eh, int isfull); + + void sf_checksound(void); +@@ -255,13 +255,13 @@ + + char *sf_searchfile(char *, int, char *, char *); + +-void sf_chline(int x, int y, ulong c, int n); +-void sf_cvline(int x, int y, ulong c, int n); ++void sf_chline(int x, int y, uint32_t c, int n); ++void sf_cvline(int x, int y, uint32_t c, int n); + bool sf_flushdisplay(void); + void sf_getclip(int *x, int *y, int *w, int *h); + void sf_rect(unsigned long color, int x, int y, int w, int h); + void sf_setclip(int x, int y, int w, int h); +-void sf_wpixel(int x, int y, ulong c); ++void sf_wpixel(int x, int y, uint32_t c); + + void sf_InitProfile(const char *fn); + void sf_FinishProfile(void); +--- a/src/sdl/sf_resource.c ++++ b/src/sdl/sf_resource.c +@@ -51,10 +51,10 @@ + int m_v6scale_y; + double m_gfxScale_w = 1.0; + double m_gfxScale_h = 1.0; +-ulong m_defaultFore; +-ulong m_defaultBack; +-ulong m_colours[11]; +-ulong m_nonStdColours[NON_STD_COLS]; ++uint32_t m_defaultFore; ++uint32_t m_defaultBack; ++uint32_t m_colours[11]; ++uint32_t m_nonStdColours[NON_STD_COLS]; + int m_nonStdIndex; + bool m_exitPause = 0; + bool m_lineInput = 0; +@@ -478,7 +478,7 @@ + + + /* Get a colour */ +-ulong sf_GetColour(int colour) ++uint32_t sf_GetColour(int colour) + { + /* Standard colours */ + if ((colour >= BLACK_COLOUR) && (colour <= DARKGREY_COLOUR)) +@@ -500,7 +500,7 @@ + + + /* Get a default colour */ +-ulong sf_GetDefaultColour(bool fore) ++uint32_t sf_GetDefaultColour(bool fore) + { + if (m_IsInfocomV6) + return sf_GetColour(fore ? WHITE_COLOUR : BLACK_COLOUR); +@@ -509,7 +509,7 @@ + + + /* Get an index for a non-standard colour */ +-int sf_GetColourIndex(ulong colour) ++int sf_GetColourIndex(uint32_t colour) + { + int i, index = -1; + /* Is this a standard colour? */ +@@ -950,7 +950,7 @@ + int sf_getresource(int num, int ispic, int method, myresource * res) + { + int st; +- ulong usage; ++ uint32_t usage; + + res->bbres.data.ptr = NULL; + res->file = NULL; +@@ -981,7 +981,7 @@ + typedef struct { + void *next; + int num, ispic; +- ulong type; ++ uint32_t type; + char *name; + } LLENTRY; + +@@ -989,7 +989,7 @@ + + static int numlocal = 0, numlocalpic = 0, numlocalsnd = 0; + static int p_ispic, p_num; +-static ulong p_type; ++static uint32_t p_type; + static char *p_name; + + +--- a/src/sdl/sf_video.c ++++ b/src/sdl/sf_video.c +@@ -31,7 +31,7 @@ + + static char banner[256]; + static int isfullscreen; +-static ulong *sbuffer = NULL; ++static uint32_t *sbuffer = NULL; + static int sbpitch; /* in longs */ + static int dirty = 0; + static int ewidth, eheight; +@@ -45,7 +45,7 @@ + static void sf_quitconf(); + + static bool ApplyPalette(sf_picture *); +-static ulong screen_palette[16]; ++static uint32_t screen_palette[16]; + + extern z_header_t z_header; + +@@ -99,7 +99,7 @@ + } + + +-void sf_wpixel(int x, int y, ulong c) ++void sf_wpixel(int x, int y, uint32_t c) + { + if (x < xmin || x >= xmax || y < ymin || y >= ymax) + return; +@@ -108,7 +108,7 @@ + } + + +-ulong sf_rpixel(int x, int y) ++uint32_t sf_rpixel(int x, int y) + { + if (x < 0 || x >= ewidth || y < 0 || y >= eheight) + return 0; +@@ -116,7 +116,7 @@ + } + + #define MAXCUR 64 +-static ulong savedcur[MAXCUR]; ++static uint32_t savedcur[MAXCUR]; + + static void drawthecursor(int x, int y, int onoff) + { +@@ -156,9 +156,9 @@ + } + + +-void sf_chline(int x, int y, ulong c, int n) ++void sf_chline(int x, int y, uint32_t c, int n) + { +- ulong *s; ++ uint32_t *s; + if (y < ymin || y >= ymax) + return; + if (x < xmin) { +@@ -176,9 +176,9 @@ + } + + +-void sf_cvline(int x, int y, ulong c, int n) ++void sf_cvline(int x, int y, uint32_t c, int n) + { +- ulong *s; ++ uint32_t *s; + if (x < xmin || x >= xmax) + return; + if (y < xmin) { +@@ -198,9 +198,9 @@ + } + + +-ulong sf_blendlinear(int a, ulong s, ulong d) ++uint32_t sf_blendlinear(int a, uint32_t s, uint32_t d) + { +- ulong r; ++ uint32_t r; + r = ((s & 0xff) * a + (d & 0xff) * (256 - a)) >> 8; + s >>= 8; + d >>= 8; +@@ -234,7 +234,7 @@ + int height = ts->font->height(ts->font); + int width; + +- ulong color, bc; ++ uint32_t color, bc; + + if ((ts->style & REVERSE_STYLE) != 0) { + bc = ts->fore; +@@ -262,7 +262,7 @@ + int t = *bmp++; + if (xx < byw) { + if (t) { +- ulong sval = color; ++ uint32_t sval = color; + if (t < 255) + sval = sf_blend((int) (t + (t >> 7)), sval, sf_rpixel(x + xx, y)); + sf_wpixel(x + xx, y, sval); +@@ -292,7 +292,7 @@ + + void sf_fillrect(unsigned long color, int x, int y, int w, int h) + { +- ulong *dst; ++ uint32_t *dst; + int i; + if (x < xmin) { + w += x - xmin; +@@ -380,7 +380,7 @@ + + static void scroll(int x, int y, int w, int h, int n) + { +- ulong *src, *dst; ++ uint32_t *src, *dst; + int nmove, step; + if (n > 0) { + dst = sbuffer + x + sbpitch * y; +@@ -397,7 +397,7 @@ + return; + if (nmove > 0) { + while (nmove--) { +- memmove(dst, src, w * sizeof(ulong)); ++ memmove(dst, src, w * sizeof(uint32_t)); + dst += step; + src += step; + } +@@ -414,7 +414,7 @@ + { + if (dirty) { + SDL_UpdateTexture(texture, NULL, sbuffer, +- sbpitch * sizeof(ulong)); ++ sbpitch * sizeof(uint32_t)); + myGrefresh(); + dirty = 0; + return true; +@@ -537,7 +537,7 @@ + SDL_TEXTUREACCESS_STREAMING, W, H))) + os_fatal("Failed to create texture: %s", SDL_GetError()); + +- sbuffer = calloc(W * H, sizeof(ulong)); ++ sbuffer = calloc(W * H, sizeof(uint32_t)); + if (!sbuffer) + os_fatal("Could not create gc"); + +@@ -564,7 +564,7 @@ + int ox, oy, ow, oh; + Zwindow *winpars; + sf_picture *pic = sf_getpic(picture); +- ulong *src, *dst, sval, dval, alpha; ++ uint32_t *src, *dst, sval, dval, alpha; + + sf_flushtext(); + +@@ -572,7 +572,7 @@ + return; + if (!pic->pixels) + return; +- src = (ulong *) pic->pixels; ++ src = (uint32_t *) pic->pixels; + + x--; + y--; +@@ -673,7 +673,7 @@ + } + + +-static ulong mytimeout; ++static uint32_t mytimeout; + int mouse_button; + static int numAltQ = 0; + +@@ -1238,9 +1238,9 @@ + } + + +-ulong *sf_savearea(int x, int y, int w, int h) ++uint32_t *sf_savearea(int x, int y, int w, int h) + { +- ulong *r, *p, *s; ++ uint32_t *r, *p, *s; + int i; + + if (x < 0) { +@@ -1261,7 +1261,7 @@ + if (h <= 0) + return NULL; + +- r = p = malloc((w * h + 4) * sizeof(ulong)); ++ r = p = malloc((w * h + 4) * sizeof(uint32_t)); + if (!r) + return NULL; + +@@ -1272,7 +1272,7 @@ + + s = sbuffer + x + y * sbpitch; + for (i = 0; i < h; i++) { +- memmove(p, s, w * sizeof(ulong)); ++ memmove(p, s, w * sizeof(uint32_t)); + p += w; + s += sbpitch; + } +@@ -1280,9 +1280,9 @@ + } + + +-void sf_restoreareaandfree(ulong * s) ++void sf_restoreareaandfree(uint32_t * s) + { +- ulong *p, *d; ++ uint32_t *p, *d; + int i, x, y, w, h; + if (!s) + return; +@@ -1295,7 +1295,7 @@ + + d = sbuffer + x + y * sbpitch; + for (i = 0; i < h; i++) { +- memmove(d, p, w * sizeof(ulong)); ++ memmove(d, p, w * sizeof(uint32_t)); + p += w; + d += sbpitch; + } +@@ -1307,7 +1307,7 @@ + + + int (*sf_osdialog)(bool ex, const char *def, const char *filt, const char *tit, +- char **res, ulong * sbuf, int sbp, int ew, int eh, ++ char **res, uint32_t * sbuf, int sbp, int ew, int eh, + int isfull) = NULL; + + +@@ -1322,7 +1322,7 @@ + } + + +-void sf_videodata(ulong ** sb, int *sp, int *ew, int *eh) ++void sf_videodata(uint32_t ** sb, int *sp, int *ew, int *eh) + { + *sb = sbuffer; + *sp = sbpitch; +@@ -1367,7 +1367,7 @@ + bool changed = FALSE; + int i, colors; + +- memset(&screen_palette, 0, sizeof(ulong)); ++ memset(&screen_palette, 0, sizeof(uint32_t)); + + if (graphic->usespalette) { + colors = graphic->palette_entries; +--- a/src/sdl/sf_images.c ++++ b/src/sdl/sf_images.c +@@ -38,9 +38,9 @@ + static byte fromLinear[256]; + extern bool m_adaptiveMode; + +-ulong sf_blend(int a, ulong s, ulong d) ++uint32_t sf_blend(int a, uint32_t s, uint32_t d) + { +- ulong r; ++ uint32_t r; + r = fromLinear[(toLinear[s & 0xff] * a + + toLinear[d & 0xff] * (256 - a)) >> 8]; + s >>= 8; +@@ -186,7 +186,7 @@ + if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette)) { + graphic->palette_entries = num_palette; + for (int i = 0; i < num_palette; i++) { +- ulong color = ++ uint32_t color = + palette[i].red | (palette[i]. + green << 8) | (palette[i]. + blue << diff --git a/games-engines/frotz/frotz-2.52.ebuild b/games-engines/frotz/frotz-2.53-r1.ebuild index cab60c1ec299..773b24490f66 100644 --- a/games-engines/frotz/frotz-2.52.ebuild +++ b/games-engines/frotz/frotz-2.53-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,13 +11,13 @@ SRC_URI="https://gitlab.com/DavidGriffith/${PN}/-/archive/${PV}/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="~amd64 ~arm ~riscv ~x86" IUSE="ncurses sdl sound unicode" REQUIRED_USE="sound? ( || ( ncurses sdl ) )" DEPEND=" ncurses? ( - sys-libs/ncurses:0=[unicode?] + sys-libs/ncurses:=[unicode(+)?] sound? ( media-libs/libao media-libs/libmodplug @@ -38,6 +38,10 @@ DEPEND=" RDEPEND="${DEPEND}" BDEPEND="virtual/pkgconfig" +PATCHES=( + "${FILESDIR}"/${PN}-2.53-uint32.patch +) + src_compile() { emake \ dumb \ diff --git a/games-engines/frotz/frotz-2.53.ebuild b/games-engines/frotz/frotz-2.53.ebuild deleted file mode 100644 index f03a3d070289..000000000000 --- a/games-engines/frotz/frotz-2.53.ebuild +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs - -DESCRIPTION="Interpreter for Z-code based text games" -HOMEPAGE="https://661.org/proj/if/frotz/" -SRC_URI="https://gitlab.com/DavidGriffith/${PN}/-/archive/${PV}/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="ncurses sdl sound unicode" -REQUIRED_USE="sound? ( || ( ncurses sdl ) )" - -DEPEND=" - ncurses? ( - sys-libs/ncurses:0=[unicode?] - sound? ( - media-libs/libao - media-libs/libmodplug - media-libs/libsamplerate - media-libs/libsndfile[-minimal] - media-libs/libvorbis - ) - ) - sdl? ( - media-libs/freetype:2 - media-libs/libpng:0= - media-libs/libsdl2[sound,threads,video] - media-libs/sdl2-mixer[mod,vorbis,wav] - sys-libs/zlib - virtual/jpeg:0= - ) -" -RDEPEND="${DEPEND}" -BDEPEND="virtual/pkgconfig" - -src_compile() { - emake \ - dumb \ - $(use ncurses && echo ncurses) \ - $(use sdl && echo sdl) \ - AR="$(tc-getAR)" \ - CC="$(tc-getCC)" \ - PKG_CONFIG="$(tc-getPKG_CONFIG)" \ - RANLIB="$(tc-getRANLIB)" \ - CURSES=$(usex unicode ncursesw ncurses) \ - USE_UTF8=$(usex unicode yes "") \ - SOUND_TYPE=$(usex sound ao none) \ - PREFIX="${EPREFIX}/usr" \ - SYSCONFDIR="${EPREFIX}/etc" -} - -src_install() { - emake \ - install_dumb \ - $(use ncurses && echo install) \ - $(use sdl && echo install_sdl) \ - PREFIX="${EPREFIX}/usr" \ - DESTDIR="${D}" - - dodoc \ - AUTHORS ChangeLog CONTRIBUTORS DUMB HOW_TO_PLAY README TODO \ - doc/frotz.conf-{big,small} -} - -pkg_postinst() { - echo - elog "Global config file can be installed in ${EPREFIX}/etc/frotz.conf" - elog "Sample config files are in ${EPREFIX}/usr/share/doc/${PF}" - echo -} diff --git a/games-engines/frotz/metadata.xml b/games-engines/frotz/metadata.xml index 455473e4c7c5..75933998679f 100644 --- a/games-engines/frotz/metadata.xml +++ b/games-engines/frotz/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> 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/gargoyle/metadata.xml b/games-engines/gargoyle/metadata.xml index 23812106384b..39b25389f995 100644 --- a/games-engines/gargoyle/metadata.xml +++ b/games-engines/gargoyle/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-engines/love/Manifest b/games-engines/love/Manifest index dc1d7facea60..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.3-linux-src.tar.gz 2898851 BLAKE2B ae854dbe1f98fa2adaf118ac01b7519f87cbf684dff45622e0de6503a514bc6336c469b08a6c19ae55f7a0d65063bebffe0dc1d0a72483a9032902469c1c643f SHA512 d02900bbad658da7127bdbc52ceb8282a725b32d6a17fc51962327411be94f81b2c871d21b3c4bd8492a4ca355c3cfb1f04a7fe010d6c69ae35c7c5d64579e1b +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.3-r100.ebuild b/games-engines/love/love-11.4.ebuild index 4de07ea8e793..5cb3aaec9bc9 100644 --- a/games-engines/love/love-11.3-r100.ebuild +++ b/games-engines/love/love-11.4.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -LUA_COMPAT=( lua5-{1..3} luajit ) +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 @@ -20,6 +20,7 @@ HOMEPAGE="https://love2d.org/" LICENSE="ZLIB" SLOT="0" +IUSE="gme" REQUIRED_USE="${LUA_REQUIRED_USE}" @@ -28,12 +29,12 @@ RDEPEND="sys-libs/zlib media-libs/freetype media-libs/libmodplug media-libs/libsdl2[joystick,opengl] - media-libs/libogg media-libs/libtheora media-libs/libvorbis media-libs/openal media-sound/mpg123 - virtual/opengl" + virtual/opengl + gme? ( media-libs/game-music-emu )" DEPEND="${RDEPEND}" DOCS=( "readme.md" "changes.txt" ) @@ -46,21 +47,21 @@ src_prepare() { } src_configure() { - econf --with-lua=$(usex lua_single_target_luajit luajit lua) \ + # 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 - - if [[ ${SLOT} != 0 ]]; then - mv "${ED}/usr/bin/${PN}" "${ED}/usr/bin/${PN}-${SLOT}" || die - mv "${ED}"/usr/share/applications/love{,"-$SLOT"}.desktop || die - sed -i -e "/^Name=/s/$/ ($SLOT)/" -e "s|/usr/bin/love|/usr/bin/love-$SLOT|" "${ED}/usr/share/applications/love-$SLOT.desktop" || die - rm -r "${ED}"/usr/{lib64/liblove.so,share/{mime/,pixmaps/,icons/,man/}} || die - fi } pkg_postinst() { 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/love-9999.ebuild b/games-engines/love/love-9999.ebuild index 4de07ea8e793..fcc2e07df8e9 100644 --- a/games-engines/love/love-9999.ebuild +++ b/games-engines/love/love-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -LUA_COMPAT=( lua5-{1..3} luajit ) +LUA_COMPAT=( lua5-{1..4} luajit ) inherit lua-single xdg-utils @@ -20,6 +20,7 @@ HOMEPAGE="https://love2d.org/" LICENSE="ZLIB" SLOT="0" +IUSE="gme" REQUIRED_USE="${LUA_REQUIRED_USE}" @@ -28,12 +29,12 @@ RDEPEND="sys-libs/zlib media-libs/freetype media-libs/libmodplug media-libs/libsdl2[joystick,opengl] - media-libs/libogg media-libs/libtheora media-libs/libvorbis media-libs/openal media-sound/mpg123 - virtual/opengl" + virtual/opengl + gme? ( media-libs/game-music-emu )" DEPEND="${RDEPEND}" DOCS=( "readme.md" "changes.txt" ) @@ -46,21 +47,18 @@ src_prepare() { } src_configure() { - econf --with-lua=$(usex lua_single_target_luajit luajit lua) \ + 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 - - if [[ ${SLOT} != 0 ]]; then - mv "${ED}/usr/bin/${PN}" "${ED}/usr/bin/${PN}-${SLOT}" || die - mv "${ED}"/usr/share/applications/love{,"-$SLOT"}.desktop || die - sed -i -e "/^Name=/s/$/ ($SLOT)/" -e "s|/usr/bin/love|/usr/bin/love-$SLOT|" "${ED}/usr/share/applications/love-$SLOT.desktop" || die - rm -r "${ED}"/usr/{lib64/liblove.so,share/{mime/,pixmaps/,icons/,man/}} || die - fi } pkg_postinst() { diff --git a/games-engines/love/metadata.xml b/games-engines/love/metadata.xml index 3e5026ee3754..e3aef72b5ad7 100644 --- a/games-engines/love/metadata.xml +++ b/games-engines/love/metadata.xml @@ -1,8 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> <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> </pkgmetadata> diff --git a/games-engines/metadata.xml b/games-engines/metadata.xml index 2bc4c609093b..84ceecc635a4 100644 --- a/games-engines/metadata.xml +++ b/games-engines/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <catmetadata> <longdescription lang="en"> The games-engines category contains game engines. 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 44fab4decbb6..ec0da44a3f5b 100644 --- a/games-engines/odamex/Manifest +++ b/games-engines/odamex/Manifest @@ -1,2 +1 @@ -DIST odamex-0.8.3.tar.bz2 8532510 BLAKE2B 751d65dfe07a4c4c0cb5ff360e76a1291cf4ba289c459f15a0c277aca4d15b1e0989e1606cdc4e0f0bec56d6ae437027046302f5c55efb3b835a42df512fb18f SHA512 01a875973d43c87dde7953464e0e3c37fa088b00b6cc0ecbef1a8b3b9a87257ab24ef4e3c224ebcbc0e38cd3139c7adc56b12a03ae2528b66d6498bb8d84d720 -DIST odamex-0.9.0.tar.bz2 6644055 BLAKE2B 656a469665783e0a5aa1a39792454a7ec34843b7fa11539f5504463701b5485eed0b5fabcd4f9f39eef3bdad9062f657c0b1d6147bcd41defa4142b51b4096a4 SHA512 f86e61afd5fdd9be6db03554e07fa140fdcc61747ce9312706af2cada8ec88705647abdfff4f221d8cfbd4a53b991e08edf4cbf0025cf6e5a74d2213fc662855 +DIST odamex-src-10.4.0.tar.xz 17255540 BLAKE2B bdfb357424bd1712cf763f5e6109b67910e518703e8a29fa3b071f73302beea2d3e7ed63a4e7195c367a01947ad829a78967cc77acfe3455a6e2094ca33b6590 SHA512 bea6a2e70e6bdab6a1d6b5beccf981b7570142cdabc6e54935601c5fd966e1a0e7935aa6b492185165440b31899fa6240f038a75d4741a92520e6e9be935ef7b diff --git a/games-engines/odamex/files/odamex-0.8.1-miniupnpc.patch b/games-engines/odamex/files/odamex-0.8.1-miniupnpc.patch deleted file mode 100644 index 5fca5815162b..000000000000 --- a/games-engines/odamex/files/odamex-0.8.1-miniupnpc.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 656306d3e68f7f1f1441f03e1765530f34ea2611 Mon Sep 17 00:00:00 2001 -From: Julian Ospald <hasufell@gentoo.org> -Date: Thu, 27 Mar 2014 21:16:02 +0000 -Subject: [PATCH] unbundle miniupnpc - ---- - CMakeLists.txt | 1 - - server/CMakeLists.txt | 5 ++--- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0cafdbd5..00e033a9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -124,7 +124,6 @@ if (USE_MINIUPNP) - set(UPNPC_BUILD_TESTS OFF CACHE INTERNAL "" FORCE)
- set(UPNPC_INSTALL OFF CACHE INTERNAL "" FORCE)
- mark_as_advanced(FORCE UPNPC_INSTALL)
-- add_subdirectory(libraries/libminiupnpc)
- endif()
-
- # Subdirectories for Odamex projects
-diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt -index d8e57257..5badceef 100644 ---- a/server/CMakeLists.txt -+++ b/server/CMakeLists.txt -@@ -35,8 +35,7 @@ set(JSONCPP_SOURCE ${JSONCPP_DIR}/jsoncpp.cpp) - - # MiniUPnPc - if (USE_MINIUPNP) -- set(MINIUPNPC_DIR ../libraries/libminiupnpc) -- set(MINIUPNPC_STATIC_LIBRARIES upnpc-static) -+ set(MINIUPNPC_DIR /usr/include/miniupnpc) - endif() - - # git describe -@@ -74,7 +73,7 @@ add_executable(odasrv - ${SERVER_WIN32_HEADERS} ${SERVER_WIN32_RESOURCES}) - - if (USE_MINIUPNP) -- target_link_libraries(odasrv ${MINIUPNPC_STATIC_LIBRARIES}) -+ target_link_libraries(odasrv -lminiupnpc) - endif() - - if(WIN32) --- -2.23.0 - diff --git a/games-engines/odamex/files/odamex-0.8.3-Use-C-11-on-odalaunch-target-for-wx-3.0.4-and-up.patch b/games-engines/odamex/files/odamex-0.8.3-Use-C-11-on-odalaunch-target-for-wx-3.0.4-and-up.patch deleted file mode 100644 index 935d43466c41..000000000000 --- a/games-engines/odamex/files/odamex-0.8.3-Use-C-11-on-odalaunch-target-for-wx-3.0.4-and-up.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9e3ae8538475e6f15757ce51e214f5cd29f223e7 Mon Sep 17 00:00:00 2001 -From: Michael Wood <mwoodj@huntsvegas.org> -Date: Tue, 25 Aug 2020 02:34:37 -0500 -Subject: [PATCH] Use C++11 on odalaunch target for wx 3.0.4 and up - -This addresses bug #1311. wxWidgets 3.0.4 requires C++11 support. ---- - odalaunch/CMakeLists.txt | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/odalaunch/CMakeLists.txt b/odalaunch/CMakeLists.txt -index f68a4d4d..4abbe0d8 100644 ---- a/odalaunch/CMakeLists.txt -+++ b/odalaunch/CMakeLists.txt -@@ -32,6 +32,11 @@ endif() -
- # Odalaunch target
- if(wxWidgets_FOUND)
-+ # wxWidgets 3.0.4 requires C++11
-+ if(wxWidgets_VERSION_STRING VERSION_GREATER 3.0.3)
-+ set(CMAKE_CXX_STANDARD 11)
-+ endif()
-+
- add_custom_command(
- OUTPUT ${XRCRES_HEADER}
- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/res
--- -2.28.0 - diff --git a/games-engines/odamex/files/odamex-0.9.0-Set-IMPORTED_LOCATION-for-jsoncpp.patch b/games-engines/odamex/files/odamex-0.9.0-Set-IMPORTED_LOCATION-for-jsoncpp.patch deleted file mode 100644 index 654085d1d252..000000000000 --- a/games-engines/odamex/files/odamex-0.9.0-Set-IMPORTED_LOCATION-for-jsoncpp.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 3707d8ebad7a4a0664ca4d5a5a5bef4a276af6a2 Mon Sep 17 00:00:00 2001 -From: William Breathitt Gray <vilhelm.gray@gmail.com> -Date: Mon, 29 Mar 2021 20:30:10 +0900 -Subject: [PATCH] Set IMPORTED_LOCATION for jsoncpp - ---- - libraries/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libraries/CMakeLists.txt b/libraries/CMakeLists.txt -index 2ffe95a5..a7dcb83b 100644 ---- a/libraries/CMakeLists.txt -+++ b/libraries/CMakeLists.txt -@@ -172,6 +172,7 @@ if(BUILD_SERVER) - INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/local/include" - IMPORTED_LOCATION_DEBUG ${JSONCPP_LIBRARY_DEBUG} - IMPORTED_LOCATION_RELEASE ${JSONCPP_LIBRARY_RELEASE} -+ IMPORTED_LOCATION ${JSONCPP_LIBRARY_RELEASE} - MAP_IMPORTED_CONFIG_MINSIZEREL Release - MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release) - endif() --- -2.31.0 - diff --git a/games-engines/odamex/files/odamex-0.9.0-Unbundle-miniupnpc.patch b/games-engines/odamex/files/odamex-0.9.0-Unbundle-miniupnpc.patch deleted file mode 100644 index 77b6220041da..000000000000 --- a/games-engines/odamex/files/odamex-0.9.0-Unbundle-miniupnpc.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 4b9a8ca565e5cd388a49cd0fbe693b5332577c57 Mon Sep 17 00:00:00 2001 -From: William Breathitt Gray <vilhelm.gray@gmail.com> -Date: Mon, 22 Mar 2021 18:20:15 +0900 -Subject: [PATCH] Unbundle miniupnpc - ---- - libraries/CMakeLists.txt | 42 ---------------------------------------- - server/CMakeLists.txt | 3 ++- - 2 files changed, 2 insertions(+), 43 deletions(-) - -diff --git a/libraries/CMakeLists.txt b/libraries/CMakeLists.txt -index 177a86a2..2ffe95a5 100644 ---- a/libraries/CMakeLists.txt -+++ b/libraries/CMakeLists.txt -@@ -227,48 +227,6 @@ endif() - - ### MiniUPnPc ### - --if(BUILD_SERVER) -- message(STATUS "Compiling MiniUPnPc...") -- -- # Figure out the correct library path to attach to our imported target -- set(MINIUPNPC_INCLUDE_DIR -- "${CMAKE_CURRENT_BINARY_DIR}/local/include/miniupnpc") -- set(MINIUPNPC_LIBRARY -- "${CMAKE_CURRENT_BINARY_DIR}/local/lib/${libprefix}miniupnpc${libsuffix}") -- -- # This must exist before the target is synthesized. -- file(MAKE_DIRECTORY ${MINIUPNPC_INCLUDE_DIR}) -- -- # Generate the build. -- execute_process(COMMAND "${CMAKE_COMMAND}" -- -S "${CMAKE_CURRENT_SOURCE_DIR}/libminiupnpc" -- -B "${CMAKE_CURRENT_BINARY_DIR}/libminiupnpc-build" -- -G "${CMAKE_GENERATOR}" -- -A "${CMAKE_GENERATOR_PLATFORM}" -- -T "${CMAKE_GENERATOR_TOOLSET}" -- "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" -- "-DCMAKE_LINKER=${CMAKE_LINKER}" -- "-DCMAKE_RC_COMPILER=${CMAKE_RC_COMPILER}" -- "-DCMAKE_BUILD_TYPE=RelWithDebInfo" -- "-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/local" -- "-DCMAKE_INSTALL_LIBDIR=lib" # Without this, CentOS installs into lib64 -- "-DUPNPC_BUILD_SHARED=No" -- "-DUPNPC_BUILD_TESTS=No") -- -- # Compile the library. -- execute_process(COMMAND "${CMAKE_COMMAND}" -- --build "${CMAKE_CURRENT_BINARY_DIR}/libminiupnpc-build" -- --config RelWithDebInfo --target install --parallel ${PARALLEL_PROC_COUNT}) -- -- # 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}" -- IMPORTED_LOCATION ${MINIUPNPC_LIBRARY}) -- if(WIN32) -- set_target_properties(upnpc-static PROPERTIES INTERFACE_LINK_LIBRARIES "ws2_32;iphlpapi") -- endif() --endif() - - ### SDL libraries ### - -diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt -index 73a70000..e4b085f2 100644 ---- a/server/CMakeLists.txt -+++ b/server/CMakeLists.txt -@@ -53,7 +53,8 @@ endif() - target_link_libraries(odasrv jsoncpp odamex-common) - - if(USE_MINIUPNP) -- target_link_libraries(odasrv upnpc-static) -+ target_include_directories(odasrv SYSTEM PRIVATE "/usr/include/miniupnpc") -+ target_link_libraries(odasrv -lminiupnpc) - endif() - - if(WIN32) --- -2.31.0 - diff --git a/games-engines/odamex/files/odamex-10.3.0-unbundle-fltk.patch b/games-engines/odamex/files/odamex-10.3.0-unbundle-fltk.patch new file mode 100644 index 000000000000..6cc6a1d18241 --- /dev/null +++ b/games-engines/odamex/files/odamex-10.3.0-unbundle-fltk.patch @@ -0,0 +1,87 @@ +From 8a2b7c043fe86916d56044d7489f8dce6ed2d479 Mon Sep 17 00:00:00 2001 +From: James Le Cuirot <chewi@gentoo.org> +Date: Sun, 27 Feb 2022 14:01:33 +0000 +Subject: [PATCH 3/3] Allow building against the system FLTK library + +`USE_INTERNAL_FLTK` defaults to true and ignores `USE_INTERNAL_LIBS` +because users are unlikely to have it installed. + +Odamex makes of use screen scaling features in FLTK that have not yet +been released. This change therefore checks for the Fl::screen_scale +symbol and skips the associated code if it is absent. In practise, this +only affects the size of the dialog window on HiDPI screens. The game +window is unaffected. + +Tested against FLTK 1.3.5 on Gentoo Linux. + +--- 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 )
++cmake_dependent_option( USE_INTERNAL_FLTK "Use internal FLTK" 1 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 )
+--- 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) ++ else() ++ set(FLTK_SKIP_OPENGL 1) ++ set(FLTK_SKIP_FORMS 1) ++ set(FLTK_SKIP_FLUID 1) ++ find_package(FLTK REQUIRED) ++ target_include_directories(odamex SYSTEM PRIVATE ${FLTK_INCLUDE_DIR}) ++ ++ include(CheckCXXSymbolExists) ++ set(CMAKE_REQUIRED_INCLUDES ${FLTK_INCLUDE_DIR}) ++ set(CMAKE_REQUIRED_LIBRARIES ${FLTK_LIBRARIES}) ++ check_cxx_symbol_exists(Fl::screen_scale "FL/Fl.H" HAVE_FLTK_SCREEN_SCALE) ++ endif() ++ ++ if(HAVE_FLTK_SCREEN_SCALE) ++ target_compile_definitions(odamex PRIVATE HAVE_FLTK_SCREEN_SCALE) ++ endif() ++ ++ target_link_libraries(odamex ${FLTK_LIBRARIES}) ++ endif() + + if(ENABLE_PORTMIDI) + 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 @@ + */ + scannedWADs_t GUI_BootWindow() + { ++#ifdef HAVE_FLTK_SCREEN_SCALE + // Scale according to 1600x900. + Fl::screen_scale(0, MAX(Fl::h() / 900.0f, 1.0f)); + + // This feature is too clever by half, and in my experience just + // deforms the window. + Fl::keyboard_screen_scaling(0); ++#endif + + BootWindow* win = MakeBootWindow(); + win->initWADDirs(); +--- 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) + set(_FLTK_BUILDGEN_PARAMS + "-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-musl.patch b/games-engines/odamex/files/odamex-musl.patch new file mode 100644 index 000000000000..bf6f2999ba49 --- /dev/null +++ b/games-engines/odamex/files/odamex-musl.patch @@ -0,0 +1,119 @@ +From deb113e672588879697ae3343c5d3f1616d13503 Mon Sep 17 00:00:00 2001 +From: James Le Cuirot <chewi@gentoo.org> +Date: Sat, 30 Mar 2024 22:39:14 +0000 +Subject: [PATCH] Include <ctime> wherever time_t is used to fix musl + +--- + client/src/m_menu.cpp | 2 ++ + client/src/v_screenshot.cpp | 2 ++ + common/c_dispatch.cpp | 1 + + common/cmdlib.h | 1 + + common/p_user.cpp | 2 ++ + server/src/c_console.cpp | 2 ++ + server/src/sv_banlist.cpp | 1 + + server/src/sv_banlist.h | 1 + + 8 files changed, 12 insertions(+) + +diff --git a/client/src/m_menu.cpp b/client/src/m_menu.cpp +index 6268e1819..f82cbf40d 100644 +--- a/client/src/m_menu.cpp ++++ b/client/src/m_menu.cpp +@@ -25,6 +25,8 @@ + + #include "odamex.h" + ++#include <ctime> ++ + #include "gstrings.h" + #include "c_console.h" + #include "c_dispatch.h" +diff --git a/client/src/v_screenshot.cpp b/client/src/v_screenshot.cpp +index 2f24cb184..375de5b9d 100644 +--- a/client/src/v_screenshot.cpp ++++ b/client/src/v_screenshot.cpp +@@ -24,6 +24,8 @@ + + #include "odamex.h" + ++#include <ctime> ++ + #include <SDL.h> + + #include <stdlib.h> +diff --git a/common/c_dispatch.cpp b/common/c_dispatch.cpp +index 504379aad..d30dd4e24 100644 +--- a/common/c_dispatch.cpp ++++ b/common/c_dispatch.cpp +@@ -26,6 +26,7 @@ + + #include <sstream> + #include <algorithm> ++#include <ctime> + + #include "cmdlib.h" + #include "c_console.h" +diff --git a/common/cmdlib.h b/common/cmdlib.h +index c7041837b..a20be7c4c 100644 +--- a/common/cmdlib.h ++++ b/common/cmdlib.h +@@ -24,6 +24,7 @@ + #pragma once + + #include <algorithm> ++#include <ctime> + + #ifdef _MSC_VER + #pragma warning(disable : 4244) // MIPS +diff --git a/common/p_user.cpp b/common/p_user.cpp +index d9a4bb965..461a3ef03 100644 +--- a/common/p_user.cpp ++++ b/common/p_user.cpp +@@ -26,6 +26,8 @@ + + #include "odamex.h" + ++#include <ctime> ++ + #include <limits.h> + + #include "cmdlib.h" +diff --git a/server/src/c_console.cpp b/server/src/c_console.cpp +index 34fcd19d9..57d7e71e2 100644 +--- a/server/src/c_console.cpp ++++ b/server/src/c_console.cpp +@@ -24,6 +24,8 @@ + + #include "odamex.h" + ++#include <ctime> ++ + #include <stdarg.h> + + #include "m_memio.h" +diff --git a/server/src/sv_banlist.cpp b/server/src/sv_banlist.cpp +index c271fe68c..36cdf9b63 100644 +--- a/server/src/sv_banlist.cpp ++++ b/server/src/sv_banlist.cpp +@@ -24,6 +24,7 @@ + + #include "odamex.h" + ++#include <ctime> + #include <sstream> + + #include "win32inc.h" +diff --git a/server/src/sv_banlist.h b/server/src/sv_banlist.h +index 6096f73fc..f4d686071 100644 +--- a/server/src/sv_banlist.h ++++ b/server/src/sv_banlist.h +@@ -23,6 +23,7 @@ + + #pragma once + ++#include <ctime> + #include <sstream> + + #include "json/json.h" +-- +2.44.0 + 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 ac392af534dc..6bc351136c9c 100644 --- a/games-engines/odamex/metadata.xml +++ b/games-engines/odamex/metadata.xml @@ -1,20 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person" proxied="yes"> - <email>vilhelm.gray@gmail.com</email> - <name>William Breathitt Gray</name> - </maintainer> <maintainer type="project"> <email>games@gentoo.org</email> <name>Gentoo Games Project</name> </maintainer> - <maintainer type="project" proxied="proxy"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> - </maintainer> <use> <flag name="client">Build client target</flag> + <flag name="hidpi">Use bundled FLTK 1.4, which has better support for HiDPI screens</flag> <flag name="master">Build master server target (advertises odamex server list)</flag> <flag name="odalaunch">Build the wxWidgets based launcher</flag> <flag name="portmidi">Enable PortMidi support</flag> @@ -24,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"> @@ -33,6 +27,6 @@ broader expanse of security features, personal configuration, gameplay options, and editing features. Odamex can run on a wide range of operating systems and hardware, so players should be able to play - on almost any platform. + on almost any platform. </longdescription> </pkgmetadata> diff --git a/games-engines/odamex/odamex-0.8.3.ebuild b/games-engines/odamex/odamex-0.8.3.ebuild deleted file mode 100644 index ff1b19128574..000000000000 --- a/games-engines/odamex/odamex-0.8.3.ebuild +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -WX_GTK_VER="3.0-gtk3" -inherit cmake desktop prefix wxwidgets xdg - -DESCRIPTION="Online multiplayer free software engine for DOOM" -HOMEPAGE="https://odamex.net/" -SRC_URI="mirror://sourceforge/${PN}/Odamex/${PV}/${PN}-src-${PV}.tar.bz2 -> ${P}.tar.bz2" - -LICENSE="GPL-2+ MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="+client master +odalaunch portmidi server upnp X" -REQUIRED_USE="|| ( client master server )" - -RDEPEND=" - client? ( - media-libs/libpng:0= - media-libs/libsdl2[joystick,sound,video] - media-libs/sdl2-mixer - odalaunch? ( x11-libs/wxGTK:${WX_GTK_VER}[X] ) - portmidi? ( media-libs/portmidi ) - X? ( x11-libs/libX11 ) - ) - server? ( - upnp? ( net-libs/miniupnpc:= ) - )" -DEPEND="${RDEPEND}" -BDEPEND="games-util/deutex" - -S="${WORKDIR}/${PN}-src-${PV}" - -PATCHES=( - "${FILESDIR}/${PN}-0.8.1-miniupnpc.patch" - "${FILESDIR}/${P}-Use-C-11-on-odalaunch-target-for-wx-3.0.4-and-up.patch" -) - -src_prepare() { - rm -r libraries/libminiupnpc wad/odamex.wad || die - hprefixify common/d_main.cpp - - use odalaunch && setup-wxwidgets - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X) - -DBUILD_CLIENT=$(usex client) - -DBUILD_MASTER=$(usex master) - -DBUILD_ODALAUNCH=$(usex odalaunch) - -DBUILD_SERVER=$(usex server) - -DENABLE_PORTMIDI=$(usex portmidi) - -DUSE_MINIUPNP=$(usex upnp) - ) - - cmake_src_configure -} - -src_install() { - if use client ; then - newicon -s 128 "${S}/media/icon_${PN}_128.png" "${PN}.png" - make_desktop_entry "${PN}" "Odamex" - - if use odalaunch ; then - newicon -s 128 "${S}/media/icon_odalaunch_128.png" "odalaunch.png" - make_desktop_entry odalaunch "Odamex Launcher" odalaunch - fi - fi - - cmake_src_install -} diff --git a/games-engines/odamex/odamex-0.9.0.ebuild b/games-engines/odamex/odamex-10.4.0-r3.ebuild index dc97bd284d12..8b0fd3fd1b7b 100644 --- a/games-engines/odamex/odamex-0.9.0.ebuild +++ b/games-engines/odamex/odamex-10.4.0-r3.ebuild @@ -1,30 +1,36 @@ -# 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 -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" HOMEPAGE="https://odamex.net/" -SRC_URI="mirror://sourceforge/${PN}/Odamex/${PV}/${PN}-src-${PV}.tar.bz2 -> ${P}.tar.bz2" - +SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${PN}-src-${PV}.tar.xz" +S="${WORKDIR}/${PN}-src-${PV}" LICENSE="GPL-2+ MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="+client 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 +# compatibility. We could use C++11, but upstream is concerned about using a +# completely different protobuf version on a multiplayer-focused engine. + RDEPEND=" client? ( media-libs/libpng:0= media-libs/libsdl2[joystick,sound,video] media-libs/sdl2-mixer - odalaunch? ( x11-libs/wxGTK:${WX_GTK_VER}[X] ) + 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} ) server? ( dev-libs/jsoncpp:= upnp? ( net-libs/miniupnpc:= ) @@ -32,15 +38,16 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND="games-util/deutex" -S="${WORKDIR}/${PN}-src-${PV}" - PATCHES=( - "${FILESDIR}/${P}-Unbundle-miniupnpc.patch" - "${FILESDIR}/${P}-Set-IMPORTED_LOCATION-for-jsoncpp.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 + "${FILESDIR}"/${PN}-musl.patch ) src_prepare() { - rm -r libraries/libminiupnpc || die + rm -r libraries/miniupnp || die hprefixify common/d_main.cpp use odalaunch && setup-wxwidgets @@ -50,8 +57,10 @@ src_prepare() { src_configure() { local mycmakeargs=( - -DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X) + -DUSE_INTERNAL_FLTK=$(usex hidpi) + -DUSE_INTERNAL_JSONCPP=0 -DUSE_INTERNAL_LIBS=0 + -DUSE_INTERNAL_MINIUPNP=0 -DBUILD_CLIENT=$(usex client) -DBUILD_LAUNCHER=$(usex odalaunch) -DBUILD_MASTER=$(usex master) @@ -66,11 +75,15 @@ 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 08b631916bce..1146884524c0 100644 --- a/games-engines/openmw/Manifest +++ b/games-engines/openmw/Manifest @@ -1,2 +1,2 @@ -DIST openmw-0.46.0-floattest.patch 43168 BLAKE2B 060b529fd4cd01f0fc723bb5a00a256b9c1ae4413c7b22581467cce75416e01041c3af22f0215ad9b1c475965a988065e0860c01c1e71d97454b022eec4779ea SHA512 0e165417e9ae047231fdc27b62251b33867f3782c1753f81705c886d6d3a433c8bbc3b4653a2555bc644bad11db9769d4bc2abcc84ca3ab23fabb6b80347bc32 -DIST openmw-0.46.0.tar.gz 5155004 BLAKE2B 8ad94a7fffe5a0739c56c778efe2ec17ef66c312a7fe5caf015cf3cad2bc17d2abe8cdc3f4134049a32fe55c4f4b3f72678d2d0ce1037fd02f6ac753b9d89b2c SHA512 da384aead300552817c0d0ce03515a5ccc95dcab4e02d4c1dd0d6c5f1b01ee01209bbaea74e2d12021e3465e49b051823bb018de39675c5a22c6892893624486 +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.46.0-fix-cast.patch b/games-engines/openmw/files/openmw-0.46.0-fix-cast.patch deleted file mode 100644 index f6e82cb3a2c9..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-fix-cast.patch +++ /dev/null @@ -1,214 +0,0 @@ -Fixes build on ~arch system, patch from upstream, to be dropped for 0.47 - -From 208a50340db5506dded60c05272ce9692773baa9 Mon Sep 17 00:00:00 2001 -From: elsid <elsid.mail@gmail.com> -Date: Mon, 13 Apr 2020 20:45:07 +0200 -Subject: [PATCH] Specialize DetourNavigator::ObjectId ctor for pointers - -To fix msvc error: -components\detournavigator\objectid.hpp(14,13): error C2440: 'reinterpret_cast': cannot convert from 'const T' to 'size_t' - with - [ - T=unsigned long - ] -diff --git a/apps/openmw_test_suite/detournavigator/tilecachedrecastmeshmanager.cpp b/apps/openmw_test_suite/detournavigator/tilecachedrecastmeshmanager.cpp -index 5275d9119e..e44ae48786 100644 ---- a/apps/openmw_test_suite/detournavigator/tilecachedrecastmeshmanager.cpp -+++ b/apps/openmw_test_suite/detournavigator/tilecachedrecastmeshmanager.cpp -@@ -61,15 +61,15 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- EXPECT_TRUE(manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground)); -+ EXPECT_TRUE(manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground)); - } - - TEST_F(DetourNavigatorTileCachedRecastMeshManagerTest, add_object_for_existing_object_should_return_false) - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -- EXPECT_FALSE(manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground)); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ EXPECT_FALSE(manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground)); - } - - TEST_F(DetourNavigatorTileCachedRecastMeshManagerTest, update_object_for_changed_object_should_return_changed_tiles) -@@ -77,9 +77,9 @@ namespace - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); - const btTransform transform(btMatrix3x3::getIdentity(), btVector3(getTileSize(mSettings) / mSettings.mRecastScaleFactor, 0, 0)); -- manager.addObject(ObjectId(1ul), boxShape, transform, AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, transform, AreaType::AreaType_ground); - EXPECT_THAT( -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground), -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground), - ElementsAre(TilePosition(-1, -1), TilePosition(-1, 0), TilePosition(0, -1), TilePosition(0, 0), - TilePosition(1, -1), TilePosition(1, 0)) - ); -@@ -89,9 +89,9 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ( -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground), -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground), - std::vector<TilePosition>() - ); - } -@@ -100,7 +100,7 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_NE(manager.getMesh(TilePosition(-1, -1)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(-1, 0)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr); -@@ -111,7 +111,7 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ(manager.getMesh(TilePosition(1, 0)), nullptr); - } - -@@ -121,13 +121,13 @@ namespace - const btBoxShape boxShape(btVector3(20, 20, 100)); - const btTransform transform(btMatrix3x3::getIdentity(), btVector3(getTileSize(mSettings) / mSettings.mRecastScaleFactor, 0, 0)); - -- manager.addObject(ObjectId(1ul), boxShape, transform, AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, transform, AreaType::AreaType_ground); - EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(0, 0)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(1, 0)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(1, -1)), nullptr); - -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_NE(manager.getMesh(TilePosition(-1, -1)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(-1, 0)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr); -@@ -140,11 +140,11 @@ namespace - const btBoxShape boxShape(btVector3(20, 20, 100)); - const btTransform transform(btMatrix3x3::getIdentity(), btVector3(getTileSize(mSettings) / mSettings.mRecastScaleFactor, 0, 0)); - -- manager.addObject(ObjectId(1ul), boxShape, transform, AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, transform, AreaType::AreaType_ground); - EXPECT_EQ(manager.getMesh(TilePosition(-1, -1)), nullptr); - EXPECT_EQ(manager.getMesh(TilePosition(-1, 0)), nullptr); - -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ(manager.getMesh(TilePosition(1, 0)), nullptr); - EXPECT_EQ(manager.getMesh(TilePosition(1, -1)), nullptr); - } -@@ -153,8 +153,8 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -- manager.removeObject(ObjectId(1ul)); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.removeObject(ObjectId(&boxShape)); - EXPECT_EQ(manager.getMesh(TilePosition(-1, -1)), nullptr); - EXPECT_EQ(manager.getMesh(TilePosition(-1, 0)), nullptr); - EXPECT_EQ(manager.getMesh(TilePosition(0, -1)), nullptr); -@@ -166,13 +166,13 @@ namespace - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); - -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_NE(manager.getMesh(TilePosition(-1, -1)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(-1, 0)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(0, 0)), nullptr); - -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_NE(manager.getMesh(TilePosition(-1, -1)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(-1, 0)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr); -@@ -184,7 +184,7 @@ namespace - TileCachedRecastMeshManager manager(mSettings); - const auto initialRevision = manager.getRevision(); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ(manager.getRevision(), initialRevision + 1); - } - -@@ -192,9 +192,9 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - const auto beforeAddRevision = manager.getRevision(); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ(manager.getRevision(), beforeAddRevision); - } - -@@ -203,9 +203,9 @@ namespace - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); - const btTransform transform(btMatrix3x3::getIdentity(), btVector3(getTileSize(mSettings) / mSettings.mRecastScaleFactor, 0, 0)); -- manager.addObject(ObjectId(1ul), boxShape, transform, AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, transform, AreaType::AreaType_ground); - const auto beforeUpdateRevision = manager.getRevision(); -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ(manager.getRevision(), beforeUpdateRevision + 1); - } - -@@ -213,9 +213,9 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - const auto beforeUpdateRevision = manager.getRevision(); -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ(manager.getRevision(), beforeUpdateRevision); - } - -@@ -223,9 +223,9 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - const auto beforeRemoveRevision = manager.getRevision(); -- manager.removeObject(ObjectId(1ul)); -+ manager.removeObject(ObjectId(&boxShape)); - EXPECT_EQ(manager.getRevision(), beforeRemoveRevision + 1); - } - -@@ -233,7 +233,7 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const auto beforeRemoveRevision = manager.getRevision(); -- manager.removeObject(ObjectId(1ul)); -+ manager.removeObject(ObjectId(&manager)); - EXPECT_EQ(manager.getRevision(), beforeRemoveRevision); - } - } -diff --git a/components/detournavigator/objectid.hpp b/components/detournavigator/objectid.hpp -index 3b56924b13..6ddcc9169d 100644 ---- a/components/detournavigator/objectid.hpp -+++ b/components/detournavigator/objectid.hpp -@@ -10,7 +10,7 @@ namespace DetourNavigator - { - public: - template <class T> -- explicit ObjectId(const T value) throw() -+ explicit ObjectId(T* value) throw() - : mValue(reinterpret_cast<std::size_t>(value)) - { - } diff --git a/games-engines/openmw/files/openmw-0.46.0-floattest2.patch b/games-engines/openmw/files/openmw-0.46.0-floattest2.patch deleted file mode 100644 index ca6e355eab7d..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-floattest2.patch +++ /dev/null @@ -1,139 +0,0 @@ -https://gitlab.com/OpenMW/openmw/-/merge_requests/253 - ---- a/apps/openmw_test_suite/detournavigator/navigator.cpp 2020-06-30 16:07:31.544410916 +0100 -+++ b/apps/openmw_test_suite/detournavigator/navigator.cpp 2020-06-30 16:08:50.405698937 +0100 -@@ -458,25 +458,25 @@ - - EXPECT_EQ(mNavigator->findPath(mAgentHalfExtents, mStepSize, mStart, mEnd, Flag_swim, mAreaCosts, mOut), Status::Success); - -- EXPECT_EQ(mPath, std::deque<osg::Vec3f>({ -- osg::Vec3f(0, 215, 185.33331298828125), -- osg::Vec3f(0, 186.6666717529296875, 185.33331298828125), -- osg::Vec3f(0, 158.333343505859375, 185.33331298828125), -- osg::Vec3f(0, 130.0000152587890625, 185.33331298828125), -- osg::Vec3f(0, 101.66667938232421875, 185.33331298828125), -- osg::Vec3f(0, 73.333343505859375, 185.33331298828125), -- osg::Vec3f(0, 45.0000152587890625, 185.33331298828125), -- osg::Vec3f(0, 16.6666812896728515625, 185.33331298828125), -- osg::Vec3f(0, -11.66664981842041015625, 185.33331298828125), -- osg::Vec3f(0, -39.999980926513671875, 185.33331298828125), -- osg::Vec3f(0, -68.33331298828125, 185.33331298828125), -- osg::Vec3f(0, -96.66664886474609375, 185.33331298828125), -- osg::Vec3f(0, -124.99997711181640625, 185.33331298828125), -- osg::Vec3f(0, -153.33331298828125, 185.33331298828125), -- osg::Vec3f(0, -181.6666412353515625, 185.33331298828125), -- osg::Vec3f(0, -209.999969482421875, 185.33331298828125), -- osg::Vec3f(0, -215, 185.33331298828125), -- })) << mPath; -+ EXPECT_THAT(mPath, ElementsAre( -+ Vec3fEq(0, 215, 185.33331298828125), -+ Vec3fEq(0, 186.6666717529296875, 185.33331298828125), -+ Vec3fEq(0, 158.333343505859375, 185.33331298828125), -+ Vec3fEq(0, 130.0000152587890625, 185.33331298828125), -+ Vec3fEq(0, 101.66667938232421875, 185.33331298828125), -+ Vec3fEq(0, 73.333343505859375, 185.33331298828125), -+ Vec3fEq(0, 45.0000152587890625, 185.33331298828125), -+ Vec3fEq(0, 16.6666812896728515625, 185.33331298828125), -+ Vec3fEq(0, -11.66664981842041015625, 185.33331298828125), -+ Vec3fEq(0, -39.999980926513671875, 185.33331298828125), -+ Vec3fEq(0, -68.33331298828125, 185.33331298828125), -+ Vec3fEq(0, -96.66664886474609375, 185.33331298828125), -+ Vec3fEq(0, -124.99997711181640625, 185.33331298828125), -+ Vec3fEq(0, -153.33331298828125, 185.33331298828125), -+ Vec3fEq(0, -181.6666412353515625, 185.33331298828125), -+ Vec3fEq(0, -209.999969482421875, 185.33331298828125), -+ Vec3fEq(0, -215, 185.33331298828125) -+ )); - } - - TEST_F(DetourNavigatorNavigatorTest, path_should_be_over_water_when_ground_cross_water_with_swim_and_walk_flags) -@@ -505,25 +505,25 @@ - EXPECT_EQ(mNavigator->findPath(mAgentHalfExtents, mStepSize, mStart, mEnd, Flag_swim | Flag_walk, mAreaCosts, mOut), - Status::Success); - -- EXPECT_EQ(mPath, std::deque<osg::Vec3f>({ -- osg::Vec3f(0, 215, -94.75363922119140625), -- osg::Vec3f(0, 186.6666717529296875, -106.0000152587890625), -- osg::Vec3f(0, 158.333343505859375, -115.85507965087890625), -- osg::Vec3f(0, 130.0000152587890625, -125.71016693115234375), -- osg::Vec3f(0, 101.66667938232421875, -135.5652313232421875), -- osg::Vec3f(0, 73.333343505859375, -143.3333587646484375), -- osg::Vec3f(0, 45.0000152587890625, -143.3333587646484375), -- osg::Vec3f(0, 16.6666812896728515625, -143.3333587646484375), -- osg::Vec3f(0, -11.66664981842041015625, -143.3333587646484375), -- osg::Vec3f(0, -39.999980926513671875, -143.3333587646484375), -- osg::Vec3f(0, -68.33331298828125, -143.3333587646484375), -- osg::Vec3f(0, -96.66664886474609375, -137.3043670654296875), -- osg::Vec3f(0, -124.99997711181640625, -127.44930267333984375), -- osg::Vec3f(0, -153.33331298828125, -117.59423065185546875), -- osg::Vec3f(0, -181.6666412353515625, -107.73915863037109375), -- osg::Vec3f(0, -209.999969482421875, -97.7971343994140625), -- osg::Vec3f(0, -215, -94.75363922119140625), -- })) << mPath; -+ EXPECT_THAT(mPath, ElementsAre( -+ Vec3fEq(0, 215, -94.75363922119140625), -+ Vec3fEq(0, 186.6666717529296875, -106.0000152587890625), -+ Vec3fEq(0, 158.333343505859375, -115.85507965087890625), -+ Vec3fEq(0, 130.0000152587890625, -125.71016693115234375), -+ Vec3fEq(0, 101.66667938232421875, -135.5652313232421875), -+ Vec3fEq(0, 73.333343505859375, -143.3333587646484375), -+ Vec3fEq(0, 45.0000152587890625, -143.3333587646484375), -+ Vec3fEq(0, 16.6666812896728515625, -143.3333587646484375), -+ Vec3fEq(0, -11.66664981842041015625, -143.3333587646484375), -+ Vec3fEq(0, -39.999980926513671875, -143.3333587646484375), -+ Vec3fEq(0, -68.33331298828125, -143.3333587646484375), -+ Vec3fEq(0, -96.66664886474609375, -137.3043670654296875), -+ Vec3fEq(0, -124.99997711181640625, -127.44930267333984375), -+ Vec3fEq(0, -153.33331298828125, -117.59423065185546875), -+ Vec3fEq(0, -181.6666412353515625, -107.73915863037109375), -+ Vec3fEq(0, -209.999969482421875, -97.7971343994140625), -+ Vec3fEq(0, -215, -94.75363922119140625) -+ )); - } - - TEST_F(DetourNavigatorNavigatorTest, path_should_be_over_water_when_ground_cross_water_with_max_int_cells_size_and_swim_and_walk_flags) -@@ -552,25 +552,25 @@ - EXPECT_EQ(mNavigator->findPath(mAgentHalfExtents, mStepSize, mStart, mEnd, Flag_swim | Flag_walk, mAreaCosts, mOut), - Status::Success); - -- EXPECT_EQ(mPath, std::deque<osg::Vec3f>({ -- osg::Vec3f(0, 215, -94.75363922119140625), -- osg::Vec3f(0, 186.6666717529296875, -106.0000152587890625), -- osg::Vec3f(0, 158.333343505859375, -115.85507965087890625), -- osg::Vec3f(0, 130.0000152587890625, -125.71016693115234375), -- osg::Vec3f(0, 101.66667938232421875, -135.5652313232421875), -- osg::Vec3f(0, 73.333343505859375, -143.3333587646484375), -- osg::Vec3f(0, 45.0000152587890625, -143.3333587646484375), -- osg::Vec3f(0, 16.6666812896728515625, -143.3333587646484375), -- osg::Vec3f(0, -11.66664981842041015625, -143.3333587646484375), -- osg::Vec3f(0, -39.999980926513671875, -143.3333587646484375), -- osg::Vec3f(0, -68.33331298828125, -143.3333587646484375), -- osg::Vec3f(0, -96.66664886474609375, -137.3043670654296875), -- osg::Vec3f(0, -124.99997711181640625, -127.44930267333984375), -- osg::Vec3f(0, -153.33331298828125, -117.59423065185546875), -- osg::Vec3f(0, -181.6666412353515625, -107.73915863037109375), -- osg::Vec3f(0, -209.999969482421875, -97.7971343994140625), -- osg::Vec3f(0, -215, -94.75363922119140625), -- })) << mPath; -+ EXPECT_THAT(mPath, ElementsAre( -+ Vec3fEq(0, 215, -94.75363922119140625), -+ Vec3fEq(0, 186.6666717529296875, -106.0000152587890625), -+ Vec3fEq(0, 158.333343505859375, -115.85507965087890625), -+ Vec3fEq(0, 130.0000152587890625, -125.71016693115234375), -+ Vec3fEq(0, 101.66667938232421875, -135.5652313232421875), -+ Vec3fEq(0, 73.333343505859375, -143.3333587646484375), -+ Vec3fEq(0, 45.0000152587890625, -143.3333587646484375), -+ Vec3fEq(0, 16.6666812896728515625, -143.3333587646484375), -+ Vec3fEq(0, -11.66664981842041015625, -143.3333587646484375), -+ Vec3fEq(0, -39.999980926513671875, -143.3333587646484375), -+ Vec3fEq(0, -68.33331298828125, -143.3333587646484375), -+ Vec3fEq(0, -96.66664886474609375, -137.3043670654296875), -+ Vec3fEq(0, -124.99997711181640625, -127.44930267333984375), -+ Vec3fEq(0, -153.33331298828125, -117.59423065185546875), -+ Vec3fEq(0, -181.6666412353515625, -107.73915863037109375), -+ Vec3fEq(0, -209.999969482421875, -97.7971343994140625), -+ Vec3fEq(0, -215, -94.75363922119140625) -+ )); - } - - TEST_F(DetourNavigatorNavigatorTest, path_should_be_over_ground_when_ground_cross_water_with_only_walk_flag) diff --git a/games-engines/openmw/files/openmw-0.46.0-gcc11.patch b/games-engines/openmw/files/openmw-0.46.0-gcc11.patch deleted file mode 100644 index 0dc3106fb3bf..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-gcc11.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/components/sceneutil/mwshadowtechnique.cpp b/components/sceneutil/mwshadowtechnique.cpp -index cb3a1b2..62cfeec 100644 ---- a/components/sceneutil/mwshadowtechnique.cpp -+++ b/components/sceneutil/mwshadowtechnique.cpp -@@ -24,6 +24,7 @@ - #include <osg/io_utils> - - #include <sstream> -+#include <limits> - - namespace { - -diff --git a/components/sceneutil/shadow.cpp b/components/sceneutil/shadow.cpp -index 035c19a..aba1b81 100644 ---- a/components/sceneutil/shadow.cpp -+++ b/components/sceneutil/shadow.cpp -@@ -4,6 +4,7 @@ - - #include <components/sceneutil/vismask.hpp> - #include <components/settings/settings.hpp> -+#include <limits> - - namespace SceneUtil - { -diff --git a/components/terrain/quadtreeworld.cpp b/components/terrain/quadtreeworld.cpp -index f998b78..e0e47dd 100644 ---- a/components/terrain/quadtreeworld.cpp -+++ b/components/terrain/quadtreeworld.cpp -@@ -3,6 +3,7 @@ - #include <osgUtil/CullVisitor> - - #include <sstream> -+#include <limits> - - #include <components/misc/constants.hpp> - #include <components/sceneutil/mwshadowtechnique.hpp> diff --git a/games-engines/openmw/files/openmw-0.46.0-missing-include.patch b/games-engines/openmw/files/openmw-0.46.0-missing-include.patch deleted file mode 100644 index 803707498e43..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-missing-include.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fixes build on ~arch system, patch from upstream, to be dropped for 0.47 - -From 10daadefbea1f62a818c339dc7f3d69a858bc8a6 Mon Sep 17 00:00:00 2001 -From: elsid <elsid.mail@gmail.com> -Date: Thu, 30 Apr 2020 21:57:22 +0200 -Subject: [PATCH] Add missing include - -diff --git a/components/detournavigator/offmeshconnectionsmanager.hpp b/components/detournavigator/offmeshconnectionsmanager.hpp -index 30d7976aec..155ce32963 100644 ---- a/components/detournavigator/offmeshconnectionsmanager.hpp -+++ b/components/detournavigator/offmeshconnectionsmanager.hpp -@@ -13,6 +13,7 @@ - - #include <boost/optional.hpp> - -+#include <algorithm> - #include <map> - #include <mutex> - #include <unordered_map> diff --git a/games-engines/openmw/files/openmw-0.46.0-mygui-license.patch b/games-engines/openmw/files/openmw-0.46.0-mygui-license.patch deleted file mode 100644 index a14f58bc9e79..000000000000 --- a/games-engines/openmw/files/openmw-0.46.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 -@@ -470,9 +470,6 @@ IF(NOT WIN32 AND NOT APPLE) - # INSTALL(PROGRAMS "${OpenMW_BINARY_DIR}/Plugin_MyGUI_OpenMW_Resources.so" DESTINATION "${LIBDIR}" ) - #ENDIF(BUILD_MYGUI_PLUGIN) - -- # Install licenses -- INSTALL(FILES "files/mygui/DejaVu Font License.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.46.0-nifbullet-test.patch b/games-engines/openmw/files/openmw-0.46.0-nifbullet-test.patch deleted file mode 100644 index 315b0753589d..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-nifbullet-test.patch +++ /dev/null @@ -1,335 +0,0 @@ -Fixes test on i686 system, patch from upstream, to be dropped for 0.47 - -From 14d0ca4cd3e9aa9e329590913d5f8fb55077587d Mon Sep 17 00:00:00 2001 -From: elsid <elsid.mail@gmail.com> -Date: Sun, 25 Nov 2018 11:42:26 +0300 -Subject: [PATCH 1/4] Cast float to btScalar - ---- - .../detournavigator/recastmeshbuilder.cpp | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/components/detournavigator/recastmeshbuilder.cpp b/components/detournavigator/recastmeshbuilder.cpp -index d96ba2f29c..f613683571 100644 ---- a/components/detournavigator/recastmeshbuilder.cpp -+++ b/components/detournavigator/recastmeshbuilder.cpp -@@ -163,15 +163,15 @@ namespace DetourNavigator - - transformBoundingBox(transform, aabbMin, aabbMax); - -- aabbMin.setX(std::max(mBounds.mMin.x(), aabbMin.x())); -- aabbMin.setX(std::min(mBounds.mMax.x(), aabbMin.x())); -- aabbMin.setY(std::max(mBounds.mMin.y(), aabbMin.y())); -- aabbMin.setY(std::min(mBounds.mMax.y(), aabbMin.y())); -- -- aabbMax.setX(std::max(mBounds.mMin.x(), aabbMax.x())); -- aabbMax.setX(std::min(mBounds.mMax.x(), aabbMax.x())); -- aabbMax.setY(std::max(mBounds.mMin.y(), aabbMax.y())); -- aabbMax.setY(std::min(mBounds.mMax.y(), aabbMax.y())); -+ aabbMin.setX(std::max(static_cast<btScalar>(mBounds.mMin.x()), aabbMin.x())); -+ aabbMin.setX(std::min(static_cast<btScalar>(mBounds.mMax.x()), aabbMin.x())); -+ aabbMin.setY(std::max(static_cast<btScalar>(mBounds.mMin.y()), aabbMin.y())); -+ aabbMin.setY(std::min(static_cast<btScalar>(mBounds.mMax.y()), aabbMin.y())); -+ -+ aabbMax.setX(std::max(static_cast<btScalar>(mBounds.mMin.x()), aabbMax.x())); -+ aabbMax.setX(std::min(static_cast<btScalar>(mBounds.mMax.x()), aabbMax.x())); -+ aabbMax.setY(std::max(static_cast<btScalar>(mBounds.mMin.y()), aabbMax.y())); -+ aabbMax.setY(std::min(static_cast<btScalar>(mBounds.mMax.y()), aabbMax.y())); - - transformBoundingBox(transform.inverse(), aabbMin, aabbMax); - - -From ef5a5ef43f9a91795339ef3ea97c505c1e9dc28d Mon Sep 17 00:00:00 2001 -From: elsid <elsid.mail@gmail.com> -Date: Sun, 25 Nov 2018 14:03:28 +0300 -Subject: [PATCH 2/4] Print not matched values with full precision - ---- - .../detournavigator/operators.hpp | 62 +++++++++++++++---- - 1 file changed, 51 insertions(+), 11 deletions(-) - -diff --git a/apps/openmw_test_suite/detournavigator/operators.hpp b/apps/openmw_test_suite/detournavigator/operators.hpp -index a473632bab..e34d6278a7 100644 ---- a/apps/openmw_test_suite/detournavigator/operators.hpp -+++ b/apps/openmw_test_suite/detournavigator/operators.hpp -@@ -20,22 +20,62 @@ namespace DetourNavigator - } - } - -+namespace -+{ -+ template <class T> -+ struct Wrapper { -+ const T& mValue; -+ }; -+ -+ template <class Range> -+ inline testing::Message& writeRange(testing::Message& message, const Range& range) -+ { -+ message << "{\n"; -+ for (const auto& v : range) -+ message << Wrapper<typename std::decay<decltype(v)>::type> {v} << ",\n"; -+ return message << "}"; -+ } -+} -+ - namespace testing - { -+ template <> -+ inline testing::Message& Message::operator <<(const osg::Vec3f& value) -+ { -+ return (*this) << "osg::Vec3f(" << std::setprecision(std::numeric_limits<float>::max_exponent10) << value.x() -+ << ", " << std::setprecision(std::numeric_limits<float>::max_exponent10) << value.y() -+ << ", " << std::setprecision(std::numeric_limits<float>::max_exponent10) << value.z() -+ << ')'; -+ } -+ -+ template <> -+ inline testing::Message& Message::operator <<(const Wrapper<osg::Vec3f>& value) -+ { -+ return (*this) << value.mValue; -+ } -+ -+ template <> -+ inline testing::Message& Message::operator <<(const Wrapper<float>& value) -+ { -+ return (*this) << std::setprecision(std::numeric_limits<float>::max_exponent10) << value.mValue; -+ } -+ - template <> - inline testing::Message& Message::operator <<(const std::deque<osg::Vec3f>& value) - { -- (*this) << "{\n"; -- for (const auto& v : value) -- { -- std::ostringstream stream; -- stream << "osg::Vec3f(" -- << std::setprecision(std::numeric_limits<float>::max_exponent10) << v.x() << ", " -- << std::setprecision(std::numeric_limits<float>::max_exponent10) << v.y() << ", " -- << std::setprecision(std::numeric_limits<float>::max_exponent10) << v.z() << ")"; -- (*this) << stream.str() << ",\n"; -- } -- return (*this) << "}"; -+ return writeRange(*this, value); -+ } -+ -+ template <> -+ inline testing::Message& Message::operator <<(const std::vector<osg::Vec3f>& value) -+ { -+ return writeRange(*this, value); -+ } -+ -+ template <> -+ inline testing::Message& Message::operator <<(const std::vector<float>& value) -+ { -+ return writeRange(*this, value); - } - } - - -From 2d7c3bae6127fc3717d5e3a8e8830215450fb47f Mon Sep 17 00:00:00 2001 -From: elsid <elsid.mail@gmail.com> -Date: Sun, 25 Nov 2018 11:46:09 +0300 -Subject: [PATCH 3/4] Support bullet with double precision - ---- - apps/openmw/mwphysics/heightfield.cpp | 38 ++++++++++++++++++- - apps/openmw/mwphysics/heightfield.hpp | 5 +++ - .../detournavigator/recastmeshbuilder.cpp | 4 +- - .../nifloader/testbulletnifloader.cpp | 36 ++++++++++++++++-- - 4 files changed, 77 insertions(+), 6 deletions(-) - -diff --git a/apps/openmw/mwphysics/heightfield.cpp b/apps/openmw/mwphysics/heightfield.cpp -index 52aed9c072..e1448116bf 100644 ---- a/apps/openmw/mwphysics/heightfield.cpp -+++ b/apps/openmw/mwphysics/heightfield.cpp -@@ -7,12 +7,48 @@ - - #include <LinearMath/btTransform.h> - -+#include <type_traits> -+ -+namespace -+{ -+ template <class T> -+ auto makeHeights(const T* heights, float sqrtVerts) -+ -> std::enable_if_t<std::is_same<btScalar, T>::value, std::vector<btScalar>> -+ { -+ return {}; -+ } -+ -+ template <class T> -+ auto makeHeights(const T* heights, float sqrtVerts) -+ -> std::enable_if_t<!std::is_same<btScalar, T>::value, std::vector<btScalar>> -+ { -+ return std::vector<btScalar>(heights, heights + static_cast<std::ptrdiff_t>(sqrtVerts * sqrtVerts)); -+ } -+ -+ template <class T> -+ auto getHeights(const T* floatHeights, const std::vector<btScalar>&) -+ -> std::enable_if_t<std::is_same<btScalar, T>::value, const btScalar*> -+ { -+ return floatHeights; -+ } -+ -+ template <class T> -+ auto getHeights(const T*, const std::vector<btScalar>& btScalarHeights) -+ -> std::enable_if_t<!std::is_same<btScalar, T>::value, const btScalar*> -+ { -+ return btScalarHeights.data(); -+ } -+} -+ - namespace MWPhysics - { - HeightField::HeightField(const float* heights, int x, int y, float triSize, float sqrtVerts, float minH, float maxH, const osg::Object* holdObject) -+ : mHeights(makeHeights(heights, sqrtVerts)) - { - mShape = new btHeightfieldTerrainShape( -- sqrtVerts, sqrtVerts, heights, 1, -+ sqrtVerts, sqrtVerts, -+ getHeights(heights, mHeights), -+ 1, - minH, maxH, 2, - PHY_FLOAT, false - ); -diff --git a/apps/openmw/mwphysics/heightfield.hpp b/apps/openmw/mwphysics/heightfield.hpp -index f248186db3..2ba58afff8 100644 ---- a/apps/openmw/mwphysics/heightfield.hpp -+++ b/apps/openmw/mwphysics/heightfield.hpp -@@ -3,6 +3,10 @@ - - #include <osg/ref_ptr> - -+#include <LinearMath/btScalar.h> -+ -+#include <vector> -+ - class btCollisionObject; - class btHeightfieldTerrainShape; - -@@ -27,6 +31,7 @@ namespace MWPhysics - btHeightfieldTerrainShape* mShape; - btCollisionObject* mCollisionObject; - osg::ref_ptr<const osg::Object> mHoldObject; -+ std::vector<btScalar> mHeights; - - void operator=(const HeightField&); - HeightField(const HeightField&); -diff --git a/apps/openmw_test_suite/detournavigator/recastmeshbuilder.cpp b/apps/openmw_test_suite/detournavigator/recastmeshbuilder.cpp -index 6c474765de..c86dee6e55 100644 ---- a/apps/openmw_test_suite/detournavigator/recastmeshbuilder.cpp -+++ b/apps/openmw_test_suite/detournavigator/recastmeshbuilder.cpp -@@ -363,11 +363,11 @@ namespace - AreaType_ground - ); - const auto recastMesh = builder.create(mGeneration, mRevision); -- EXPECT_EQ(recastMesh->getVertices(), std::vector<float>({ -+ EXPECT_THAT(recastMesh->getVertices(), Pointwise(FloatNear(1e-5), std::vector<float>({ - 1.41421353816986083984375, 0, 1.1920928955078125e-07, - -1.41421353816986083984375, 0, -1.1920928955078125e-07, - 1.1920928955078125e-07, 0, -1.41421353816986083984375, -- })); -+ }))); - EXPECT_EQ(recastMesh->getIndices(), std::vector<int>({0, 1, 2})); - EXPECT_EQ(recastMesh->getAreaTypes(), std::vector<AreaType>({AreaType_ground})); - } -diff --git a/apps/openmw_test_suite/nifloader/testbulletnifloader.cpp b/apps/openmw_test_suite/nifloader/testbulletnifloader.cpp -index 36f2512462..6ec94fd68f 100644 ---- a/apps/openmw_test_suite/nifloader/testbulletnifloader.cpp -+++ b/apps/openmw_test_suite/nifloader/testbulletnifloader.cpp -@@ -9,6 +9,8 @@ - #include <gtest/gtest.h> - #include <gmock/gmock.h> - -+#include <algorithm> -+ - namespace - { - template <class T> -@@ -30,6 +32,34 @@ namespace - shape.processAllTriangles(&callback, aabbMin, aabbMax); - return result; - } -+ -+ bool isNear(btScalar lhs, btScalar rhs) -+ { -+ return std::abs(lhs - rhs) <= 1e-5; -+ } -+ -+ bool isNear(const btVector3& lhs, const btVector3& rhs) -+ { -+ return std::equal( -+ static_cast<const btScalar*>(lhs), -+ static_cast<const btScalar*>(lhs) + 3, -+ static_cast<const btScalar*>(rhs), -+ [] (btScalar lhs, btScalar rhs) { return isNear(lhs, rhs); } -+ ); -+ } -+ -+ bool isNear(const btMatrix3x3& lhs, const btMatrix3x3& rhs) -+ { -+ for (int i = 0; i < 3; ++i) -+ if (!isNear(lhs[i], rhs[i])) -+ return false; -+ return true; -+ } -+ -+ bool isNear(const btTransform& lhs, const btTransform& rhs) -+ { -+ return isNear(lhs.getOrigin(), rhs.getOrigin()) && isNear(lhs.getBasis(), rhs.getBasis()); -+ } - } - - static std::ostream& operator <<(std::ostream& stream, const btVector3& value) -@@ -157,7 +187,7 @@ static bool operator ==(const btCompoundShape& lhs, const btCompoundShape& rhs) - for (int i = 0; i < lhs.getNumChildShapes(); ++i) - { - if (!compareObjects(lhs.getChildShape(i), rhs.getChildShape(i)) -- || !(lhs.getChildTransform(i) == rhs.getChildTransform(i))) -+ || !isNear(lhs.getChildTransform(i), rhs.getChildTransform(i))) - return false; - } - return true; -@@ -165,13 +195,13 @@ static bool operator ==(const btCompoundShape& lhs, const btCompoundShape& rhs) - - static bool operator ==(const btBoxShape& lhs, const btBoxShape& rhs) - { -- return lhs.getLocalScaling() == rhs.getLocalScaling() -+ return isNear(lhs.getLocalScaling(), rhs.getLocalScaling()) - && lhs.getHalfExtentsWithoutMargin() == rhs.getHalfExtentsWithoutMargin(); - } - - static bool operator ==(const btBvhTriangleMeshShape& lhs, const btBvhTriangleMeshShape& rhs) - { -- return lhs.getLocalScaling() == rhs.getLocalScaling() -+ return isNear(lhs.getLocalScaling(), rhs.getLocalScaling()) - && lhs.usesQuantizedAabbCompression() == rhs.usesQuantizedAabbCompression() - && lhs.getOwnsBvh() == rhs.getOwnsBvh() - && getTriangles(lhs) == getTriangles(rhs); - -From 66da72048a5893bc8c9b20f6f7210fd45b6a74bf Mon Sep 17 00:00:00 2001 -From: elsid <elsid.mail@gmail.com> -Date: Wed, 20 Feb 2019 23:41:16 +0300 -Subject: [PATCH 4/4] Update bullet for windows up to 2.87 - ---- - CI/before_script.msvc.sh | 12 ++++++------ - appveyor.yml | 4 ++-- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/appveyor.yml b/appveyor.yml -index 3057cc7257..e2c13ed948 100644 ---- a/appveyor.yml -+++ b/appveyor.yml -@@ -30,8 +30,8 @@ configuration: - clone_depth: 1 - - cache: -- - C:\projects\openmw\deps\Bullet-2.86-msvc2015-win32.7z -- - C:\projects\openmw\deps\Bullet-2.86-msvc2015-win64.7z -+ - C:\projects\openmw\deps\Bullet-2.87-msvc2015-win32.7z -+ - C:\projects\openmw\deps\Bullet-2.87-msvc2015-win64.7z - - C:\projects\openmw\deps\MyGUI-3.2.2-msvc2015-win32.7z - - C:\projects\openmw\deps\MyGUI-3.2.2-msvc2015-win64.7z - - C:\projects\openmw\deps\OSG-3.4.1-scrawl-msvc2015-win32.7z diff --git a/games-engines/openmw/files/openmw-0.46.0-recastnavigation.patch b/games-engines/openmw/files/openmw-0.46.0-recastnavigation.patch deleted file mode 100644 index ea3242d73ca8..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-recastnavigation.patch +++ /dev/null @@ -1,24 +0,0 @@ -Use system recastnavigation instead of bundled one - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d69352c94..cfb53dc5b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -596,7 +596,16 @@ endif(WIN32) - # Extern - set(RECASTNAVIGATION_STATIC ON CACHE BOOL "Build recastnavigation static libraries") - --add_subdirectory (extern/recastnavigation EXCLUDE_FROM_ALL) -+add_library(RecastNavigation::DebugUtils SHARED IMPORTED) -+add_library(RecastNavigation::Detour SHARED IMPORTED) -+add_library(RecastNavigation::Recast SHARED IMPORTED) -+set_target_properties(RecastNavigation::DebugUtils PROPERTIES -+ IMPORTED_LOCATION GENTOO_RECAST_LIBDIR/libDebugUtils.so) -+set_target_properties(RecastNavigation::Detour PROPERTIES -+ IMPORTED_LOCATION GENTOO_RECAST_LIBDIR/libDetour.so) -+set_target_properties(RecastNavigation::Recast PROPERTIES -+ IMPORTED_LOCATION GENTOO_RECAST_LIBDIR/libRecast.so) -+ - add_subdirectory (extern/osg-ffmpeg-videoplayer) - add_subdirectory (extern/oics) - if (BUILD_OPENCS) 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.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/metadata.xml b/games-engines/openmw/metadata.xml index adf9098884be..46e2148918c3 100644 --- a/games-engines/openmw/metadata.xml +++ b/games-engines/openmw/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person" proxied="yes"> <email>alexey+gentoo@asokolov.org</email> diff --git a/games-engines/openmw/openmw-0.46.0.ebuild b/games-engines/openmw/openmw-0.48.0.ebuild index 9b4a6bfa4e9d..65765800e7b5 100644 --- a/games-engines/openmw/openmw-0.46.0.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=7 +EAPI=8 -inherit cmake flag-o-matic xdg-utils readme.gentoo-r1 +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" @@ -12,34 +13,42 @@ if [[ ${PV} == *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/OpenMW/openmw.git" else - SRC_URI=" - https://github.com/OpenMW/openmw/archive/${P}.tar.gz - https://gitlab.com/OpenMW/openmw/-/merge_requests/163.patch -> ${P}-floattest.patch - " - KEYWORDS="~amd64 ~x86" + SRC_URI="https://github.com/OpenMW/openmw/archive/${P}.tar.gz" + 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=" - dev-games/mygui - dev-games/recastnavigation - dev-libs/boost:=[threads,zlib] +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:=[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] + >=sci-physics/bullet-2.86:=[double-precision] virtual/opengl - osg-fork? ( dev-games/openscenegraph-openmw:=[ffmpeg,jpeg,png,sdl,svg,truetype,zlib] ) - !osg-fork? ( >=dev-games/openscenegraph-3.5.5:=[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 @@ -50,12 +59,14 @@ RDEPEND=" ) " -DEPEND="${RDEPEND}" +DEPEND="${RDEPEND} + dev-cpp/sol2 +" BDEPEND=" virtual/pkgconfig doc? ( - app-doc/doxygen[doc] + app-text/doxygen[dot] dev-python/sphinx ) test? ( @@ -64,15 +75,7 @@ BDEPEND=" " PATCHES=( - "${FILESDIR}"/openmw-0.46.0-mygui-license.patch - "${FILESDIR}"/openmw-0.46.0-recastnavigation.patch - "${FILESDIR}"/openmw-0.46.0-missing-include.patch - "${FILESDIR}"/openmw-0.46.0-fix-cast.patch - "${FILESDIR}"/openmw-0.46.0-nifbullet-test.patch - # https://gitlab.com/OpenMW/openmw/-/merge_requests/163 - "${DISTDIR}"/openmw-0.46.0-floattest.patch - "${FILESDIR}"/openmw-0.46.0-floattest2.patch - "${FILESDIR}"/openmw-0.46.0-gcc11.patch + "${FILESDIR}/openmw-0.48.0-gcc14.patch" ) src_prepare() { @@ -80,18 +83,13 @@ src_prepare() { # Use the system tinyxml headers rm -v extern/oics/tiny{str,xml}* || die - - # Unbundle recastnavigation - rm -vr extern/recastnavigation || die - sed -i "s#GENTOO_RECAST_LIBDIR#${EPREFIX}/usr/$(get_libdir)#" CMakeLists.txt || die + rm -rv extern/sol3 || die } src_configure() { - use devtools && ! use qt5 && \ + use devtools && ! use qt5 && elog "'qt5' USE flag is disabled, 'openmw-cs' will not be installed" - append-cxxflags "-I${EPREFIX}/usr/include/recastnavigation" - local mycmakeargs=( -DBUILD_BSATOOL=$(usex devtools) -DBUILD_DOCS=$(usex doc) @@ -103,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 - -DDESIRED_QT_VERSION=5 + -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 } @@ -116,14 +134,22 @@ src_compile() { if use doc ; then cmake_src_compile doc - find "${CMAKE_BUILD_DIR}"/docs/Doxygen/html \ + find "${BUILD_DIR}"/docs/Doxygen/html \ -name '*.md5' -type f -delete || die - HTML_DOCS=( "${CMAKE_BUILD_DIR}"/docs/Doxygen/html/. ) + HTML_DOCS=( "${BUILD_DIR}"/docs/Doxygen/html/. ) fi } 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() { @@ -137,7 +163,7 @@ src_install() { directly).\n" if ! use qt5; then - local DOC_CONTENTS+="\n\n + DOC_CONTENTS+="\n\n USE flag 'qt5' is disabled, 'openmw-launcher' and 'openmw-wizard' are not available. You are on your own for making the Morrowind data files available and pointing @@ -153,10 +179,6 @@ src_install() { } pkg_postinst() { - xdg_icon_cache_update + xdg_pkg_postinst readme.gentoo_print_elog } - -pkg_postrm() { - xdg_icon_cache_update -} diff --git a/games-engines/openmw/openmw-9999.ebuild b/games-engines/openmw/openmw-9999.ebuild index 7e624ccea45f..b1a63beee240 100644 --- a/games-engines/openmw/openmw-9999.ebuild +++ b/games-engines/openmw/openmw-9999.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=7 +EAPI=8 -inherit cmake flag-o-matic xdg-utils readme.gentoo-r1 +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,40 @@ 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" +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=" - app-arch/lz4 - dev-games/mygui - dev-games/recastnavigation - dev-libs/boost:=[threads,zlib] +RDEPEND="${LUA_DEPS} + app-arch/lz4:= + >=dev-games/mygui-3.4.3:= + dev-cpp/yaml-cpp:= + dev-db/sqlite:3 + dev-games/recastnavigation:= + 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:=[ffmpeg,jpeg,png,sdl,svg,truetype,zlib] ) - !osg-fork? ( >=dev-games/openscenegraph-3.5.5:=[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 +58,14 @@ RDEPEND=" ) " -DEPEND="${RDEPEND}" +DEPEND="${RDEPEND} + dev-cpp/sol2 +" BDEPEND=" virtual/pkgconfig doc? ( - app-doc/doxygen[doc] + app-text/doxygen[dot] dev-python/sphinx ) test? ( @@ -61,23 +73,18 @@ 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 || die } src_configure() { - use devtools && ! use qt5 && \ + use devtools && ! use qt5 && elog "'qt5' USE flag is disabled, 'openmw-cs' will not be installed" - append-cxxflags "-I${EPREFIX}/usr/include/recastnavigation" - local mycmakeargs=( -DBUILD_BSATOOL=$(usex devtools) -DBUILD_DOCS=$(usex doc) @@ -89,13 +96,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 - -DDESIRED_QT_VERSION=5 - -DBULLET_USE_DOUBLES=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 } @@ -104,14 +129,22 @@ src_compile() { if use doc ; then cmake_src_compile doc - find "${CMAKE_BUILD_DIR}"/docs/Doxygen/html \ + find "${BUILD_DIR}"/docs/Doxygen/html \ -name '*.md5' -type f -delete || die - HTML_DOCS=( "${CMAKE_BUILD_DIR}"/docs/Doxygen/html/. ) + HTML_DOCS=( "${BUILD_DIR}"/docs/Doxygen/html/. ) fi } 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() { @@ -125,7 +158,7 @@ src_install() { directly).\n" if ! use qt5; then - local DOC_CONTENTS+="\n\n + DOC_CONTENTS+="\n\n USE flag 'qt5' is disabled, 'openmw-launcher' and 'openmw-wizard' are not available. You are on your own for making the Morrowind data files available and pointing @@ -141,10 +174,6 @@ src_install() { } pkg_postinst() { - xdg_icon_cache_update + xdg_pkg_postinst readme.gentoo_print_elog } - -pkg_postrm() { - xdg_icon_cache_update -} 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/metadata.xml b/games-engines/openxcom/metadata.xml index 86822013a1c2..d22a7e2d7783 100644 --- a/games-engines/openxcom/metadata.xml +++ b/games-engines/openxcom/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> 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 daf58a6dddc8..0136951ebe1a 100644 --- a/games-engines/qtads/Manifest +++ b/games-engines/qtads/Manifest @@ -1 +1 @@ -DIST qtads-3.0.0-source.tar.xz 5325048 BLAKE2B cb60908e71edb32157638891a58bed83aba01d484821473716c17845094be9232f9e989bad474db27c1e06734b073ee301756b0528ca880e4c40c0994e95bc48 SHA512 e7b72350876475e0b5b9b8c8c953aa380f5f25dade25785d15c5004a6866bb614c3ca2a3b34f84989013e350f9e73d339ce8ddd7d36766d80a981cfbfda7d1c6 +DIST qtads-3.3.0-source.tar.xz 6085960 BLAKE2B 516d9c38c1bed36d88f60ef746f1f8b7a82db14505e640c0d3024995a74c9efb68e7783111007db6ca7a2b6adbf7e5b96b6b1e7db1c0cce6441436e1ca81381b SHA512 7e2a647fc4bb81e9784a0b05b3fdee3e6306767aebd32466f6451dc8b2e0f61e01a5657d0bfb8ba091bdd8365c9fed4fd2ab5cd2a27bf5403a5192d42472f7b2 diff --git a/games-engines/qtads/metadata.xml b/games-engines/qtads/metadata.xml index 33b59db35f14..26907f3e8124 100644 --- a/games-engines/qtads/metadata.xml +++ b/games-engines/qtads/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-engines/qtads/qtads-3.0.0.ebuild b/games-engines/qtads/qtads-3.3.0-r1.ebuild index 57d338defea2..1df8c43516c6 100644 --- a/games-engines/qtads/qtads-3.0.0.ebuild +++ b/games-engines/qtads/qtads-3.3.0-r1.ebuild @@ -1,7 +1,8 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 + inherit qmake-utils xdg DESCRIPTION="Multimedia interpreter for TADS text adventures" @@ -18,9 +19,11 @@ BDEPEND=" " DEPEND=" dev-qt/qtcore:5 - dev-qt/qtgui:5 + dev-qt/qtgui:5[jpeg,png] + dev-qt/qtimageformats:5[mng] dev-qt/qtnetwork:5[ssl] - dev-qt/qtwidgets:5 + dev-qt/qtsvg:5 + dev-qt/qtwidgets:5[png] sound? ( media-libs/libsdl2[sound] media-libs/libsndfile @@ -29,12 +32,13 @@ DEPEND=" media-sound/mpg123 ) " -RDEPEND=${DEPEND} +RDEPEND="${DEPEND}" src_configure() { eqmake5 \ PREFIX="${EPREFIX}/usr" \ - $(usex !sound CONFIG+=disable-audio '') \ + DOCDIR="${EPREFIX}/usr/share/${PF}" \ + $(usev !sound CONFIG+=disable-audio) \ -after CONFIG-=silent } diff --git a/games-engines/residualvm/Manifest b/games-engines/residualvm/Manifest deleted file mode 100644 index 3aa86f9db791..000000000000 --- a/games-engines/residualvm/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST residualvm-0.2.1-sources.tar.bz2 5533814 BLAKE2B befcb42c823d31ff1e8793d0c902bfdf6b3728530c97b3f43ada5d3b2903a0cddba3247095d1674e62cdd75a6db28a7a5f3b1437e5c39cb5eccb37dff9d52fad SHA512 9eed93770ef1ad828934c32e937b861c93f1ebbb0d936f3f56668e654588f734dc88e29446f0a69f8f26475e96b8ce7ca85318758b99aabc9586756692c721da -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 c5d960e91c76..000000000000 --- a/games-engines/residualvm/metadata.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://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.2.1-r1.ebuild b/games-engines/residualvm/residualvm-0.2.1-r1.ebuild deleted file mode 100644 index a9272195b281..000000000000 --- a/games-engines/residualvm/residualvm-0.2.1-r1.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit desktop toolchain-funcs gnome2-utils - -DESCRIPTION="A cross-platform 3D game interpreter for play LucasArts' LUA-based 3D adventures" -HOMEPAGE="https://www.residualvm.org/" -SRC_URI="mirror://sourceforge/${PN}/${P}-sources.tar.bz2" - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -# TODO: fix dynamic plugin support -# games crash without media-libs/libsdl[alsa] -RDEPEND=" - media-libs/alsa-lib - media-libs/freetype:2 - media-libs/libsdl[X,sound,alsa,joystick,opengl,video] - sys-libs/zlib - virtual/glu - virtual/opengl" -DEPEND="${RDEPEND}" - -src_configure() { - # not an autotools script - # most configure options currently do nothing, verify on version bump !!! - # disable explicitly, otherwise we get unneeded linkage (some copy-paste build system) - ./configure \ - --backend=sdl \ - --disable-debug \ - --disable-faad \ - --disable-flac \ - --disable-fluidsynth \ - --disable-libunity \ - --disable-mad \ - --disable-sparkle \ - --disable-translation \ - --disable-tremor \ - --disable-vorbis \ - --docdir="/usr/share/doc/${PF}" \ - --enable-all-engines \ - --enable-release-mode \ - --enable-zlib \ - || die "configure failed" -} - -src_compile() { - emake \ - VERBOSE_BUILD=1 \ - AR="$(tc-getAR) cru" \ - RANLIB=$(tc-getRANLIB) -} - -src_install() { - dobin residualvm - - insinto "/usr/share/${PN}" - doins gui/themes/modern.zip dists/engine-data/residualvm-grim-patch.lab - - doicon -s scalable icons/${PN}.svg - doicon -s 256 icons/${PN}.png - domenu dists/${PN}.desktop - - doman dists/${PN}.6 - dodoc AUTHORS README.md KNOWN_BUGS TODO -} - -pkg_preinst() { - gnome2_icon_savelist -} - -pkg_postinst() { - gnome2_icon_cache_update -} - -pkg_postrm() { - gnome2_icon_cache_update -} 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 43512e6b067d..000000000000 --- a/games-engines/residualvm/residualvm-0.3.1-r2.ebuild +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright 1999-2020 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 18b1a8d14d7c..000000000000 --- a/games-engines/residualvm/residualvm-9999.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2020 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 bdd8777f9e45..680b374c830b 100644 --- a/games-engines/nazghul/metadata.xml +++ b/games-engines/scrap-engine/metadata.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!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> <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 46d781ead79e..04fcb1ff0575 100644 --- a/games-engines/scummvm-tools/Manifest +++ b/games-engines/scummvm-tools/Manifest @@ -1,2 +1,4 @@ -DIST scummvm-tools-2.1.0.tar.xz 710124 BLAKE2B e6985c2e12a31aa9b11a80193186b101e663ce7eaf95de68639482bc82e104c879518f253c40e733c829ceb75b62d4905314cf7ad959766c4b7b49c1ee9e0136 SHA512 40e0b1a545257922dd1846d520ef0c18ef7a2682a3d7bb1709bcd49b1338ed7cefea438958941586329271d84e01bf189a14e31f5758e500df607d162ee9cc15 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.2.0-strings.patch b/games-engines/scummvm-tools/files/scummvm-tools-2.2.0-strings.patch new file mode 100644 index 000000000000..1bd3f9f399dc --- /dev/null +++ b/games-engines/scummvm-tools/files/scummvm-tools-2.2.0-strings.patch @@ -0,0 +1,17 @@ +Fix build without native symlinks +https://bugs.gentoo.org/744424 + +--- a/configure ++++ b/configure +@@ -1026,9 +1026,9 @@ void _ebcdic() { char* s = (char*) ebcdi + int main() { _ascii (); _ebcdic (); return 0; } + EOF + $CXX $CXXFLAGS -c -o $TMPO.o tmp_endianness_check.cpp +-if strings $TMPO.o | grep BIGenDianSyS >/dev/null; then ++if ${STRINGS} $TMPO.o | grep BIGenDianSyS >/dev/null; then + _endian=big +-elif strings $TMPO.o | grep LiTTleEnDian >/dev/null; then ++elif ${STRINGS} $TMPO.o | grep LiTTleEnDian >/dev/null; then + _endian=little + fi + echo $_endian; 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 801e2cc48963..798292735601 100644 --- a/games-engines/scummvm-tools/metadata.xml +++ b/games-engines/scummvm-tools/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> @@ -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.1.0.ebuild b/games-engines/scummvm-tools/scummvm-tools-2.1.0.ebuild deleted file mode 100644 index 9920a02a2c51..000000000000 --- a/games-engines/scummvm-tools/scummvm-tools-2.1.0.ebuild +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -WX_GTK_VER=3.0-gtk3 -inherit wxwidgets - -DESCRIPTION="utilities for the SCUMM game engine" -HOMEPAGE="http://scummvm.sourceforge.net/" -SRC_URI="http://scummvm.org/frs/scummvm-tools/${PV}/${P}.tar.xz" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" -IUSE="flac iconv mad png vorbis" -RESTRICT="test" # some tests require external files - -RDEPEND=" - >=dev-libs/boost-1.32:= - 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:0= ) - vorbis? ( media-libs/libvorbis ) -" -DEPEND=" - ${RDEPEND} -" -BDEPEND=" - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}/${PN}-1.8.0-binprefix.patch" -) - -src_prepare() { - default - - rm -rf *.bat dists/win32 || die - sed -ri -e '/^(CC|CXX)\b/d' Makefile || die -} - -src_configure() { - setup-wxwidgets - - # Not an autoconf script - ./configure \ - --prefix=/usr \ - --disable-tremor \ - --enable-verbose-build \ - --mandir=/usr/share/man \ - $(use_enable flac) \ - $(use_enable iconv) \ - $(use_enable iconv freetype) \ - $(use_enable mad) \ - $(use_enable png) \ - $(use_enable vorbis) || die -} - -src_install() { - EXEPREFIX="${PN}-" default -} 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 c514a09b8b71..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,14 +1,14 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +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" @@ -17,13 +17,13 @@ IUSE="flac iconv mad png vorbis" RESTRICT="test" # some tests require external files RDEPEND=" - >=dev-libs/boost-1.32:= + 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=" @@ -35,17 +35,18 @@ BDEPEND=" PATCHES=( "${FILESDIR}/${PN}-1.8.0-binprefix.patch" + "${FILESDIR}/${PN}-2.2.0-strings.patch" ) src_prepare() { default - rm -rf *.bat dists/win32 || die - sed -ri -e '/^(CC|CXX)\b/d' Makefile || die + rm -r *.bat dists/win32 || die } src_configure() { setup-wxwidgets + tc-export CXX STRINGS # Not an autoconf script ./configure \ @@ -61,10 +62,6 @@ src_configure() { $(use_enable vorbis) || die } -src_compile() { - emake STRINGS="$(tc-getSTRINGS)" -} - src_install() { EXEPREFIX="${PN}-" default } 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 7dda4a664151..98935df3170b 100644 --- a/games-engines/scummvm/Manifest +++ b/games-engines/scummvm/Manifest @@ -1 +1,2 @@ -DIST scummvm-2.2.0.tar.xz 63652348 BLAKE2B b44a07d7ad6747b136465f81122464f02e5cc655c205d6f4424555311563f8ceaa8072972d05512af85d18fabba78d5ea9396ea314581776c1ef8d88ca6ab81b SHA512 001f884b9689386ef5b69ab8f5fa2362e1e4dc5e8273f96dc8dce1963be354a2fad95e724ff33d65008be7591519f0e2bac530ba3c44a449b8b7cac862f4f81e +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 dd278d4911d0..1e66116903bf 100644 --- a/games-engines/scummvm/metadata.xml +++ b/games-engines/scummvm/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> @@ -12,10 +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="speech">enable text-to-speech support through <pkg>app-accessibility/speech-dispatcher</pkg></flag> + <flag name="sndio">Enable support for MIDI music using <pkg>media-sound/sndio</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-r1.ebuild b/games-engines/scummvm/scummvm-2.8.0.ebuild index f4ab2f0515e9..4f5504d6ddf4 100644 --- a/games-engines/scummvm/scummvm-2.2.0-r1.ebuild +++ b/games-engines/scummvm/scummvm-2.8.0.ebuild @@ -1,41 +1,59 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +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/" -SRC_URI="https://scummvm.org/frs/scummvm/${PV}/${P}.tar.xz" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/scummvm/scummvm" +else + SRC_URI="https://downloads.scummvm.org/frs/scummvm/${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86" + S=${WORKDIR}/${P/_/} +fi LICENSE="GPL-2+ LGPL-2.1 BSD GPL-3-with-font-exception" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86" -IUSE="a52 aac alsa debug flac fluidsynth fribidi +gtk jpeg lua mpeg2 mp3 +net opengl png 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 ) gtk? ( 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? ( media-libs/sdl2-net ) - opengl? ( || ( - virtual/opengl - media-libs/mesa[gles2] - media-libs/mesa[gles1] - ) ) + 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 ) @@ -45,22 +63,17 @@ RDEPEND=" ) zlib? ( sys-libs/zlib:= ) " -DEPEND="${RDEPEND}" +RDEPEND=" + ${DEPEND} +" 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() { - xdg_src_prepare + default # -g isn't needed for nasm here sed -i \ @@ -75,6 +88,7 @@ src_prepare() { src_configure() { use x86 && append-ldflags -Wl,-z,noexecstack + tc-export STRINGS local myconf=( --backend=sdl @@ -92,13 +106,16 @@ src_configure() { $(use_enable flac) $(usex fluidsynth '' --disable-fluidsynth) $(use_enable fribidi) + $(use_enable gif) $(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) @@ -108,16 +125,15 @@ 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 + ./configure "${myconf[@]}" ${EXTRA_ECONF} || die } src_compile() { emake \ AR="$(tc-getAR) cru" \ - RANLIB="$(tc-getRANLIB)" \ - STRINGS="$(tc-getSTRINGS)" + RANLIB="$(tc-getRANLIB)" } src_install() { diff --git a/games-engines/scummvm/scummvm-2.8.1.ebuild b/games-engines/scummvm/scummvm-2.8.1.ebuild new file mode 100644 index 000000000000..3690afa59cdb --- /dev/null +++ b/games-engines/scummvm/scummvm-2.8.1.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2024 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://downloads.scummvm.org/frs/scummvm/${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86" + 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 +" +RESTRICT="test" # it only looks like there's a test there #77507 + +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:= ) + fluidsynth? ( media-sound/fluidsynth:= ) + fribidi? ( dev-libs/fribidi ) + gif? ( media-libs/giflib ) + gtk? ( + dev-libs/glib:2 + x11-libs/gtk+:3 + ) + jpeg? ( media-libs/libjpeg-turbo:= ) + 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:= ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + app-arch/xz-utils + truetype? ( virtual/pkgconfig ) + x86? ( dev-lang/nasm ) +" + +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 gif) + $(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 don't 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-9999.ebuild b/games-engines/scummvm/scummvm-9999.ebuild index 22e410bbb259..d678e3432dbb 100644 --- a/games-engines/scummvm/scummvm-9999.ebuild +++ b/games-engines/scummvm/scummvm-9999.ebuild @@ -1,44 +1,59 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 -inherit desktop flag-o-matic git-r3 toolchain-funcs xdg +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/" -EGIT_REPO_URI="https://github.com/scummvm/scummvm" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/scummvm/scummvm" +else + SRC_URI="https://downloads.scummvm.org/frs/scummvm/${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86" + S=${WORKDIR}/${P/_/} +fi LICENSE="GPL-2+ LGPL-2.1 BSD GPL-3-with-font-exception" SLOT="0" -KEYWORDS="" -IUSE="a52 aac alsa debug flac fluidsynth fribidi glew +gtk jpeg lua mpeg2 mp3 +net opengl png 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 ) - fluidsynth? ( media-sound/fluidsynth ) + flac? ( media-libs/flac:= ) + fluidsynth? ( media-sound/fluidsynth:= ) fribidi? ( dev-libs/fribidi ) + gif? ( media-libs/giflib ) gtk? ( 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? ( media-libs/sdl2-net ) + net? ( + media-libs/sdl2-net + net-misc/curl + ) opengl? ( || ( virtual/opengl media-libs/mesa[gles2] media-libs/mesa[gles1] ) - glew? ( media-libs/glew:0= ) ) png? ( media-libs/libpng:0 ) + sndio? ( media-sound/sndio:= ) speech? ( app-accessibility/speech-dispatcher ) truetype? ( media-libs/freetype:2 ) theora? ( media-libs/libtheora ) @@ -48,17 +63,17 @@ 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() { - xdg_src_prepare + default # -g isn't needed for nasm here sed -i \ @@ -73,6 +88,7 @@ src_prepare() { src_configure() { use x86 && append-ldflags -Wl,-z,noexecstack + tc-export STRINGS local myconf=( --backend=sdl @@ -90,14 +106,16 @@ src_configure() { $(use_enable flac) $(usex fluidsynth '' --disable-fluidsynth) $(use_enable fribidi) - $(use opengl && use_enable glew) + $(use_enable gif) $(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) @@ -107,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 } @@ -115,8 +133,7 @@ src_configure() { src_compile() { emake \ AR="$(tc-getAR) cru" \ - RANLIB="$(tc-getRANLIB)" \ - STRINGS="$(tc-getSTRINGS)" + RANLIB="$(tc-getRANLIB)" } src_install() { 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 e9b337da9ffb..16d609b36b2d 100644 --- a/games-engines/solarus/metadata.xml +++ b/games-engines/solarus/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> @@ -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 85594b2e5562..17d966383ec7 100644 --- a/games-engines/stratagus/Manifest +++ b/games-engines/stratagus/Manifest @@ -1,2 +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.3.2.tar.gz 1582937 BLAKE2B c39a9f009693c8c6dc7e62b885851a707a25c039b66765ce42dbd851643650b287bd45d0c0ea6fb03a2ddde01a41bf156a1d018ad4f06e0d39e9435a24c79672 SHA512 0e5d0127ba4e1025ceb7f46c91d90b82dc7c1b194030738abf95bd2c9cadc04d7431f333a514fc6d6b300ea3a1f5c7405bea735471f72fa547031634a23b01d1 diff --git a/games-engines/stratagus/metadata.xml b/games-engines/stratagus/metadata.xml index db8692f5803f..71d1a3fd8617 100644 --- a/games-engines/stratagus/metadata.xml +++ b/games-engines/stratagus/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> <email>mgorny@gentoo.org</email> @@ -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.3.2-r1.ebuild index 5af50ed30834..b6dc099614a2 100644 --- a/games-engines/stratagus/stratagus-3.0.0-r100.ebuild +++ b/games-engines/stratagus/stratagus-3.3.2-r1.ebuild @@ -1,16 +1,20 @@ -# Copyright 1999-2020 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 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" +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" @@ -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/metadata.xml b/games-engines/xzip/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-engines/xzip/metadata.xml +++ b/games-engines/xzip/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-engines/xzip/xzip-1.8.2-r3.ebuild b/games-engines/xzip/xzip-1.8.2-r4.ebuild index b961ce3ca312..04394c46e036 100644 --- a/games-engines/xzip/xzip-1.8.2-r3.ebuild +++ b/games-engines/xzip/xzip-1.8.2-r4.ebuild @@ -1,16 +1,17 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=8 + +inherit toolchain-funcs DESCRIPTION="X interface to Z-code based text games" -HOMEPAGE="http://www.eblong.com/zarf/xzip.html" -SRC_URI="http://www.eblong.com/zarf/ftp/xzip182.tar.Z" +HOMEPAGE="https://www.eblong.com/zarf/xzip.html" +SRC_URI="https://www.eblong.com/zarf/ftp/xzip$(ver_rs 1-3 '').tar.Z" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" RESTRICT="test" DEPEND="x11-libs/libX11" @@ -18,7 +19,12 @@ RDEPEND=${DEPEND} S="${WORKDIR}/xzip" +PATCHES=( + "${FILESDIR}"/${P}-clang16.patch +) + src_compile() { + tc-export CC emake \ CFLAGS="${CFLAGS} -DAUTO_END_MODE" \ LDFLAGS="${LDFLAGS}" diff --git a/games-engines/zoom/metadata.xml b/games-engines/zoom/metadata.xml index 78274e0fa550..1c3ba213c494 100644 --- a/games-engines/zoom/metadata.xml +++ b/games-engines/zoom/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>games@gentoo.org</email> diff --git a/games-engines/zoom/zoom-1.1.5-r1.ebuild b/games-engines/zoom/zoom-1.1.5-r1.ebuild index ceda3c08f833..f0d98a233a0e 100644 --- a/games-engines/zoom/zoom-1.1.5-r1.ebuild +++ b/games-engines/zoom/zoom-1.1.5-r1.ebuild @@ -1,16 +1,15 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=8 -DESCRIPTION="A fast, clean, modern Z-code interpreter for X" -HOMEPAGE="http://www.logicalshift.co.uk/unix/zoom/" -SRC_URI="http://www.logicalshift.co.uk/unix/zoom/${P}.tar.gz" +DESCRIPTION="Fast, clean, modern Z-code interpreter for X" +HOMEPAGE="https://www.logicalshift.co.uk/unix/zoom/" +SRC_URI="https://www.logicalshift.co.uk/unix/zoom/${P}.tar.gz" -LICENSE="GPL-2" +LICENSE="GPL-2+" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" RDEPEND="!net-im/zoom media-libs/fontconfig |