git: df5ecc9353ad - main - devel/godot{,-tools}: Improve port

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Mon, 04 Aug 2025 18:21:11 UTC
The branch main has been updated by vvd:

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

commit df5ecc9353ad9b3d6937632ccb7fd9f482188797
Author:     Sure Beae <sure@disroot.org>
AuthorDate: 2025-08-04 18:17:24 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-08-04 18:17:24 +0000

    devel/godot{,-tools}: Improve port
    
    - Add options wayland, x11 and mold.
    - Change icons to hicolor.
    - Merge mkdirs in one call.
    - Port links with libpcre2-32.so instead of libpcre2-8.so.
    - Fix warnings from portclippy.
    - Improve alignment.
    
    PR:             288408
    Approved by:    Shane <FreeBSD@ShaneWare.Biz> (maintainer)
    Co-authored-by: Vladimir Druzenko <vvd@FreeBSD.org>
---
 devel/godot/Makefile | 67 ++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 47 insertions(+), 20 deletions(-)

diff --git a/devel/godot/Makefile b/devel/godot/Makefile
index c06436a61a74..a6db516d4139 100644
--- a/devel/godot/Makefile
+++ b/devel/godot/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	godot
 DISTVERSION=	4.4.1
 DISTVERSIONSUFFIX=	-stable
-PORTREVISION?=	0
+PORTREVISION?=	1
 CATEGORIES=	devel games
 
 MAINTAINER=	FreeBSD@Shaneware.biz
@@ -18,65 +18,90 @@ LIB_DEPENDS=	libfreetype.so:print/freetype2 \
 		libgraphite2.so:graphics/graphite2 \
 		libharfbuzz-icu.so:print/harfbuzz-icu \
 		libharfbuzz.so:print/harfbuzz \
-		libpcre2-8.so:devel/pcre2 \
+		libpcre2-32.so:devel/pcre2 \
 		libpng.so:graphics/png \
 		libvpx.so:multimedia/libvpx
 RUN_DEPENDS=	xdg-open:devel/xdg-utils \
 		xdg-user-dir:devel/xdg-user-dirs \
 		xmessage:x11/xmessage
 
-USES=		compiler:c++17-lang cpe gl pkgconfig scons xorg
+USES=		compiler:c++17-lang cpe gl pkgconfig scons
 CPE_VENDOR=	godotengine
 USE_GITHUB=	yes
 GH_ACCOUNT=	godotengine
-
 USE_GL=		gl glew glu
-USE_XORG=	x11 xcursor xext xi xinerama xrandr xrender
-
-MAKE_ARGS+=		platform=linuxbsd builtin_freetype=False \
-			builtin_graphite=False builtin_harfbuzz=False \
-			builtin_libpng=False builtin_libvpx=False \
-			builtin_pcre2=False builtin_zlib=False verbose=True
-MAKE_ARGS+=		${MAKE_ARGS_${CHOSEN_COMPILER_TYPE}}
-MAKE_ARGS_clang=	use_llvm=True linker=lld
+
+MAKE_ARGS+=		platform=linuxbsd \
+			builtin_freetype=False \
+			builtin_graphite=False \
+			builtin_harfbuzz=False \
+			builtin_libpng=False \
+			builtin_libvpx=False \
+			builtin_pcre2=False \
+			builtin_zlib=False \
+			verbose=True \
+			${MAKE_ARGS_${CHOSEN_COMPILER_TYPE}}
+MAKE_ARGS_clang=	use_llvm=True
+
 CXXFLAGS_i386=		${CXXFLAGS_i386_${CHOSEN_COMPILER_TYPE}}
 CXXFLAGS_i386_gcc=	-march=i586
 
 GODOTFILE=	${PORTNAME}${PKGNAMESUFFIX}
 PLIST_FILES=	bin/${GODOTFILE}
 
-OPTIONS_DEFINE=		EXAMPLES TEST TOOLS UDEV
-OPTIONS_DEFAULT=	ALSA UDEV
+OPTIONS_DEFINE=		EXAMPLES MOLD TEST TOOLS UDEV WAYLAND X11
+OPTIONS_DEFAULT=	ALSA UDEV WAYLAND X11
 OPTIONS_GROUP=		AUDIO
 OPTIONS_GROUP_AUDIO=	ALSA PULSEAUDIO
 # Moved to devel/godot-tools
 OPTIONS_EXCLUDE?=	EXAMPLES TOOLS
 
 AUDIO_DESC=	Audio support
+MOLD_DESC=	Use mold linker for faster compilation
 TOOLS_DESC=	Include development tools (IDE)
 UDEV_DESC=	Libudev support (Joystick)
 
 ALSA_LIB_DEPENDS=		libasound.so:audio/alsa-lib
 ALSA_MAKE_ARGS=			alsa=True
 ALSA_MAKE_ARGS_OFF=		alsa=False
+
 # master head at 6/3 - no branch made for 4.4 yet
 EXAMPLES_GH_TUPLE=		godotengine:godot-demo-projects:fdb2f50a2088:DEMOS
 EXAMPLES_PORTEXAMPLES=		*
+
+MOLD_BUILD_DEPENDS=		mold:devel/mold
+MOLD_MAKE_ARGS=			linker=mold
+MOLD_MAKE_ARGS_OFF=		linker=lld
+
 PULSEAUDIO_LIB_DEPENDS=		libpulse.so:audio/pulseaudio
 PULSEAUDIO_MAKE_ARGS=		pulseaudio=True
 PULSEAUDIO_MAKE_ARGS_OFF=	pulseaudio=False
+
 TEST_MAKE_ARGS=			tests=True
+
 TOOLS_MAKE_ARGS=		target=editor
 TOOLS_MAKE_ARGS_OFF=		target=template_release
-TOOLS_DESKTOP_ENTRIES=	"Godot" "${COMMENT}" "${GODOTFILE}" \
-			"${GODOTFILE}" "Development;IDE;" ""
-TOOLS_PLIST_FILES=		share/pixmaps/${GODOTFILE}.png \
-				share/pixmaps/${GODOTFILE}.svg
+TOOLS_DESKTOP_ENTRIES=		"Godot Engine" "${COMMENT}" "${GODOTFILE}" \
+				"${GODOTFILE}" "Development;IDE;" ""
+TOOLS_PLIST_FILES=		share/icons/hicolor/256x256/apps/${GODOTFILE}.png \
+				share/icons/hicolor/scalable/apps/${GODOTFILE}.svg
+
 UDEV_BUILD_DEPENDS=		${PREFIX}/include/linux/input.h:devel/evdev-proto
 UDEV_LIB_DEPENDS=		libudev.so:devel/libudev-devd
 UDEV_MAKE_ARGS=			udev=True
 UDEV_MAKE_ARGS_OFF=		udev=False
 
+WAYLAND_BUILD_DEPENDS=		wayland-protocols>0:graphics/wayland-protocols
+WAYLAND_LIB_DEPENDS=		libwayland-client.so:graphics/wayland \
+				libxkbcommon.so:x11/libxkbcommon
+WAYLAND_MAKE_ARGS=		wayland=True libdecor=True
+WAYLAND_MAKE_ARGS_OFF=		wayland=False
+
+X11_USES=			xorg
+X11_USE=			XORG=x11,xcursor,xext,xi,xinerama,xrandr,xrender
+X11_MAKE_ARGS=			x11=True
+X11_MAKE_ARGS_OFF=		x11=False
+
 .ifmake makesum
 # Always include optional distfiles
 .MAKEFLAGS:	WITH="${OPTIONS_DEFINE}" OPTIONS_EXCLUDE=
@@ -107,10 +132,12 @@ do-install-EXAMPLES-on:
 		${STAGEDIR}${EXAMPLESDIR})
 
 do-install-TOOLS-on:
+	@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps \
+		  ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps
 	${INSTALL_DATA} ${WRKSRC}/icon.png \
-		${STAGEDIR}${PREFIX}/share/pixmaps/${GODOTFILE}.png
+		${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps/${GODOTFILE}.png
 	${INSTALL_DATA} ${WRKSRC}/icon.svg \
-		${STAGEDIR}${PREFIX}/share/pixmaps/${GODOTFILE}.svg
+		${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/${GODOTFILE}.svg
 
 .if ${PORT_OPTIONS:MTEST}
 do-test: