git: bdc683f5a974 - main - games/UZDoom: Feature centric source port for Doom-engine games

From: Piotr Kubaj <pkubaj_at_FreeBSD.org>
Date: Thu, 24 Sep 2026 12:54:35 UTC
The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=bdc683f5a974920e3008a7f40e747c31c4258528

commit bdc683f5a974920e3008a7f40e747c31c4258528
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2026-09-23 09:09:53 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2026-09-24 12:53:54 +0000

    games/UZDoom: Feature centric source port for Doom-engine games
    
    UZDoom is a modern, feature-rich source port for Doom-engine games, and a
    continuation of ZDoom and GZDoom.  It adds an advanced renderer and powerful
    scripting capabilities to the original engine:
    
    * High-resolution graphics
    * Dynamic lighting
    * 3D floors
    * Extensive modding support through ZScript
    * OpenGL, OpenGL ES, Vulkan and software renderers
    
    Supported games include Doom, Doom II, Final Doom, Heretic, Hexen, Strife,
    Chex Quest and the many commercial and free games built on their engines.
    
    An IWAD from one of the supported games is required to play.
---
 games/Makefile                             |  1 +
 games/UZDoom/Makefile                      | 46 ++++++++++++++++++++++++++++++
 games/UZDoom/distinfo                      |  3 ++
 games/UZDoom/files/patch-src_versioninfo.h | 12 ++++++++
 games/UZDoom/pkg-descr                     | 14 +++++++++
 games/UZDoom/pkg-plist                     | 37 ++++++++++++++++++++++++
 6 files changed, 113 insertions(+)

diff --git a/games/Makefile b/games/Makefile
index d9d45722a600..420dc5a378e9 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -26,6 +26,7 @@
     SUBDIR += SRB2
     SUBDIR += SpaceCadetPinball
     SUBDIR += SpaceCadetPinball-devel
+    SUBDIR += UZDoom
     SUBDIR += abbayedesmorts
     SUBDIR += abe
     SUBDIR += abuse_sdl
diff --git a/games/UZDoom/Makefile b/games/UZDoom/Makefile
new file mode 100644
index 000000000000..eee2039b744e
--- /dev/null
+++ b/games/UZDoom/Makefile
@@ -0,0 +1,46 @@
+PORTNAME=	UZDoom
+DISTVERSION=	5.0.3
+CATEGORIES=	games
+
+MAINTAINER=	pkubaj@FreeBSD.org
+COMMENT=	Feature centric source port for Doom-engine games
+WWW=		https://github.com/UZDoom/UZDoom
+
+LICENSE=	GPLv3+
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libdbus-1.so:devel/dbus \
+		libopenal.so:audio/openal-soft \
+		libvpx.so:multimedia/libvpx
+
+USES=		cmake desktop-file-utils localbase pkgconfig python:build \
+		sdl shared-mime-info
+USE_GITHUB=	yes
+USE_SDL=	sdl2
+
+DATADIR=	${PREFIX}/share/games/uzdoom
+DOCSDIR=	${PREFIX}/share/doc/uzdoom
+
+CMAKE_OFF=	BUILD_SHARED_LIBS DYN_OPENAL SEND_ANON_STATS
+CXXFLAGS+=	-DSHARE_DIR=\\\"${PREFIX}/share\\\"
+
+OPTIONS_DEFINE=		DOCS
+OPTIONS_SINGLE=		WSI
+OPTIONS_SINGLE_WSI=	WAYLAND X11
+OPTIONS_DEFAULT=	WAYLAND
+WSI_DESC=		Vulkan window system integration
+
+WAYLAND_CMAKE_BOOL=	VULKAN_USE_WAYLAND
+X11_CMAKE_BOOL=		VULKAN_USE_XLIB
+X11_USES=		xorg
+X11_USE=		XORG=x11
+
+.include "${.CURDIR}/../doom-data/Makefile.include"
+
+post-install:
+	@${RM} -r ${STAGEDIR}${PREFIX}/include ${STAGEDIR}${PREFIX}/lib
+
+post-install-DOCS-off:
+	@${RM} -r ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/games/UZDoom/distinfo b/games/UZDoom/distinfo
new file mode 100644
index 000000000000..ff501ca54ee6
--- /dev/null
+++ b/games/UZDoom/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1790233939
+SHA256 (UZDoom-UZDoom-5.0.3_GH0.tar.gz) = 223d7abef2c7a63123824417a2fe5b22e21e7dcb2ac5c840fca43c470794cab7
+SIZE (UZDoom-UZDoom-5.0.3_GH0.tar.gz) = 53230885
diff --git a/games/UZDoom/files/patch-src_versioninfo.h b/games/UZDoom/files/patch-src_versioninfo.h
new file mode 100644
index 000000000000..0bb98b734330
--- /dev/null
+++ b/games/UZDoom/files/patch-src_versioninfo.h
@@ -0,0 +1,12 @@
+--- src/versioninfo.h.orig	2026-09-22 20:08:22 UTC
++++ src/versioninfo.h
+@@ -19,6 +19,9 @@
+ 
+ #include <string>
+ 
++#undef major
++#undef minor
++
+ class FString;
+ 
+ struct VersionInfo
diff --git a/games/UZDoom/pkg-descr b/games/UZDoom/pkg-descr
new file mode 100644
index 000000000000..23ee6c403943
--- /dev/null
+++ b/games/UZDoom/pkg-descr
@@ -0,0 +1,14 @@
+UZDoom is a modern, feature-rich source port for Doom-engine games, and a
+continuation of ZDoom and GZDoom.  It adds an advanced renderer and powerful
+scripting capabilities to the original engine:
+
+* High-resolution graphics
+* Dynamic lighting
+* 3D floors
+* Extensive modding support through ZScript
+* OpenGL, OpenGL ES, Vulkan and software renderers
+
+Supported games include Doom, Doom II, Final Doom, Heretic, Hexen, Strife,
+Chex Quest and the many commercial and free games built on their engines.
+
+An IWAD from one of the supported games is required to play.
diff --git a/games/UZDoom/pkg-plist b/games/UZDoom/pkg-plist
new file mode 100644
index 000000000000..15be441e2852
--- /dev/null
+++ b/games/UZDoom/pkg-plist
@@ -0,0 +1,37 @@
+bin/uzdoom
+share/applications/org.zdoom.UZDoom.desktop
+share/icons/hicolor/scalable/apps/org.zdoom.UZDoom.svg
+share/metainfo/org.zdoom.UZDoom.metainfo.xml
+share/mime/packages/org.zdoom.UZDoom-mime.xml
+%%DATADIR%%/brightmaps.pk3
+%%DATADIR%%/fm_banks/GENMIDI.GS.wopl
+%%DATADIR%%/fm_banks/gs-by-papiezak-and-sneakernets.wopn
+%%DATADIR%%/game_support.pk3
+%%DATADIR%%/game_widescreen_gfx.pk3
+%%DATADIR%%/lights.pk3
+%%DATADIR%%/soundfonts/uzdoom.sf2
+%%DATADIR%%/uzdoom.pk3
+%%PORTDOCS%%%%DOCSDIR%%/console.css
+%%PORTDOCS%%%%DOCSDIR%%/console.html
+%%PORTDOCS%%%%DOCSDIR%%/licenses/Almost-Sleepycat.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/BSD-3-Copyleft.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/CC-BY.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/Doom-Source-License.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/MIT.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/OFL.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/README.TXT
+%%PORTDOCS%%%%DOCSDIR%%/licenses/ZDoom-Conditional.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/Zlib.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/asmjit.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/bsd.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/bzip2.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/dumb.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/fxaa.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/gdtoa.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/gpl.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/lgpl.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/miniz.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/range_map.txt
+%%PORTDOCS%%%%DOCSDIR%%/licenses/superfasthash.txt
+%%PORTDOCS%%%%DOCSDIR%%/options.checklist
+%%PORTDOCS%%%%DOCSDIR%%/ref_info.json