Add package in leap-16.0 #1

Manually merged
jengelh merged 2 commits from new-in-leap-16.0 into leap-16.0 2026-02-07 13:29:53 +01:00
3 changed files with 82 additions and 2 deletions

55
doomsday-gles.patch Normal file
View File

@@ -0,0 +1,55 @@
From: Jan Engelhardt <ej@inai.de>
Date: 2026-01-28 11:20:43.161720676 +0100
1.
When building with -DDENG_OPENGL_API=GLES3,
GLInfo::NV_texture_barrier does not exist because it is behind
DENG_OPENGL. Because the call to glTextureBarrierNV() is conditional
anyway, this suggests that placing the call in a macro block is not
overly wrong.
apps/client/src_render_fx_turbo.cpp: In member function virtual void fx::Ramp::draw():
apps/client/src_render_fx_turbo.cpp:744:21: error: NV_texture_barrier is not a member of de::GLInfo
744 | GLInfo::NV_texture_barrier()->glTextureBarrierNV();
2.
DE relies on the GL_BGRA8_EXT definition brought on via Qt5. But if
Qt5 is not using GLES (but OpenGL 3.3), then building DE with GLES
runs into a nondefinition error. Include the glext.h header.
---
doomsday/apps/client/src/render/fx/ramp.cpp | 2 ++
doomsday/sdk/libgui/src/graphics/image.cpp | 1 +
2 files changed, 3 insertions(+)
Index: Doomsday-Engine-2.3.1/doomsday/apps/client/src/render/fx/ramp.cpp
===================================================================
--- Doomsday-Engine-2.3.1.orig/doomsday/apps/client/src/render/fx/ramp.cpp
+++ Doomsday-Engine-2.3.1/doomsday/apps/client/src/render/fx/ramp.cpp
@@ -91,10 +91,12 @@ void Ramp::draw()
d->uContrast = de::max(0.1f, vid_contrast);
d->uBrightness = de::clamp(-0.8f, vid_bright, 0.8f);
+#ifdef DENG_OPENGL
if (GLInfo::extensions().NV_texture_barrier)
{
GLInfo::NV_texture_barrier()->glTextureBarrierNV();
}
+#endif
d->ramp.draw();
}
Index: Doomsday-Engine-2.3.1/doomsday/sdk/libgui/src/graphics/image.cpp
===================================================================
--- Doomsday-Engine-2.3.1.orig/doomsday/sdk/libgui/src/graphics/image.cpp
+++ Doomsday-Engine-2.3.1/doomsday/sdk/libgui/src/graphics/image.cpp
@@ -31,6 +31,7 @@
#include <QDataStream>
#include <QPainter>
#include <QColor>
+#include <GL/glext.h>
namespace de {

View File

@@ -1,3 +1,14 @@
-------------------------------------------------------------------
Wed Jan 28 15:08:26 UTC 2026 - Jan Engelhardt <jengelh@inai.de>
- Disable ARM & RISC-V builds, as the program crashes on startup
with SIGBUS.
-------------------------------------------------------------------
Wed Jan 28 10:21:22 UTC 2026 - Jan Engelhardt <jengelh@inai.de>
- Add doomsday-gles.patch to fix a build failure on GLES3 platforms.
-------------------------------------------------------------------
Sat Mar 22 10:28:04 UTC 2025 - Jan Engelhardt <jengelh@inai.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package doomsday
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -28,6 +28,7 @@ Source2: %name-rpmlintrc
Patch1: doomsday-no-abs-icon.patch
Patch2: doomsday-libs.diff
Patch3: doomsday-notime.diff
Patch4: doomsday-gles.patch
BuildRequires: Mesa-devel
BuildRequires: cmake
BuildRequires: gcc-c++ >= 6
@@ -54,13 +55,20 @@ BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xxf86vm)
%ifarch aarch64 %arm
%define with_gles 1
%endif
%if !0%{?with_gles}
# Mesa 9.2 has OpenGL 3.1, and doomsday 2.0 needs that.
# But GLES is also fine... (ARM case)
Requires: Mesa-libGL1 >= 9.2
%endif
Provides: jdoom = %version-%release
Provides: jheretic = %version-%release
Provides: jhexen = %version-%release
Obsoletes: deng < %version-%release
Provides: deng = %version-%release
ExcludeArch: %arm aarch64 riscv64
%description
The Doomsday Engine is a source port with support for Doom, Heretic,
@@ -71,9 +79,15 @@ and Hexen. It does not support BOOM extensions.
%build
cd doomsday
#
# The build fails if doomsday's GL API selection is not matching that of Qt5.
# The openSUSE Qt5 build for ARM is using GLES...
#
%cmake \
%ifarch aarch64 %arm
%if 0%{?with_gles}
-DDENG_OPENGL_API=GLES3 \
%else
-DDENG_OPENGL_API=3.3 \
%endif
-DDENG_ASSIMP_EMBEDDED:BOOL=OFF \
-DCMAKE_SKIP_RPATH:BOOL=ON