diff options
Diffstat (limited to 'games-engines')
20 files changed, 472 insertions, 144 deletions
diff --git a/games-engines/devilutionx/Manifest b/games-engines/devilutionx/Manifest index c36842a8700d..96a8f265ee41 100644 --- a/games-engines/devilutionx/Manifest +++ b/games-engines/devilutionx/Manifest @@ -1 +1,2 @@ -DIST devilutionx-1.4.1.tar.xz 19679968 BLAKE2B 51ae007d5d1dce25a9af20b98017826534d835c2a74bfcd78cb4fb3c8e86b4e2e55a302e0412cbbcff8f931ad33a2baab806199769660351f31cc49fa91814b6 SHA512 9709600395abfd697bc45757bd2cf3e5cf0e07e2c55c86a48a73e9f52003c274724e26306b4fcb36c2eda0776c51dbab96599c0d14744244c8c037fd5dd14263 +DIST devilutionx-1.5.0.tar.xz 21951316 BLAKE2B efc6d3539eed25f917d30f3a858903952068bf4d4c66b0cd39f1a86ce3f98d9d67a8bce3a2467fa22e91bd2f552fbb593b602273e163422ab5f133133d513060 SHA512 df4998a86203372b82cb3be0348a1555ea95127a22ef050fed068215fd2223550f2b64364d83a58f829398169a29a5990d4332dc7f0adec6316f3a6c8e280ccb +DIST devilutionx-1.5.1.tar.xz 21971268 BLAKE2B fdcbfad36ded01ca40643d114ffd49b300ccf98b11415cbc396f226d42aa315502319e94e9075a2308f1f003db9611d1232170564f30cc3f09cb4b4db7f82b35 SHA512 c712c8215947a117777313bfe24c8b24e8efa702a211e67bee1ae7276176be782394dc32f1cc4509e1539fdca8b1181884f5bc9dc4cf46890f4c57a378fb5d3b diff --git a/games-engines/devilutionx/devilutionx-1.4.1.ebuild b/games-engines/devilutionx/devilutionx-1.5.0.ebuild index e7608abb497b..0c35013e0a96 100644 --- a/games-engines/devilutionx/devilutionx-1.4.1.ebuild +++ b/games-engines/devilutionx/devilutionx-1.5.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,9 +8,9 @@ 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}-5ad792133" +S="${WORKDIR}/${PN}-src-${PV}" -LICENSE="Unlicense CC-BY-4.0 GPL-2+ LGPL-2.1+ MIT OFL-1.1 zerotier? ( BSL-1.1 )" +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" @@ -44,17 +44,23 @@ src_prepare() { src_configure() { local mycmakeargs=( -DBUILD_TESTING=$(usex test) - -DCCACHE_PROGRAM=OFF #813768 + -DCCACHE_PROGRAM=no #813768 -DDEBUG=$(usex debug) - -DDISABLE_LTO=ON # let CFLAGS control this + -DDISABLE_LTO=yes # let CFLAGS control this -DDISABLE_ZERO_TIER=$(usex !zerotier) -DPACKET_ENCRYPTION=$(usex sodium) - -DPIE=ON + -DPIE=yes + -DFETCHCONTENT_FULLY_DISCONNECTED=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 diff --git a/games-engines/devilutionx/devilutionx-1.5.1.ebuild b/games-engines/devilutionx/devilutionx-1.5.1.ebuild new file mode 100644 index 000000000000..1ad3e2aafedd --- /dev/null +++ b/games-engines/devilutionx/devilutionx-1.5.1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2023 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] + sys-libs/zlib:= + media-libs/sdl_audiolib + 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 + -DFETCHCONTENT_FULLY_DISCONNECTED=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/exult/exult-1.8.ebuild b/games-engines/exult/exult-1.8.ebuild index bf03c5b70837..a3ba1624857a 100644 --- a/games-engines/exult/exult-1.8.ebuild +++ b/games-engines/exult/exult-1.8.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,7 +6,7 @@ EAPI=8 inherit autotools DESCRIPTION="Ultima 7 game engine that runs on modern operating systems" -HOMEPAGE="https://exult.sourceforge.net/" +HOMEPAGE="https://exult.sourceforge.io" SRC_URI="mirror://sourceforge/exult/exult-all-versions/${PV}/${P}.tar.gz" LICENSE="GPL-2+" diff --git a/games-engines/fheroes2/Manifest b/games-engines/fheroes2/Manifest new file mode 100644 index 000000000000..7af5d3cb2ddc --- /dev/null +++ b/games-engines/fheroes2/Manifest @@ -0,0 +1 @@ +DIST fheroes2-1.0.8.tar.gz 11757081 BLAKE2B 5448ab4b8379046d632ee8ee1be3207e4b2bd7a7a8f8c2744b2c95b909128d71a1247c8c30a903cc283df7de04e1e5b3a07bac98346b4ec444dff891aa50c028 SHA512 90c198249ecd321c0c69c2e9296364c4d6d566df374198837aa2c7811c21ecf49561342006bd76f948ed14831b22d6b7d36df1c9b46d93c0aeb48052510c588e diff --git a/games-engines/fheroes2/fheroes2-1.0.8.ebuild b/games-engines/fheroes2/fheroes2-1.0.8.ebuild new file mode 100644 index 000000000000..49baffb6ba33 --- /dev/null +++ b/games-engines/fheroes2/fheroes2-1.0.8.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2023 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" +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/odamex/files/odamex-10.3.0-master-fix.patch b/games-engines/odamex/files/odamex-10.3.0-master-fix.patch new file mode 100644 index 000000000000..1a20d8f6523c --- /dev/null +++ b/games-engines/odamex/files/odamex-10.3.0-master-fix.patch @@ -0,0 +1,31 @@ +From 10beb4212625ee5e6d5b8a55e94d22d70d630217 Mon Sep 17 00:00:00 2001 +From: Jan200101 <sentrycraft123@gmail.com> +Date: Wed, 19 Apr 2023 14:33:33 +0200 +Subject: [PATCH] include time.h on all platforms + +--- + master/main.cpp | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/master/main.cpp b/master/main.cpp +index a69af8dd0..3226792a7 100644 +--- a/master/main.cpp ++++ b/master/main.cpp +@@ -38,16 +38,15 @@ + #include <string.h> + + #include <stdint.h> ++#include <time.h> + + #ifdef UNIX + #include <netinet/in.h> + #include <unistd.h> +-#include <sys/time.h> + #endif + + #ifdef _WIN32 + #include <winsock.h> +-#include <time.h> + #define usleep(n) Sleep(n/1000) + #endif + diff --git a/games-engines/odamex/odamex-10.3.0-r1.ebuild b/games-engines/odamex/odamex-10.3.0-r1.ebuild index 594869339e54..0c99afc1d885 100644 --- a/games-engines/odamex/odamex-10.3.0-r1.ebuild +++ b/games-engines/odamex/odamex-10.3.0-r1.ebuild @@ -42,6 +42,7 @@ S="${WORKDIR}/${PN}-src-${PV}" PATCHES=( "${FILESDIR}"/${PN}-10.3.0-unbundle-fltk.patch + "${FILESDIR}"/${P}-master-fix.patch ) src_prepare() { diff --git a/games-engines/openmw/Manifest b/games-engines/openmw/Manifest index cba80402aaec..1146884524c0 100644 --- a/games-engines/openmw/Manifest +++ b/games-engines/openmw/Manifest @@ -1,2 +1,2 @@ -DIST openmw-0.47.0.tar.gz 5156857 BLAKE2B 40e8b9670423259fa0cc03ef000c17ebe06d1d58c2527b51b25cea3b54978b8a698984371eac14ff212f9550253ab17d41b83d37426371f12f5ce2d30b240d3d SHA512 517e650d0054cdba8d38de05ed3975b0fcf8de32fda59c8df7c34b973e5390efa0dd9ec79babdfdaa79dee7aa8a75009776f62fad91b9aa9aa28016c5032652b +DIST openmw-0.48.0.tar.gz 6020423 BLAKE2B 6a6f710f06efc0e844115018365db8148e9f6acefd453df74904144f53f5e896e9ab4d4f563ab95a3231500a2c1a5e1f8c5b6d6ac5c1315805c61657d13a7aa8 SHA512 969c10b285c039b54810c56f202f9c33bd03c83d87fec722c3389525e87fc7104760ea12527be5fb19a3f7ae2dc9aef0e4c6b7375d8bbcd6eb726e1d7859b833 DIST openmw-template-8966dab24692555eec720c854fb0f73d108070cd.omwgame 139730 BLAKE2B bf7f96912fd828078c62d112f3ff83e9a35298516135fb46b15ed01fc0260247cc0cba4aa3bbc55bf6a688f216384dbd9a5aa3328c4387b9b180b80f7463963e SHA512 6e38642bcf013c5f496a9cb0bf3ec7c9553b6e86b836e7844824c5a05f556c9391167214469b6318401684b702d7569896bf743c85aee4198612b3315ba778d6 diff --git a/games-engines/openmw/files/openmw-0.47.0-gcc12.patch b/games-engines/openmw/files/openmw-0.47.0-gcc12.patch deleted file mode 100644 index 4c04d7b25c78..000000000000 --- a/games-engines/openmw/files/openmw-0.47.0-gcc12.patch +++ /dev/null @@ -1,33 +0,0 @@ -Backport missing includes causing issues with gcc12. -https://bugs.gentoo.org/858725 -https://gitlab.com/OpenMW/openmw/-/commit/5f2e282359 -From: elsid <elsid.mail@gmail.com> -Date: Tue, 17 May 2022 00:58:24 +0200 -Subject: [PATCH] Add includes for used types and functions ---- a/components/myguiplatform/myguidatamanager.cpp -+++ b/components/myguiplatform/myguidatamanager.cpp -@@ -1,8 +1,11 @@ - #include "myguidatamanager.hpp" - -+#include <memory> -+#include <string> -+ - #include <MyGUI_DataFileStream.h> - --#include <boost/filesystem.hpp> -+#include <boost/filesystem/operations.hpp> - #include <boost/filesystem/fstream.hpp> - - #include <components/debug/debuglog.hpp> ---- a/components/myguiplatform/myguidatamanager.hpp -+++ b/components/myguiplatform/myguidatamanager.hpp -@@ -3,6 +3,8 @@ - - #include <MyGUI_DataManager.h> - -+#include <string> -+ - namespace osgMyGUI - { - -GitLab diff --git a/games-engines/openmw/files/openmw-0.47.0-gcc13.patch b/games-engines/openmw/files/openmw-0.47.0-gcc13.patch deleted file mode 100644 index bb99b7c77880..000000000000 --- a/games-engines/openmw/files/openmw-0.47.0-gcc13.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fix missing includes causing issues with gcc13. -https://bugs.gentoo.org/905337 ---- a/apps/openmw/mwinput/controlswitch.hpp -+++ b/apps/openmw/mwinput/controlswitch.hpp -@@ -3,6 +3,7 @@ - - #include <map> - #include <string> -+#include <cinttypes> - - namespace ESM - { ---- a/components/misc/utf8stream.hpp -+++ b/components/misc/utf8stream.hpp -@@ -3,6 +3,7 @@ - - #include <cstring> - #include <tuple> -+#include <cinttypes> - - class Utf8Stream - { diff --git a/games-engines/openmw/files/openmw-0.47.0-mygui-license.patch b/games-engines/openmw/files/openmw-0.47.0-mygui-license.patch deleted file mode 100644 index 3bf5915bb65d..000000000000 --- a/games-engines/openmw/files/openmw-0.47.0-mygui-license.patch +++ /dev/null @@ -1,16 +0,0 @@ -We don't install license files - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d69352c94..5f97c86e9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -856,9 +856,6 @@ elseif(NOT APPLE) - INSTALL(PROGRAMS "${INSTALL_SOURCE}/openmw-wizard" DESTINATION "${BINDIR}" ) - ENDIF(BUILD_WIZARD) - -- # Install licenses -- INSTALL(FILES "files/mygui/DejaVuFontLicense.txt" DESTINATION "${LICDIR}" ) -- - # Install icon and desktop file - INSTALL(FILES "${OpenMW_BINARY_DIR}/org.openmw.launcher.desktop" DESTINATION "${DATAROOTDIR}/applications" COMPONENT "openmw") - INSTALL(FILES "${OpenMW_SOURCE_DIR}/files/launcher/images/openmw.png" DESTINATION "${ICONDIR}" COMPONENT "openmw") diff --git a/games-engines/openmw/files/openmw-0.47.0-sigstksz.patch b/games-engines/openmw/files/openmw-0.47.0-sigstksz.patch deleted file mode 100644 index 588d6d639726..000000000000 --- a/games-engines/openmw/files/openmw-0.47.0-sigstksz.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 98a7d90ee258ceef9c70b0b2955d0458ec46f048 Mon Sep 17 00:00:00 2001 -From: elsid <elsid.mail@gmail.com> -Date: Fri, 24 Sep 2021 19:40:29 +0200 -Subject: [PATCH] Assume SIGSTKSZ is not a constant - -SIGSTKSZ is not defined as constant since glibc 2.34: -https://sourceware.org/git/?p=glibc.git;a=commit;h=6c57d320484988e87e446e2e60ce42816bf51d53 - -Upstream-Status: Submitted -[https://gitlab.com/OpenMW/openmw/-/merge_requests/1239] ---- - components/crashcatcher/crashcatcher.cpp | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/components/crashcatcher/crashcatcher.cpp b/components/crashcatcher/crashcatcher.cpp -index 86571e1e3a..c828e1ca81 100644 ---- a/components/crashcatcher/crashcatcher.cpp -+++ b/components/crashcatcher/crashcatcher.cpp -@@ -56,8 +56,6 @@ static const char exec_err[] = "!!! Failed to exec debug process\n"; - - static char argv0[PATH_MAX]; - --static char altstack[SIGSTKSZ]; -- - - static struct { - int signum; -@@ -475,9 +473,10 @@ int crashCatcherInstallHandlers(int argc, char **argv, int num_signals, int *sig - - /* Set an alternate signal stack so SIGSEGVs caused by stack overflows - * still run */ -+ static char* altstack = new char [SIGSTKSZ]; - altss.ss_sp = altstack; - altss.ss_flags = 0; -- altss.ss_size = sizeof(altstack); -+ altss.ss_size = SIGSTKSZ; - sigaltstack(&altss, nullptr); - - memset(&sa, 0, sizeof(sa)); --- -GitLab - diff --git a/games-engines/openmw/openmw-0.47.0-r2.ebuild b/games-engines/openmw/openmw-0.48.0.ebuild index 98cbd99efd3a..b0100e2e2812 100644 --- a/games-engines/openmw/openmw-0.47.0-r2.ebuild +++ b/games-engines/openmw/openmw-0.48.0.ebuild @@ -3,7 +3,8 @@ EAPI=8 -inherit cmake readme.gentoo-r1 xdg +LUA_COMPAT=( lua5-{1,3,4} luajit ) +inherit cmake lua-single readme.gentoo-r1 xdg DESCRIPTION="Open source reimplementation of TES III: Morrowind" HOMEPAGE="https://openmw.org/ https://gitlab.com/OpenMW/openmw" @@ -17,23 +18,32 @@ else S="${WORKDIR}/${PN}-${P}" fi +MY_TEMPLATE_COMMIT="8966dab24692555eec720c854fb0f73d108070cd" +SRC_URI+=" + test? ( https://gitlab.com/OpenMW/example-suite/-/raw/${MY_TEMPLATE_COMMIT}/data/template.omwgame -> openmw-template-${MY_TEMPLATE_COMMIT}.omwgame ) +" + LICENSE="GPL-3 MIT BitstreamVera ZLIB" SLOT="0" IUSE="doc devtools +osg-fork test +qt5" +REQUIRED_USE="${LUA_REQUIRED_USE}" RESTRICT="!test? ( test )" # FIXME: Unbundle dev-games/openscenegraph-qt in extern/osgQt directory, # used when BUILD_OPENCS flag is enabled. See bug #676266. -RDEPEND=" +RDEPEND="${LUA_DEPS} app-arch/lz4:= - dev-games/mygui + >=dev-games/mygui-3.4.1 + dev-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-5:= + media-video/ffmpeg:= >=sci-physics/bullet-2.86:=[double-precision] virtual/opengl osg-fork? ( >=dev-games/openscenegraph-openmw-3.6:=[collada(-),jpeg,png,sdl,svg,truetype,zlib] ) @@ -48,7 +58,9 @@ RDEPEND=" ) " -DEPEND="${RDEPEND}" +DEPEND="${RDEPEND} + dev-cpp/sol2 +" BDEPEND=" virtual/pkgconfig @@ -61,18 +73,12 @@ BDEPEND=" ) " -PATCHES=( - "${FILESDIR}"/openmw-0.47.0-mygui-license.patch - "${FILESDIR}"/openmw-0.47.0-sigstksz.patch - "${FILESDIR}"/openmw-0.47.0-gcc12.patch - "${FILESDIR}"/openmw-0.47.0-gcc13.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() { @@ -90,11 +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 ) + 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 } @@ -110,7 +136,15 @@ src_compile() { } src_test() { - "${BUILD_DIR}/openmw_test_suite" || die + # Lua 5.x is supported in theory, but don't work as well, the test fails + # Upstream recommends luajit, but it has less arch coverage + if [[ ${ELUA} != luajit ]]; then + elog "Skipping tests on ${ELUA}" + return + fi + pushd "${BUILD_DIR}" > /dev/null || die + ./openmw_test_suite || die + popd > /dev/null || die } src_install() { diff --git a/games-engines/openmw/openmw-9999.ebuild b/games-engines/openmw/openmw-9999.ebuild index 47e3aee609e5..b0100e2e2812 100644 --- a/games-engines/openmw/openmw-9999.ebuild +++ b/games-engines/openmw/openmw-9999.ebuild @@ -14,7 +14,7 @@ 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 @@ -97,6 +97,7 @@ src_configure() { -DGLOBAL_DATA_PATH="${EPREFIX}/usr/share" -DICONDIR="${EPREFIX}/usr/share/icons/hicolor/256x256/apps" -DUSE_SYSTEM_TINYXML=ON + -DOPENMW_USE_SYSTEM_GOOGLETEST=ON -DOPENMW_USE_SYSTEM_RECASTNAVIGATION=ON ) @@ -116,7 +117,8 @@ src_configure() { 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 + cp "${DISTDIR}"/openmw-template-${MY_TEMPLATE_COMMIT}.omwgame \ + "${BUILD_DIR}"/apps/openmw_test_suite/data/template.omwgame || die fi cmake_src_configure @@ -134,7 +136,15 @@ src_compile() { } src_test() { - "${BUILD_DIR}/openmw_test_suite" || die + # Lua 5.x is supported in theory, but don't work as well, the test fails + # Upstream recommends luajit, but it has less arch coverage + if [[ ${ELUA} != luajit ]]; then + elog "Skipping tests on ${ELUA}" + return + fi + pushd "${BUILD_DIR}" > /dev/null || die + ./openmw_test_suite || die + popd > /dev/null || die } src_install() { diff --git a/games-engines/scummvm-tools/scummvm-tools-2.2.0-r1.ebuild b/games-engines/scummvm-tools/scummvm-tools-2.2.0-r1.ebuild index ce694ac870af..a11f5da1293a 100644 --- a/games-engines/scummvm-tools/scummvm-tools-2.2.0-r1.ebuild +++ b/games-engines/scummvm-tools/scummvm-tools-2.2.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,9 +6,9 @@ EAPI=8 WX_GTK_VER=3.0-gtk3 inherit wxwidgets toolchain-funcs -DESCRIPTION="utilities for the SCUMM game engine" -HOMEPAGE="http://scummvm.sourceforge.net/" -SRC_URI="http://scummvm.org/frs/scummvm-tools/${PV}/${P}.tar.xz" +DESCRIPTION="Utilities for the SCUMM game engine" +HOMEPAGE="https://www.scummvm.org/" +SRC_URI="https://www.scummvm.org/frs/scummvm-tools/${PV}/${P}.tar.xz" LICENSE="GPL-2+" SLOT="0" diff --git a/games-engines/scummvm/Manifest b/games-engines/scummvm/Manifest index 16aa3aefc916..dec8c274a0ba 100644 --- a/games-engines/scummvm/Manifest +++ b/games-engines/scummvm/Manifest @@ -2,3 +2,4 @@ DIST scummvm-2.5.1.tar.xz 132828412 BLAKE2B 08fb2fa6cbeec3c1ec24a9b660aab4344f0d DIST scummvm-2.6.0.tar.xz 141331920 BLAKE2B 38cdce3e9b7954347d3ba05946c607aa5a62aa8fa1c2145030c1667632a4da43afd3f14ed19ebaf664bbf521610b2cfccc739c82dae95650572bfab81495cb80 SHA512 6bb2b22f9b11a8de2eaa48c520d63579f4907fa49d8b02d58702ece86945b38ea911376f5ae0dc6f3b6ed794ff32ca51fbf690e341401b4a03276b32e9bd7b69 DIST scummvm-2.6.1.tar.xz 141354456 BLAKE2B b54001a53b3c899831745c94b1bf6020b462dfd49f6de35a609a6977846e7d036ee6c323c888c88379f4b6149dad31a1af5a38ae8d5231303dbba6a0ba97bb2f SHA512 984e35683ec4fa6a0715a20027d471ff432a2da060caf1b28557e42ae7b2b5c3b32c3ef4f3c1fb0ac9bcde69d01f789b3054fe9b0ddb0fe9fadbee462c1afcc5 DIST scummvm-2.7.0.tar.xz 145171776 BLAKE2B 0f208919ca64cef56e513988635e02c84e5ce85cd328687bd566d17daee5a1386dd7986649655670117e3c211f10566b14f2a0b43bf3fe54ba68c542681b8a31 SHA512 099afbde36f73eec26059f63b541cf79dde7debf7068fb4fa4efd3ad09eecfccb57c92f0a21d120c56c6821e45133e0ca02e138beed98c16f2b273a965411271 +DIST scummvm-2.7.1.tar.xz 148127416 BLAKE2B a74ede3ea8e128d2ab28cac897ef372c1bbcb79de8afdb86c1d30323ddc4c23f72a2f98ee4023d548961d339b89362c50e7e58e358a00a3017950f5bd0e93774 SHA512 7fcefb849822c84df3f8c9b8c91c8ea15cdd4597404c927fda3b2ba0a6a18e82917be9511244d8ba8f693df8bfa2d368bdebdd4caaa9905007ce0463cc693760 diff --git a/games-engines/scummvm/scummvm-2.7.1.ebuild b/games-engines/scummvm/scummvm-2.7.1.ebuild new file mode 100644 index 000000000000..4f5504d6ddf4 --- /dev/null +++ b/games-engines/scummvm/scummvm-2.7.1.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2023 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 +} |