summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-engines')
-rw-r--r--games-engines/devilutionx/Manifest3
-rw-r--r--games-engines/devilutionx/devilutionx-1.5.0.ebuild (renamed from games-engines/devilutionx/devilutionx-1.4.1.ebuild)18
-rw-r--r--games-engines/devilutionx/devilutionx-1.5.1.ebuild88
-rw-r--r--games-engines/exult/exult-1.8.ebuild4
-rw-r--r--games-engines/fheroes2/Manifest1
-rw-r--r--games-engines/fheroes2/fheroes2-1.0.8.ebuild76
-rw-r--r--games-engines/fheroes2/files/fheroes2-1.0.4-scripts.patch19
-rw-r--r--games-engines/fheroes2/metadata.xml31
-rw-r--r--games-engines/odamex/files/odamex-10.3.0-master-fix.patch31
-rw-r--r--games-engines/odamex/odamex-10.3.0-r1.ebuild1
-rw-r--r--games-engines/openmw/Manifest2
-rw-r--r--games-engines/openmw/files/openmw-0.47.0-gcc12.patch33
-rw-r--r--games-engines/openmw/files/openmw-0.47.0-gcc13.patch22
-rw-r--r--games-engines/openmw/files/openmw-0.47.0-mygui-license.patch16
-rw-r--r--games-engines/openmw/files/openmw-0.47.0-sigstksz.patch42
-rw-r--r--games-engines/openmw/openmw-0.48.0.ebuild (renamed from games-engines/openmw/openmw-0.47.0-r2.ebuild)62
-rw-r--r--games-engines/openmw/openmw-9999.ebuild16
-rw-r--r--games-engines/scummvm-tools/scummvm-tools-2.2.0-r1.ebuild8
-rw-r--r--games-engines/scummvm/Manifest1
-rw-r--r--games-engines/scummvm/scummvm-2.7.1.ebuild142
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
+}