pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
wip/uzdoom: import UZDoom-5.0.1 as games/uzdoom
Module Name: pkgsrc-wip
Committed By: Yorick Hardy <yorickhardy%gmail.com@localhost>
Pushed By: yhardy
Date: Wed Sep 9 21:58:25 2026 +0000
Changeset: 6db331a485925e4dcf934072925d2156997f6163
Modified Files:
Makefile
Added Files:
uzdoom/COMMIT_MSG
uzdoom/DESCR
uzdoom/Makefile
uzdoom/PLIST
uzdoom/distinfo
uzdoom/patches/patch-libraries_ZVulkan_CMakeLists.txt
uzdoom/patches/patch-libraries_ZWidget_CMakeLists.txt
uzdoom/patches/patch-libraries_ZWidget_src_window_sdl2_sdl2__display__window.cpp
uzdoom/patches/patch-libraries_ZWidget_src_window_sdl2_sdl2displaywindow.cpp
uzdoom/patches/patch-libraries_abseil_absl_debugging_internal_elf__mem__image.cc
uzdoom/patches/patch-src_common_engine_m__joy.cpp
uzdoom/patches/patch-src_gameconfigfile.cpp
uzdoom/patches/patch-src_playsim_p__effect.cpp
uzdoom/patches/patch-src_playsim_p__mobj.cpp
uzdoom/patches/patch-src_versioninfo.h
Log Message:
wip/uzdoom: import UZDoom-5.0.1 as games/uzdoom
UZDoom is a modder-friendly OpenGL and Vulkan source port based on
the DOOM engine.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=6db331a485925e4dcf934072925d2156997f6163
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 1 +
uzdoom/COMMIT_MSG | 4 ++
uzdoom/DESCR | 2 +
uzdoom/Makefile | 38 ++++++++++++++
uzdoom/PLIST | 59 ++++++++++++++++++++++
uzdoom/distinfo | 12 +++++
.../patches/patch-libraries_ZVulkan_CMakeLists.txt | 21 ++++++++
.../patches/patch-libraries_ZWidget_CMakeLists.txt | 21 ++++++++
...idget_src_window_sdl2_sdl2__display__window.cpp | 14 +++++
...s_ZWidget_src_window_sdl2_sdl2displaywindow.cpp | 13 +++++
...seil_absl_debugging_internal_elf__mem__image.cc | 19 +++++++
uzdoom/patches/patch-src_common_engine_m__joy.cpp | 33 ++++++++++++
uzdoom/patches/patch-src_gameconfigfile.cpp | 22 ++++++++
uzdoom/patches/patch-src_playsim_p__effect.cpp | 20 ++++++++
uzdoom/patches/patch-src_playsim_p__mobj.cpp | 15 ++++++
uzdoom/patches/patch-src_versioninfo.h | 20 ++++++++
16 files changed, 314 insertions(+)
diffs:
diff --git a/Makefile b/Makefile
index 83ee0c0f5e..325b6a93f6 100644
--- a/Makefile
+++ b/Makefile
@@ -5968,6 +5968,7 @@ SUBDIR+= utfcpp
SUBDIR+= util-linux
SUBDIR+= uzbl
SUBDIR+= uzbl-git
+SUBDIR+= uzdoom
SUBDIR+= v8
SUBDIR+= v8-316
SUBDIR+= vacuum
diff --git a/uzdoom/COMMIT_MSG b/uzdoom/COMMIT_MSG
new file mode 100644
index 0000000000..ac65792ee2
--- /dev/null
+++ b/uzdoom/COMMIT_MSG
@@ -0,0 +1,4 @@
+games/uzdoom: import UZDoom-5.0.1 as games/uzdoom
+
+UZDoom is a modder-friendly OpenGL and Vulkan source port based on
+the DOOM engine.
diff --git a/uzdoom/DESCR b/uzdoom/DESCR
new file mode 100644
index 0000000000..c9678e8103
--- /dev/null
+++ b/uzdoom/DESCR
@@ -0,0 +1,2 @@
+UZDoom is a modder-friendly OpenGL and Vulkan source port based on
+the DOOM engine.
diff --git a/uzdoom/Makefile b/uzdoom/Makefile
new file mode 100644
index 0000000000..6f9ae5e256
--- /dev/null
+++ b/uzdoom/Makefile
@@ -0,0 +1,38 @@
+# $NetBSD$
+
+DISTNAME= ${GITHUB_TAG}
+PKGNAME= ${GITHUB_PROJECT}-${DISTNAME:S/^g//}
+CATEGORIES= games
+MASTER_SITES= ${MASTER_SITE_GITHUB:=UZDoom/}
+GITHUB_PROJECT= UZDoom
+GITHUB_TAG= 5.0.1
+DIST_SUBDIR= ${GITHUB_PROJECT}
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://zdoom.org/
+COMMENT= Zdoom game engine
+LICENSE= gnu-gpl-v3
+
+WRKSRC= ${WRKDIR}/UZDoom-${GITHUB_TAG}
+USE_LANGUAGES= c c++
+USE_TOOLS+= pkg-config
+CMAKE_CONFIGURE_ARGS+= -DDL_LDFLAGS="${DL_LDFLAGS}"
+CMAKE_CONFIGURE_ARGS+= -DDL_LIBS="${DL_LIBS}"
+CXXFLAGS+= -D PKGSRC_DATA_PATH='"${PREFIX}/share"'
+CXXFLAGS+= -D PKGSRC_DOOM_PATH='"${PREFIX}/share/games/doom"'
+
+.include "../../archivers/bzip2/buildlink3.mk"
+.include "../../audio/fluidsynth/buildlink3.mk"
+.include "../../devel/SDL2/buildlink3.mk"
+.include "../../devel/cmake/build.mk"
+.include "../../devel/libexecinfo/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../graphics/MesaLib/buildlink3.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../graphics/libwebp/buildlink3.mk"
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/jpeg.buildlink3.mk"
+.include "../../multimedia/libvpx/buildlink3.mk"
+# .include "../../parallel/openmp/buildlink3.mk"
+.include "../../x11/gtk3/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/uzdoom/PLIST b/uzdoom/PLIST
new file mode 100644
index 0000000000..560e846848
--- /dev/null
+++ b/uzdoom/PLIST
@@ -0,0 +1,59 @@
+@comment $NetBSD$
+bin/uzdoom
+include/dap/any.h
+include/dap/dap.h
+include/dap/future.h
+include/dap/io.h
+include/dap/network.h
+include/dap/optional.h
+include/dap/protocol.h
+include/dap/serialization.h
+include/dap/session.h
+include/dap/traits.h
+include/dap/typeinfo.h
+include/dap/typeof.h
+include/dap/types.h
+include/dap/variant.h
+include/zmusic.h
+lib/cmake/cppdap/cppdap-targets-debug.cmake
+lib/cmake/cppdap/cppdap-targets.cmake
+lib/cmake/cppdap/cppdapConfig.cmake
+lib/cmake/cppdap/cppdapConfigVersion.cmake
+lib/libcppdap.a
+lib/libzmusic.a
+share/applications/org.zdoom.UZDoom.desktop
+share/doc/uzdoom/console.css
+share/doc/uzdoom/console.html
+share/doc/uzdoom/licenses/Almost-Sleepycat.txt
+share/doc/uzdoom/licenses/BSD-3-Copyleft.txt
+share/doc/uzdoom/licenses/CC-BY.txt
+share/doc/uzdoom/licenses/Doom-Source-License.txt
+share/doc/uzdoom/licenses/MIT.txt
+share/doc/uzdoom/licenses/OFL.txt
+share/doc/uzdoom/licenses/README.TXT
+share/doc/uzdoom/licenses/ZDoom-Conditional.txt
+share/doc/uzdoom/licenses/Zlib.txt
+share/doc/uzdoom/licenses/asmjit.txt
+share/doc/uzdoom/licenses/bsd.txt
+share/doc/uzdoom/licenses/bzip2.txt
+share/doc/uzdoom/licenses/dumb.txt
+share/doc/uzdoom/licenses/fxaa.txt
+share/doc/uzdoom/licenses/gdtoa.txt
+share/doc/uzdoom/licenses/gpl.txt
+share/doc/uzdoom/licenses/lgpl.txt
+share/doc/uzdoom/licenses/miniz.txt
+share/doc/uzdoom/licenses/range_map.txt
+share/doc/uzdoom/licenses/superfasthash.txt
+share/doc/uzdoom/options.checklist
+share/doc/uzdoom/ref_info.json
+share/games/uzdoom/brightmaps.pk3
+share/games/uzdoom/fm_banks/GENMIDI.GS.wopl
+share/games/uzdoom/fm_banks/gs-by-papiezak-and-sneakernets.wopn
+share/games/uzdoom/game_support.pk3
+share/games/uzdoom/game_widescreen_gfx.pk3
+share/games/uzdoom/lights.pk3
+share/games/uzdoom/soundfonts/uzdoom.sf2
+share/games/uzdoom/uzdoom.pk3
+share/icons/hicolor/scalable/apps/org.zdoom.UZDoom.svg
+share/metainfo/org.zdoom.UZDoom.metainfo.xml
+share/mime/packages/org.zdoom.UZDoom-mime.xml
diff --git a/uzdoom/distinfo b/uzdoom/distinfo
new file mode 100644
index 0000000000..5f25b69485
--- /dev/null
+++ b/uzdoom/distinfo
@@ -0,0 +1,12 @@
+$NetBSD$
+
+BLAKE2s (UZDoom/5.0.1.tar.gz) = 91df07884807d88397dd5b89ecbddd5cacf50d64f2ce6d38eaa28e7ff7fa96f3
+SHA512 (UZDoom/5.0.1.tar.gz) = fb851464f0ab532d638e7d447b747fd5356934555cb610aac00db176c76557ce41bf62dab9509cb51ae02d32e521426a4b75532b04b565f3f3acdc6c78bf6aca
+Size (UZDoom/5.0.1.tar.gz) = 53210982 bytes
+SHA1 (patch-libraries_ZWidget_src_window_sdl2_sdl2__display__window.cpp) = 739b865e5749cb1f9ccdbbc5441481d9422b15ad
+SHA1 (patch-libraries_abseil_absl_debugging_internal_elf__mem__image.cc) = 158fdd05d62764caca339c57222e718541715959
+SHA1 (patch-src_common_engine_m__joy.cpp) = 3c519825b3a2a246b3ca365b16970b736be7a77e
+SHA1 (patch-src_gameconfigfile.cpp) = f9439c87f3e3e134b075fa232e5e9bd87549eb79
+SHA1 (patch-src_playsim_p__effect.cpp) = f7ce637daff7a7545de8efe7411b924c3f47ba29
+SHA1 (patch-src_playsim_p__mobj.cpp) = 502e9c956b4e195243b7051d8ac47bf8a1162886
+SHA1 (patch-src_versioninfo.h) = 4dcd75dff9d2c2ab3245a78578511a39b3d96c49
diff --git a/uzdoom/patches/patch-libraries_ZVulkan_CMakeLists.txt b/uzdoom/patches/patch-libraries_ZVulkan_CMakeLists.txt
new file mode 100644
index 0000000000..a302937ff1
--- /dev/null
+++ b/uzdoom/patches/patch-libraries_ZVulkan_CMakeLists.txt
@@ -0,0 +1,21 @@
+$NetBSD$
+
+Use the platform appropriate dlopen flags and libraries.
+
+--- libraries/ZVulkan/CMakeLists.txt.orig 2025-11-28 23:13:58.000000000 +0000
++++ libraries/ZVulkan/CMakeLists.txt
+@@ -189,12 +189,12 @@ else()
+ else()
+ set(ZVULKAN_SOURCES ${ZVULKAN_SOURCES} ${ZVULKAN_UNIX_SOURCES})
+ if(NOT HAIKU)
+- set(ZVULKAN_LIBS ${CMAKE_DL_LIBS} -ldl)
++ set(ZVULKAN_LIBS ${CMAKE_DL_LIBS} ${DL_LIBS})
+ else()
+ set(ZVULKAN_LIBS ${CMAKE_DL_LIBS})
+ endif()
+ add_definitions(-DUNIX -D_UNIX)
+- add_link_options(-pthread)
++ add_link_options(-pthread ${DL_LDFLAGS})
+ endif()
+
+ if(MSVC)
diff --git a/uzdoom/patches/patch-libraries_ZWidget_CMakeLists.txt b/uzdoom/patches/patch-libraries_ZWidget_CMakeLists.txt
new file mode 100644
index 0000000000..85b380ec8d
--- /dev/null
+++ b/uzdoom/patches/patch-libraries_ZWidget_CMakeLists.txt
@@ -0,0 +1,21 @@
+$NetBSD$
+
+Use the platform appropriate dlopen flags and libraries.
+
+--- libraries/ZWidget/CMakeLists.txt.orig 2026-07-17 19:12:44.985728735 +0000
++++ libraries/ZWidget/CMakeLists.txt
+@@ -131,12 +131,12 @@ else()
+ else()
+ set(ZWIDGET_SOURCES ${ZWIDGET_SOURCES} ${ZWIDGET_SDL2_SOURCES})
+ if(NOT HAIKU)
+- set(ZWIDGET_LIBS ${CMAKE_DL_LIBS} -ldl)
++ set(ZWIDGET_LIBS ${CMAKE_DL_LIBS} ${DL_LIBS})
+ else()
+ set(ZWIDGET_LIBS ${CMAKE_DL_LIBS})
+ endif()
+ add_definitions(-DUNIX -D_UNIX)
+- add_link_options(-pthread)
++ add_link_options(-pthread ${DL_LDFLAGS})
+ endif()
+
+ if(MSVC)
diff --git a/uzdoom/patches/patch-libraries_ZWidget_src_window_sdl2_sdl2__display__window.cpp b/uzdoom/patches/patch-libraries_ZWidget_src_window_sdl2_sdl2__display__window.cpp
new file mode 100644
index 0000000000..2ecafd0385
--- /dev/null
+++ b/uzdoom/patches/patch-libraries_ZWidget_src_window_sdl2_sdl2__display__window.cpp
@@ -0,0 +1,14 @@
+$NetBSD$
+
+Use <cmath> for std::round()
+
+--- libraries/ZWidget/src/window/sdl2/sdl2_display_window.cpp.orig 2026-08-30 21:11:51.243872748 +0000
++++ libraries/ZWidget/src/window/sdl2/sdl2_display_window.cpp
+@@ -3,6 +3,7 @@
+ #include <SDL2/SDL_video.h>
+ #include <stdexcept>
+ #include <atomic>
++#include <cmath>
+ #include <mutex>
+ #include <SDL2/SDL_vulkan.h>
+ #include <SDL2/SDL_hints.h>
diff --git a/uzdoom/patches/patch-libraries_ZWidget_src_window_sdl2_sdl2displaywindow.cpp b/uzdoom/patches/patch-libraries_ZWidget_src_window_sdl2_sdl2displaywindow.cpp
new file mode 100644
index 0000000000..8eb2d9b543
--- /dev/null
+++ b/uzdoom/patches/patch-libraries_ZWidget_src_window_sdl2_sdl2displaywindow.cpp
@@ -0,0 +1,13 @@
+$NetBSD$
+
+Use <cmath> for std::round()
+
+--- libraries/ZWidget/src/window/sdl2/sdl2displaywindow.cpp.orig 2026-07-17 18:49:06.642652976 +0000
++++ libraries/ZWidget/src/window/sdl2/sdl2displaywindow.cpp
+@@ -1,5 +1,6 @@
+
+ #include "sdl2displaywindow.h"
++#include <cmath>
+ #include <stdexcept>
+
+ Uint32 SDL2DisplayWindow::PaintEventNumber = 0xffffffff;
diff --git a/uzdoom/patches/patch-libraries_abseil_absl_debugging_internal_elf__mem__image.cc b/uzdoom/patches/patch-libraries_abseil_absl_debugging_internal_elf__mem__image.cc
new file mode 100644
index 0000000000..758cb61c40
--- /dev/null
+++ b/uzdoom/patches/patch-libraries_abseil_absl_debugging_internal_elf__mem__image.cc
@@ -0,0 +1,19 @@
+$NetBSD$
+
+Check for version 2 of sys/exec_elf.h, version_symbol has a different
+type since version 2 of the header.
+
+--- libraries/abseil/absl/debugging/internal/elf_mem_image.cc.orig 2026-08-28 22:25:23.000000000 +0000
++++ libraries/abseil/absl/debugging/internal/elf_mem_image.cc
+@@ -378,7 +378,11 @@ void ElfMemImage::SymbolIterator::Update(uint32_t incr
+ ABSL_RAW_CHECK(symbol && version_symbol, "");
+ const char *const symbol_name = image->GetDynstr(symbol->st_name);
+ #if defined(__NetBSD__)
++# if (( _SYS_EXEC_ELF_H_ + 0 ) < 2)
+ const int version_index = version_symbol->vs_vers & VERSYM_VERSION;
++# else
++ const int version_index = (int)*version_symbol;
++#endif
+ #else
+ const ElfW(Versym) version_index = version_symbol[0] & VERSYM_VERSION;
+ #endif
diff --git a/uzdoom/patches/patch-src_common_engine_m__joy.cpp b/uzdoom/patches/patch-src_common_engine_m__joy.cpp
new file mode 100644
index 0000000000..7c949a8b56
--- /dev/null
+++ b/uzdoom/patches/patch-src_common_engine_m__joy.cpp
@@ -0,0 +1,33 @@
+$NetBSD$
+
+Use <cmath> for std::isnan(), std::isfinite()
+
+--- src/common/engine/m_joy.cpp.orig 2026-08-31 03:19:00.559334344 +0000
++++ src/common/engine/m_joy.cpp
+@@ -24,7 +24,7 @@
+
+ // HEADER FILES ------------------------------------------------------------
+
+-#include <math.h>
++#include <cmath>
+
+ #include "basics.h"
+ #include "c_cvars.h"
+@@ -647,7 +647,7 @@ bool Joy_ManageThumbstick(
+
+ const double magnitude = sqrt((x_abs * x_abs) + (y_abs * y_abs));
+
+- if (isnan(magnitude) || magnitude <= 0) {
++ if (std::isnan(magnitude) || magnitude <= 0) {
+ *axis_x = *axis_y = 0;
+ if (buttons) *buttons = 0;
+ return false;
+@@ -675,7 +675,7 @@ bool Joy_ManageThumbstick(
+ {
+ // Make the dead zone the new 0.
+ double scaled = (magnitude - deadzone) / (1.0 - deadzone);
+- if (!isfinite(scaled)) scaled = 1.0;
++ if (!std::isfinite(scaled)) scaled = 1.0;
+
+ const CubicBezier curve = {{
+ (float)std::lerp((double) curve_y.x1, (double) curve_x.x1, x_bias),
diff --git a/uzdoom/patches/patch-src_gameconfigfile.cpp b/uzdoom/patches/patch-src_gameconfigfile.cpp
new file mode 100644
index 0000000000..bf67992252
--- /dev/null
+++ b/uzdoom/patches/patch-src_gameconfigfile.cpp
@@ -0,0 +1,22 @@
+$NetBSD$
+
+Add the pkgsrc search path for game files.
+
+--- src/gameconfigfile.cpp.orig 2026-08-28 22:25:23.000000000 +0000
++++ src/gameconfigfile.cpp
+@@ -146,6 +146,7 @@ static void CollectDefaultSearchPaths()
+ for (unsigned int i = 0; i < std::size(GameDirs); i++)
+ {
+ DefaultSearchPaths.Push(dataDir + GameDirs[i]);
++ DefaultSearchPaths.Push(PKGSRC_DATA_PATH + GameDirs[i]);
+ DefaultSearchPaths.Push(SHARE_DIR + GameDirs[i]);
+
+ if (shareDirChanged)
+@@ -236,6 +237,7 @@ FGameConfigFile::FGameConfigFile ()
+ SetSection ("IWADSearch.Directories", true);
+ SetValueForKey ("Path", ".", true);
+ SetValueForKey ("Path", "$DOOMWADDIR", true);
++ SetValueForKey ("Path", PKGSRC_DOOM_PATH, true);
+ SetValueForKey ("PathList", "$DOOMWADPATH", true);
+ for (unsigned int i = 0; i < DefaultSearchPaths.Size(); i++)
+ {
diff --git a/uzdoom/patches/patch-src_playsim_p__effect.cpp b/uzdoom/patches/patch-src_playsim_p__effect.cpp
new file mode 100644
index 0000000000..a3b31af44d
--- /dev/null
+++ b/uzdoom/patches/patch-src_playsim_p__effect.cpp
@@ -0,0 +1,20 @@
+$NetBSD$
+
+The signature for fabs is "double fabs(double)" or "float fabs(float)"
+in <cmath>. To workaround a compile time error (loss of precision),
+make sure that the "double" version is used.
+
+--- src/playsim/p_effect.cpp.orig 2026-08-30 22:33:08.633579144 +0000
++++ src/playsim/p_effect.cpp
+@@ -296,9 +296,9 @@ void P_ThinkParticles (FLevelLocals *Level)
+
+ particle->alpha -= particle->fadestep;
+ if ( (!!(particle->flags & SPF_FADE_IN_OUT) && particle->alpha >= 1.0)
+- || (!!(particle->flags & SPF_FADE_IN_HOLD_OUT) && (particle->ttl * fabs(particle->fadeoutstep)) <= std::min(1.0f, fabs(particle->alpha)))
++ || (!!(particle->flags & SPF_FADE_IN_HOLD_OUT) && (particle->ttl * fabs(particle->fadeoutstep)) <= std::min(1.0, (double)fabs(particle->alpha)))
+ ) { // [Jay] if SPF_FADE_IN_HOLD_OUT, hold until the fade out would line up with ttl
+- particle->alpha = std::min(1.0f, fabs(particle->alpha));
++ particle->alpha = std::min(1.0, (double)fabs(particle->alpha));
+ particle->fadestep = particle->fadeoutstep;
+ particle->flags &= ~(SPF_FADE_IN_OUT|SPF_FADE_IN_HOLD_OUT);
+ }
diff --git a/uzdoom/patches/patch-src_playsim_p__mobj.cpp b/uzdoom/patches/patch-src_playsim_p__mobj.cpp
new file mode 100644
index 0000000000..c33d24f1d4
--- /dev/null
+++ b/uzdoom/patches/patch-src_playsim_p__mobj.cpp
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Use std::isinf() from <cmath>.
+
+--- src/playsim/p_mobj.cpp.orig 2026-08-30 22:39:17.564880600 +0000
++++ src/playsim/p_mobj.cpp
+@@ -121,7 +121,7 @@ CUSTOM_CVAR (Float, sv_gravity, 800.f, CVAR_SERVERINFO
+ CUSTOM_CVAR (Float, sv_gravity, 800.f, CVAR_SERVERINFO|CVAR_NOSAVE|CVAR_NOINITCALL)
+ {
+ // test NAN and INF
+- if (((double)self != (double)self) || isinf((double)self))
++ if (((double)self != (double)self) || std::isinf((double)self))
+ sv_gravity = 800.f;
+
+ for (auto Level : AllLevels())
diff --git a/uzdoom/patches/patch-src_versioninfo.h b/uzdoom/patches/patch-src_versioninfo.h
new file mode 100644
index 0000000000..f623b3be6e
--- /dev/null
+++ b/uzdoom/patches/patch-src_versioninfo.h
@@ -0,0 +1,20 @@
+$NetBSD$
+
+To ensure that the constructor works as intended, major and minor must not be macros.
+
+--- src/versioninfo.h.orig 2026-08-30 21:50:54.327639658 +0000
++++ src/versioninfo.h
+@@ -19,6 +19,13 @@
+
+ #include <string>
+
++#ifdef major
++#undef major
++#endif
++#ifdef minor
++#undef minor
++#endif
++
+ class FString;
+
+ struct VersionInfo
Home |
Main Index |
Thread Index |
Old Index