commit:     97b3716002195ef742d8d5305a952267474034c6
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 25 15:17:38 2023 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sun Jun 25 15:17:38 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97b37160

games-action/dxx-rebirth: Bump snapshot to 20230618, drop old 20210623, EAPI 8

This fixes building with GCC 13 and the sdl12-compat wrapper.

Closes: https://bugs.gentoo.org/896952
Closes: https://bugs.gentoo.org/900212
Closes: https://bugs.gentoo.org/907746
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 games-action/dxx-rebirth/Manifest                  |  2 +-
 ...build => dxx-rebirth-0.61.0_pre20230618.ebuild} | 36 ++++++++-------
 games-action/dxx-rebirth/dxx-rebirth-9999.ebuild   | 34 ++++++++-------
 ...-rebirth-0.61.0_pre20210623-gcc-12-editor.patch | 23 ----------
 .../dxx-rebirth-0.61.0_pre20210623-gcc-12.patch    | 25 -----------
 .../dxx-rebirth-0.61.0_pre20210623-scons-4.5.patch | 51 ----------------------
 ...x-rebirth-0.61.0_pre20230618-sdl12-compat.patch | 38 ++++++++++++++++
 7 files changed, 78 insertions(+), 131 deletions(-)

diff --git a/games-action/dxx-rebirth/Manifest 
b/games-action/dxx-rebirth/Manifest
index 4e590d8f682a..69e7f50bc883 100644
--- a/games-action/dxx-rebirth/Manifest
+++ b/games-action/dxx-rebirth/Manifest
@@ -1 +1 @@
-DIST dxx-rebirth_20210623-src.tar.xz 1340044 BLAKE2B 
f16a8904d777559e789d719bc0d6d2dbb7d26c1128984117b6c64a334ae589dd5806439cc51e458a583e1b6cc831dae7c51bf7bd3fbc972989b0ce4e5b932a4e
 SHA512 
150d873fa045df6fb2f9bb70334d08eeae0cc7a639e825f1352fed28501ab9541a27bf3395fc1929bc8d76ed9126b038eed67c5a01657f43116da4663e929821
+DIST dxx-rebirth-0.61.0_pre20230618.tar.gz 2063234 BLAKE2B 
d602e8e92f8a494eabe3645e4c465f1f1b1bc10a0b27d4b518a617f07c90c86c903b7a6bed42085bfe992cd8533f57ac6eca2c10ee0b02d5fc677859f0d80bd3
 SHA512 
a0a0318169ed55ef9969fe9827d87871bec3d168fb94bed1e7d0c61ce62fdad9f57040181f2c05f9107a0f898ba4876b802e74d43028c90169eefebd2b9eb79d

diff --git a/games-action/dxx-rebirth/dxx-rebirth-0.61.0_pre20210623.ebuild 
b/games-action/dxx-rebirth/dxx-rebirth-0.61.0_pre20230618.ebuild
similarity index 92%
rename from games-action/dxx-rebirth/dxx-rebirth-0.61.0_pre20210623.ebuild
rename to games-action/dxx-rebirth/dxx-rebirth-0.61.0_pre20230618.ebuild
index 77aab2a2ddca..833ffdb92ee8 100644
--- a/games-action/dxx-rebirth/dxx-rebirth-0.61.0_pre20210623.ebuild
+++ b/games-action/dxx-rebirth/dxx-rebirth-0.61.0_pre20230618.ebuild
@@ -1,29 +1,35 @@
 # Copyright 2017-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..11} )
+MY_COMMIT="111f6f2f0dd8de7c2f669eb4d784a0d9e9f124f9"
+
+# Games under Gentoo are marked as 'testing' by convention
+#
+# Other architectures are reported to work, but not tested regularly by
+# the core team.
+#
+# Raspberry Pi support is tested by an outside contributor, and his
+# fixes are merged into the main source by upstream.
+#
+# Cross-compilation to Windows is also supported.
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
 
 inherit desktop flag-o-matic python-any-r1 scons-utils toolchain-funcs xdg
 
 if [[ "${PV}" = 9999 ]]; then
        inherit git-r3
        EGIT_REPO_URI="https://github.com/dxx-rebirth/dxx-rebirth";
+       unset KEYWORDS
+elif [[ -n ${MY_COMMIT} ]]; then
+       S="${WORKDIR}/${PN}-${MY_COMMIT}"
+       
SRC_URI="https://codeload.github.com/dxx-rebirth/dxx-rebirth/tar.gz/${MY_COMMIT}
 -> ${PN}-${PVR}.tar.gz"
+       unset MY_COMMIT
 else
        S="${WORKDIR}/${PN}_${PV##*_pre}-src"
        
SRC_URI="https://www.dxx-rebirth.com/download/dxx/rebirth/${PN}_${PV##*_pre}-src.tar.xz";
-
-       # Games under Gentoo are marked as 'testing' by convention
-       #
-       # Other architectures are reported to work, but not tested regularly by
-       # the core team.
-       #
-       # Raspberry Pi support is tested by an outside contributor, and his
-       # fixes are merged into the main source by upstream.
-       #
-       # Cross-compilation to Windows is also supported.
-       KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
 fi
 
 DESCRIPTION="Descent Rebirth - enhanced Descent 1 & 2 engine"
@@ -163,9 +169,7 @@ BDEPEND="virtual/pkgconfig"
 #IUSE_RUNTIME="flac l10n_de midi mp3 opl3-musicpack sc55-musicpack vorbis"
 
 PATCHES=(
-       "${FILESDIR}"/${P}-gcc-12.patch
-       "${FILESDIR}"/${P}-gcc-12-editor.patch
-       "${FILESDIR}"/${P}-scons-4.5.patch
+       "${FILESDIR}"/${P}-sdl12-compat.patch
 )
 
 dxx_scons() {

diff --git a/games-action/dxx-rebirth/dxx-rebirth-9999.ebuild 
b/games-action/dxx-rebirth/dxx-rebirth-9999.ebuild
index b13187e490c0..81bd934fd3b2 100644
--- a/games-action/dxx-rebirth/dxx-rebirth-9999.ebuild
+++ b/games-action/dxx-rebirth/dxx-rebirth-9999.ebuild
@@ -1,31 +1,35 @@
 # Copyright 2017-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{10..11} )
+MY_COMMIT=""
+
+# Games under Gentoo are marked as 'testing' by convention
+#
+# Other architectures are reported to work, but not tested regularly by
+# the core team.
+#
+# Raspberry Pi support is tested by an outside contributor, and his
+# fixes are merged into the main source by upstream.
+#
+# Cross-compilation to Windows is also supported.
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
 
 inherit desktop flag-o-matic python-any-r1 scons-utils toolchain-funcs xdg
 
 if [[ "${PV}" = 9999 ]]; then
        inherit git-r3
        EGIT_REPO_URI="https://github.com/dxx-rebirth/dxx-rebirth";
-else
-       MY_COMMIT=''
+       unset KEYWORDS
+elif [[ -n ${MY_COMMIT} ]]; then
        S="${WORKDIR}/${PN}-${MY_COMMIT}"
        
SRC_URI="https://codeload.github.com/dxx-rebirth/dxx-rebirth/tar.gz/${MY_COMMIT}
 -> ${PN}-${PVR}.tar.gz"
        unset MY_COMMIT
-
-       # Games under Gentoo are marked as 'testing' by convention
-       #
-       # Other architectures are reported to work, but not tested regularly by
-       # the core team.
-       #
-       # Raspberry Pi support is tested by an outside contributor, and his
-       # fixes are merged into the main source by upstream.
-       #
-       # Cross-compilation to Windows is also supported.
-       KEYWORDS="~amd64 ~arm64 ~x86"
+else
+       S="${WORKDIR}/${PN}_${PV##*_pre}-src"
+       
SRC_URI="https://www.dxx-rebirth.com/download/dxx/rebirth/${PN}_${PV##*_pre}-src.tar.xz";
 fi
 
 DESCRIPTION="Descent Rebirth - enhanced Descent 1 & 2 engine"

diff --git 
a/games-action/dxx-rebirth/files/dxx-rebirth-0.61.0_pre20210623-gcc-12-editor.patch
 
b/games-action/dxx-rebirth/files/dxx-rebirth-0.61.0_pre20210623-gcc-12-editor.patch
deleted file mode 100644
index fbb03cf8f334..000000000000
--- 
a/games-action/dxx-rebirth/files/dxx-rebirth-0.61.0_pre20210623-gcc-12-editor.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-With USE=editor and gcc12:
-
-    similar/main/piggy.cpp: In function 'void d2x::piggy_new_pigfile(char*)':
-    similar/main/piggy.cpp:870:62: error: '%u' directive output may be 
truncated writing between 1 and 10 bytes into a region of size between 7 and 19 
[-Werror=format-truncation=]
-
-But the offending code is unused, so can just drop it.
-
-Backport from:
-https://github.com/dxx-rebirth/dxx-rebirth/commit/12cca97870efe419613462dc279963a77bc80d9a
---- a/similar/main/piggy.cpp
-+++ b/similar/main/piggy.cpp
-@@ -889,11 +889,8 @@ void piggy_new_pigfile(char *pigname)
-                               }
-                       
-                               for (fnum=0;fnum<nframes; fnum++)       {
--                                      char tempname[20];
-                                       int SuperX;
- 
--                                      snprintf(tempname, sizeof(tempname), 
"%s#%u", basename, fnum);
--
-                                       //SuperX = 
(GameBitmaps[i+fnum].bm_flags&BM_FLAG_SUPER_TRANSPARENT)?254:-1;
-                                       SuperX = 
(GameBitmapFlags[i+fnum]&BM_FLAG_SUPER_TRANSPARENT)?254:-1;
-                                       //above makes assumption that 
supertransparent color is 254

diff --git 
a/games-action/dxx-rebirth/files/dxx-rebirth-0.61.0_pre20210623-gcc-12.patch 
b/games-action/dxx-rebirth/files/dxx-rebirth-0.61.0_pre20210623-gcc-12.patch
deleted file mode 100644
index 3681385976a6..000000000000
--- a/games-action/dxx-rebirth/files/dxx-rebirth-0.61.0_pre20210623-gcc-12.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://bugs.gentoo.org/894678
-https://github.com/dxx-rebirth/dxx-rebirth/commit/092daecb6118b3c072c71a8bea24f119e300bd49
-
-From 092daecb6118b3c072c71a8bea24f119e300bd49 Mon Sep 17 00:00:00 2001
-From: Kp <k...@valhallalegends.com>
-Date: Sat, 28 May 2022 21:04:37 +0000
-Subject: [PATCH] Use static_cast<> to convert player_marker_num to
- game_marker_index
-
-gcc-12 rejects the list initialization syntax.  Switch to static_cast<>,
-which generates equivalent code.
-
-Reported-by: dbermond <https://github.com/dxx-rebirth/dxx-rebirth/issues/638>
---- a/similar/main/automap.cpp
-+++ b/similar/main/automap.cpp
-@@ -370,7 +370,7 @@ game_marker_index 
convert_player_marker_index_to_game_marker_index(const game_mo
-               return static_cast<game_marker_index>((player_num * 
MAX_DROP_MULTI_COOP) + static_cast<unsigned>(player_marker_num));
-       if (game_mode & GM_MULTI)
-               return static_cast<game_marker_index>((player_num * 
MAX_DROP_MULTI_COMPETITIVE) + static_cast<unsigned>(player_marker_num));
--      return game_marker_index{player_marker_num};
-+      return static_cast<game_marker_index>(player_marker_num);
- }
- 
- unsigned d_marker_state::get_markers_per_player(const game_mode_flags 
game_mode, const unsigned max_numplayers)
-

diff --git 
a/games-action/dxx-rebirth/files/dxx-rebirth-0.61.0_pre20210623-scons-4.5.patch 
b/games-action/dxx-rebirth/files/dxx-rebirth-0.61.0_pre20210623-scons-4.5.patch
deleted file mode 100644
index 0adc507cada5..000000000000
--- 
a/games-action/dxx-rebirth/files/dxx-rebirth-0.61.0_pre20210623-scons-4.5.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-https://bugs.gentoo.org/902463
-
-https://github.com/dxx-rebirth/dxx-rebirth/pull/705
-https://github.com/dxx-rebirth/dxx-rebirth/commit/189ac23f61605903eb3eaa0004d287b7bd9296bc
---- a/SConstruct
-+++ b/SConstruct
-@@ -324,3 +324,3 @@
-               def __init__(self,env,keyviews,_l=[]):
--                      self.flags = {k: env.get(k, _l)[:] for k in 
itertools.chain.from_iterable(keyviews)}
-+                      self.flags = {k: env.get(k, _l).copy() for k in 
itertools.chain.from_iterable(keyviews)}
-               def restore(self,env):
-@@ -1493,3 +1493,3 @@
-                       user_settings.max_axes_per_joystick = 
user_settings.max_buttons_per_joystick = user_settings.max_hats_per_joystick = 0
--              successflags['CPPDEFINES'] = CPPDEFINES = 
successflags.get('CPPDEFINES', [])[:]
-+              successflags['CPPDEFINES'] = CPPDEFINES = 
successflags.get('CPPDEFINES', []).copy()
-               # use Redbook if at least one of the following applies
-@@ -4608,3 +4608,3 @@
-               for test in runtime_test_boost_tests:
--                      LIBS = [] if test.nodefaultlibs else env['LIBS'][:]
-+                      LIBS = [] if test.nodefaultlibs else env['LIBS'].copy()
-                       LIBS.append('boost_unit_test_framework')
-@@ -4850,3 +4850,3 @@
-                       kwargs['CXXFLAGS'] = (env['CXXFLAGS'] or []) + ['-E']
--                      kwargs['CPPDEFINES'] = (env['CPPDEFINES'] or []) + [
-+                      kwargs['CPPDEFINES'] = list(env['CPPDEFINES'] or []) + [
-                                       # Define these tokens to themselves so 
that
-@@ -4870,3 +4870,3 @@
-       def _apply_env_version_seq(self,env,_empty={}):
--              return _empty if self.user_settings.pch else {'CPPDEFINES' : 
env['CPPDEFINES'] + [('DXX_VERSION_SEQ', self.DXX_VERSION_SEQ)]}
-+              return _empty if self.user_settings.pch else {'CPPDEFINES' : 
list(env['CPPDEFINES']) + [('DXX_VERSION_SEQ', self.DXX_VERSION_SEQ)]}
-       get_objects_similar_arch_ogl = 
DXXCommon.create_lazy_object_states_getter((LazyObjectState(sources=(
-@@ -4966,3 +4966,3 @@
- ),
--              transform_env = (lambda self, env: {'CPPDEFINES' : 
env['CPPDEFINES'] + env.__dxx_CPPDEFINE_SHAREPATH + 
env.__dxx_CPPDEFINE_git_version}),
-+              transform_env = (lambda self, env: {'CPPDEFINES' : 
list(env['CPPDEFINES']) + env.__dxx_CPPDEFINE_SHAREPATH + 
env.__dxx_CPPDEFINE_git_version}),
-               transform_target=_apply_target_name,
-@@ -4976,3 +4976,3 @@
- ),
--              transform_env = (lambda self, env: {'CPPDEFINES' : 
env['CPPDEFINES'] + env.__dxx_CPPDEFINE_SHAREPATH}),
-+              transform_env = (lambda self, env: {'CPPDEFINES' : 
list(env['CPPDEFINES']) + env.__dxx_CPPDEFINE_SHAREPATH}),
-               transform_target=_apply_target_name,
-@@ -5185,3 +5185,3 @@
-               versid_build_environ = ['CXX', 'CPPFLAGS', 'CXXFLAGS', 
'LINKFLAGS']
--              versid_cppdefines = env['CPPDEFINES'][:]
-+              versid_cppdefines = env['CPPDEFINES'].copy()
-               extra_version = user_settings.extra_version
-@@ -5303,3 +5303,3 @@
-               else:
--                      syspath = sys.path[:]
-+                      syspath = sys.path.copy()
-                       cocoa = 'common/arch/cocoa'

diff --git 
a/games-action/dxx-rebirth/files/dxx-rebirth-0.61.0_pre20230618-sdl12-compat.patch
 
b/games-action/dxx-rebirth/files/dxx-rebirth-0.61.0_pre20230618-sdl12-compat.patch
new file mode 100644
index 000000000000..4c01c8cd0dbb
--- /dev/null
+++ 
b/games-action/dxx-rebirth/files/dxx-rebirth-0.61.0_pre20230618-sdl12-compat.patch
@@ -0,0 +1,38 @@
+From e9daf03769d8408719c1b420a133155cb700b9a2 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <ch...@gentoo.org>
+Date: Sun, 25 Jun 2023 15:16:55 +0100
+Subject: [PATCH] Skip SDL OpenGL build check when the SDL2 wrapper is detected
+
+The wrapper does not define SDL_VIDEO_OPENGL in SDL_config.h. This
+appears to be deliberate, although it's not entirely clear why.
+
+    /* Don't define most of the SDL backends, under the assumption checking 
for these against the headers won't work anyhow.
+       The exception is the X11 backend; you need its define to know if you 
can use its syswm interface. */
+
+We could check SDL2's SDL_config.h instead, but that seems awkward to
+pull off.
+
+Closes: https://github.com/dxx-rebirth/dxx-rebirth/issues/689
+---
+ SConstruct | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/SConstruct b/SConstruct
+index c98a22bc8..59210a802 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1586,9 +1586,11 @@ static void terminate_handler()
+               init_cdrom = '0' if sdl2 else 'SDL_INIT_CDROM'
+               error_text_opengl_mismatch = f'Rebirth configured with OpenGL 
enabled, but SDL{sdl2} configured with OpenGL disabled.  Disable Rebirth OpenGL 
or install an SDL{sdl2} with OpenGL enabled.'
+               test_opengl = (f'''
++#if !((SDL_MAJOR_VERSION == 1) && (SDL_MINOR_VERSION == 2) && (SDL_PATCHLEVEL 
>= 50))
+ #ifndef SDL_VIDEO_OPENGL
+ #error "{error_text_opengl_mismatch}"
+ #endif
++#endif
+ ''') if user_settings.opengl else ''
+               main = '''
+       SDL_RWops *ops = reinterpret_cast<SDL_RWops *>(argv);
+-- 
+2.40.1
+

Reply via email to