git: a9d65534cae4 - main - x11-wm/hyprland: update to 0.50.1

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Thu, 31 Jul 2025 07:51:35 UTC
The branch main has been updated by tagattie:

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

commit a9d65534cae41fcbad8b266ab42a24bd10dbb234
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2025-07-31 07:47:59 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2025-07-31 07:51:25 +0000

    x11-wm/hyprland: update to 0.50.1
    
    While here:
    - switch to use upstream release tarball
      This is the preferred way to fetch releases per the Porter's
      Handbook. Also, with this change various tweaks for version
      information generation are not necessary anymore.
    - pull in upstream patches to prevent OpenGL/Vulkan apps hang
    - update WWW
    - list all headers installed in pkg-plist
    - use llvm 19 or later from ports on FreeBSD 14.2-RELEASE
      This is necessary to support #embed directive in C23 standard.
    - sort variable order to make portclippy happy
    
    Changelog:
    - https://github.com/hyprwm/Hyprland/releases/tag/v0.49.0
    - https://github.com/hyprwm/Hyprland/releases/tag/v0.50.0
    - https://github.com/hyprwm/Hyprland/releases/tag/v0.50.1
    
    Reported by:    portscout
---
 x11-wm/hyprland/Makefile                     |  79 ++++----
 x11-wm/hyprland/distinfo                     |  14 +-
 x11-wm/hyprland/files/patch-hyprctl_main.cpp |  11 ++
 x11-wm/hyprland/pkg-plist                    | 274 +++++++++++++++++++++++++++
 4 files changed, 325 insertions(+), 53 deletions(-)

diff --git a/x11-wm/hyprland/Makefile b/x11-wm/hyprland/Makefile
index f60054a24293..18218c2e08be 100644
--- a/x11-wm/hyprland/Makefile
+++ b/x11-wm/hyprland/Makefile
@@ -1,12 +1,18 @@
 PORTNAME=	hyprland
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.48.1
-PORTREVISION=	6
+DISTVERSION=	0.50.1
 CATEGORIES=	x11-wm wayland
+MASTER_SITES=	https://github.com/hyprwm/Hyprland/releases/download/${DISTVERSIONFULL}/
+DISTNAME=	source-${DISTVERSIONFULL}
+DIST_SUBDIR=	${PORTNAME}
+
+PATCH_SITES=	https://github.com/hyprwm/Hyprland/commit/
+PATCHFILES+=	ecc04e8ba7469fb01c5a066bf1c48d5cd58d1a18.patch:-p1 # avoid app hang
+PATCHFILES+=	66a6ef3859255f2a21c1e902a4b5f56562e87041.patch:-p1 # see #10437
 
 MAINTAINER=	tagattie@FreeBSD.org
 COMMENT=	Dynamic tiling Wayland compositor that doesn't sacrifice on its looks #'
-WWW=		https://hyprland.org/
+WWW=		https://hypr.land/
 
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
@@ -14,7 +20,7 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 BUILD_DEPENDS=	evdev-proto>0:devel/evdev-proto \
 		glaze>0:devel/glaze \
 		hyprwayland-scanner>=0.3.10:devel/hyprwayland-scanner \
-		wayland-protocols>=1.41:graphics/wayland-protocols
+		wayland-protocols>=1.43:graphics/wayland-protocols
 LIB_DEPENDS=	libhyprlang.so:devel/hyprlang \
 		libhyprutils.so:devel/hyprutils \
 		libinotify.so:devel/libinotify \
@@ -29,21 +35,18 @@ LIB_DEPENDS=	libhyprlang.so:devel/hyprlang \
 		libinput.so:x11/libinput \
 		libxkbcommon.so:x11/libxkbcommon
 
-USES=		cmake compiler:c++11-lib gl gnome pkgconfig xorg
-USE_GITHUB=	yes
+USES=		cmake compiler:c++23-lang gl gnome pkgconfig xorg
+
 USE_GL=		egl gbm opengl
-USE_GNOME=	cairo pango
+USE_GNOME=	cairo glib20 pango
 USE_XORG=	pixman xcursor
-GH_ACCOUNT=	hyprwm
-GH_PROJECT=	Hyprland
-GH_TUPLE=	hyprwm:hyprland-protocols:v0.6.2:hyprland_protocols/subprojects/hyprland-protocols \
-		canihavesomecoffee:udis86:1.7.2-186-g5336633:udis86/subprojects/udis86
-CMAKE_OFF=	CMAKE_CXX_SCAN_FOR_MODULES # avoid devel/llvm*
+
 CMAKE_ON=	NO_SYSTEMD
+CMAKE_OFF=	CMAKE_CXX_SCAN_FOR_MODULES # avoid devel/llvm*
+
 LDFLAGS+=	-Wl,--as-needed # GL, pango deps
 
-# Generated by "make update-hash" for commit_pins in hyprpm.toml
-GH_HASH=	29e2e59fdbab8ed2cc23a20e3c6043d5decb5cdc
+WRKSRC=		${WRKDIR}/${PORTNAME}-source
 
 # XXX Drop after FreeBSD 13.5 EOL around 2026-04-30
 # https://cgit.freebsd.org/src/commit/?id=af93fea71038
@@ -51,53 +54,40 @@ GH_HASH=	29e2e59fdbab8ed2cc23a20e3c6043d5decb5cdc
 LIB_DEPENDS+=	libepoll-shim.so:devel/libepoll-shim
 .endif
 
-OPTIONS_DEFINE=	QT6 X11
-OPTIONS_DEFAULT=QT6 X11
+OPTIONS_DEFINE=		QT6 X11
+OPTIONS_DEFAULT=	QT6 X11
 
 QT6_RUN_DEPENDS=	hyprland-dialog:x11/hyprland-qtutils
 
-X11_USE=		XORG=xcb
 X11_LIB_DEPENDS=	libxcb-errors.so:x11/xcb-util-errors \
 			libxcb-icccm.so:x11/xcb-util-wm
+X11_USE=		XORG=xcb
 X11_CMAKE_BOOL_OFF=	NO_XWAYLAND
 
+.include <bsd.port.options.mk>
+
+# XXX Delete after 14.2-RELEASE EoL (2025-09-30)
+# #embed directive in C23 standard requires llvm 19 or later
+.if ${OPSYS} == FreeBSD && (${OSVERSION} >= 1400000 && ${OSVERSION} < 1402501)
+USES+=		llvm:min=19
+.endif
+
 post-patch:
-# Extract (snapshot) version from the port instead of CMakeLists.txt
-	@${REINPLACE_CMD} -i .nogit \
-		-e '/^HASH/s/=.*/=${GH_HASH}/' \
-		-e '/^BRANCH/s/=.*/=main/' \
-		-e '/^MESSAGE/s/=.*/="?"/' \
-		-e "/^DATE/s/=.*/=\"$$(date -ur $$(${AWK} \
-			'/TIMESTAMP/ { print $$3 }' ${DISTINFO_FILE}))\"/" \
-		-e '/^DIRTY/s/=.*/=portbld/' \
-		-e '/^TAG/s/=.*/=${DISTVERSIONFULL}/' \
-		-e '/^COMMITS/s/=.*/="?"/' \
-		${WRKSRC}/scripts/generateVersion.sh
 # Respect consolekit2 as XDG_RUNTIME_DIR fallback
-	@${REINPLACE_CMD} 's,/run/user,/var&,' \
+	@${REINPLACE_CMD} 's|/run/user|/var&|' \
 		${WRKSRC}/hyprctl/main.cpp \
 		${WRKSRC}/src/Compositor.cpp
 # Respect PREFIX for wallpapers
-	@${REINPLACE_CMD} 's,/usr/share,${DATADIR:H},' \
+	@${REINPLACE_CMD} 's|/usr/share|${DATADIR:H}|' \
 		${WRKSRC}/src/render/OpenGL.cpp
 # XXX Replace linprocfs(4) with sysctl(3)
-	@${REINPLACE_CMD} -e 's,/proc,${LINUXBASE}&,g' \
+	@${REINPLACE_CMD} -e 's|/proc|${LINUXBASE}&|g' \
 		${WRKSRC}/src/desktop/Window.cpp \
 		${WRKSRC}/src/plugins/HookSystem.cpp
 
 post-install:
-# Plugin API installs all headers (no private vs. public)
-	@(cd ${STAGEDIR}${PREFIX} && ${FIND} include/${PORTNAME} ! -type d) >>${TMPPLIST}
-
-update-hash:
-# https://docs.github.com/en/rest/commits/commits#get-a-commit
-# Pretend to be curl(1) for pretty-printed JSON to help parse with sed(1)
-	@${REINPLACE_CMD} -i '' -e "/^GH_HASH=/s/=.*/=	$$(\
-		${SETENV} HTTP_USER_AGENT=curl ${FETCH_CMD} -qo- \
-			https://api.github.com/repos/${GH_ACCOUNT}/${GH_PROJECT}/commits/${GH_TAGNAME} | \
-			${SED} -n '/sha/ { s/.*\"\([0-9a-f]\{40\}\).*/\1/p; q; }' \
-		)/" \
-		${.CURDIR}/Makefile
+	@${RM} ${STAGEDIR}${PREFIX}/bin/hyprland
+	@${RLN} ${STAGEDIR}${PREFIX}/bin/Hyprland ${STAGEDIR}${PREFIX}/bin/hyprland
 
 .include <bsd.port.mk>
 
@@ -106,6 +96,3 @@ update-hash:
 llvm_ARGS=	build
 .include "${USESDIR}/llvm.mk"
 .endif
-
-# XXX Work around !target(makesum)
-makesum:	update-hash
diff --git a/x11-wm/hyprland/distinfo b/x11-wm/hyprland/distinfo
index 72a5c857bff9..f694d363d3c2 100644
--- a/x11-wm/hyprland/distinfo
+++ b/x11-wm/hyprland/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1743178567
-SHA256 (hyprwm-Hyprland-v0.48.1_GH0.tar.gz) = 7c78b5d3249b35318bc49877347c41e855714a6794169bc90755264c0162278e
-SIZE (hyprwm-Hyprland-v0.48.1_GH0.tar.gz) = 48325182
-SHA256 (hyprwm-hyprland-protocols-v0.6.2_GH0.tar.gz) = bba082af141599d4342e7b8505401a6e3a32be819d9eb23ce6c90f7407e62c1f
-SIZE (hyprwm-hyprland-protocols-v0.6.2_GH0.tar.gz) = 9887
-SHA256 (canihavesomecoffee-udis86-1.7.2-186-g5336633_GH0.tar.gz) = 69aff959179ff6247b375b92e797221dbd8e078eabbf1366280b0532617e7fb8
-SIZE (canihavesomecoffee-udis86-1.7.2-186-g5336633_GH0.tar.gz) = 116938
+TIMESTAMP = 1753943980
+SHA256 (hyprland/source-v0.50.1.tar.gz) = 2e7280e08d9b0460159bdfcdebdf6c532a79843a6a1e8417f78c15f6293fc956
+SIZE (hyprland/source-v0.50.1.tar.gz) = 54239562
+SHA256 (hyprland/ecc04e8ba7469fb01c5a066bf1c48d5cd58d1a18.patch) = 47b1a8071e38a4e47237af604a736e5b11ea023a8b3c23bfb04b4e1fb30755f7
+SIZE (hyprland/ecc04e8ba7469fb01c5a066bf1c48d5cd58d1a18.patch) = 5564
+SHA256 (hyprland/66a6ef3859255f2a21c1e902a4b5f56562e87041.patch) = 321d2b75fa6a5062cfdc55d9a35500b55858b6d814f922ea8c5f8b18808b0317
+SIZE (hyprland/66a6ef3859255f2a21c1e902a4b5f56562e87041.patch) = 2217
diff --git a/x11-wm/hyprland/files/patch-hyprctl_main.cpp b/x11-wm/hyprland/files/patch-hyprctl_main.cpp
new file mode 100644
index 000000000000..25fc645e01a9
--- /dev/null
+++ b/x11-wm/hyprland/files/patch-hyprctl_main.cpp
@@ -0,0 +1,11 @@
+--- hyprctl/main.cpp.orig	2025-07-25 09:09:59 UTC
++++ hyprctl/main.cpp
+@@ -268,7 +268,7 @@ int requestIPC(std::string_view filename, std::string_
+     sockaddr_un serverAddress = {0};
+     serverAddress.sun_family  = AF_UNIX;
+ 
+-    std::string socketPath = getRuntimeDir() + "/" + instanceSignature + "/" + filename;
++    std::string socketPath = getRuntimeDir() + "/" + instanceSignature + "/" + std::string(filename);
+ 
+     strncpy(serverAddress.sun_path, socketPath.c_str(), sizeof(serverAddress.sun_path) - 1);
+ 
diff --git a/x11-wm/hyprland/pkg-plist b/x11-wm/hyprland/pkg-plist
index 418529e3c0eb..32f5cf3feb32 100644
--- a/x11-wm/hyprland/pkg-plist
+++ b/x11-wm/hyprland/pkg-plist
@@ -2,6 +2,279 @@ bin/Hyprland
 bin/hyprctl
 bin/hyprland
 bin/hyprpm
+include/hyprland/protocols/alpha-modifier-v1.hpp
+include/hyprland/protocols/color-management-v1.hpp
+include/hyprland/protocols/content-type-v1.hpp
+include/hyprland/protocols/cursor-shape-v1.hpp
+include/hyprland/protocols/drm-lease-v1.hpp
+include/hyprland/protocols/ext-foreign-toplevel-list-v1.hpp
+include/hyprland/protocols/ext-idle-notify-v1.hpp
+include/hyprland/protocols/ext-session-lock-v1.hpp
+include/hyprland/protocols/ext-workspace-v1.hpp
+include/hyprland/protocols/fractional-scale-v1.hpp
+include/hyprland/protocols/frog-color-management-v1.hpp
+include/hyprland/protocols/hyprland-ctm-control-v1.hpp
+include/hyprland/protocols/hyprland-focus-grab-v1.hpp
+include/hyprland/protocols/hyprland-global-shortcuts-v1.hpp
+include/hyprland/protocols/hyprland-lock-notify-v1.hpp
+include/hyprland/protocols/hyprland-surface-v1.hpp
+include/hyprland/protocols/hyprland-toplevel-export-v1.hpp
+include/hyprland/protocols/hyprland-toplevel-mapping-v1.hpp
+include/hyprland/protocols/idle-inhibit-unstable-v1.hpp
+include/hyprland/protocols/input-method-unstable-v2.hpp
+include/hyprland/protocols/kde-server-decoration.hpp
+include/hyprland/protocols/keyboard-shortcuts-inhibit-unstable-v1.hpp
+include/hyprland/protocols/linux-dmabuf-v1.hpp
+include/hyprland/protocols/linux-drm-syncobj-v1.hpp
+include/hyprland/protocols/pointer-constraints-unstable-v1.hpp
+include/hyprland/protocols/pointer-gestures-unstable-v1.hpp
+include/hyprland/protocols/presentation-time.hpp
+include/hyprland/protocols/primary-selection-unstable-v1.hpp
+include/hyprland/protocols/relative-pointer-unstable-v1.hpp
+include/hyprland/protocols/security-context-v1.hpp
+include/hyprland/protocols/single-pixel-buffer-v1.hpp
+include/hyprland/protocols/tablet-v2.hpp
+include/hyprland/protocols/tearing-control-v1.hpp
+include/hyprland/protocols/text-input-unstable-v1.hpp
+include/hyprland/protocols/text-input-unstable-v3.hpp
+include/hyprland/protocols/viewporter.hpp
+include/hyprland/protocols/virtual-keyboard-unstable-v1.hpp
+include/hyprland/protocols/wayland-drm.hpp
+include/hyprland/protocols/wayland.hpp
+include/hyprland/protocols/wlr-data-control-unstable-v1.hpp
+include/hyprland/protocols/wlr-foreign-toplevel-management-unstable-v1.hpp
+include/hyprland/protocols/wlr-gamma-control-unstable-v1.hpp
+include/hyprland/protocols/wlr-layer-shell-unstable-v1.hpp
+include/hyprland/protocols/wlr-output-management-unstable-v1.hpp
+include/hyprland/protocols/wlr-output-power-management-unstable-v1.hpp
+include/hyprland/protocols/wlr-screencopy-unstable-v1.hpp
+include/hyprland/protocols/wlr-virtual-pointer-unstable-v1.hpp
+include/hyprland/protocols/xdg-activation-v1.hpp
+include/hyprland/protocols/xdg-decoration-unstable-v1.hpp
+include/hyprland/protocols/xdg-dialog-v1.hpp
+include/hyprland/protocols/xdg-output-unstable-v1.hpp
+include/hyprland/protocols/xdg-shell.hpp
+include/hyprland/protocols/xdg-system-bell-v1.hpp
+include/hyprland/protocols/xdg-toplevel-tag-v1.hpp
+include/hyprland/protocols/xwayland-shell-v1.hpp
+include/hyprland/protocols/xx-color-management-v4.hpp
+include/hyprland/src/Compositor.hpp
+include/hyprland/src/SharedDefs.hpp
+include/hyprland/src/config/ConfigDataValues.hpp
+include/hyprland/src/config/ConfigDescriptions.hpp
+include/hyprland/src/config/ConfigManager.hpp
+include/hyprland/src/config/ConfigValue.hpp
+include/hyprland/src/config/ConfigWatcher.hpp
+include/hyprland/src/config/defaultConfig.hpp
+include/hyprland/src/debug/CrashReporter.hpp
+include/hyprland/src/debug/HyprCtl.hpp
+include/hyprland/src/debug/HyprDebugOverlay.hpp
+include/hyprland/src/debug/HyprNotificationOverlay.hpp
+include/hyprland/src/debug/Log.hpp
+include/hyprland/src/debug/RollingLogFollow.hpp
+include/hyprland/src/debug/TracyDefines.hpp
+include/hyprland/src/defines.hpp
+include/hyprland/src/desktop/DesktopTypes.hpp
+include/hyprland/src/desktop/LayerRule.hpp
+include/hyprland/src/desktop/LayerSurface.hpp
+include/hyprland/src/desktop/Popup.hpp
+include/hyprland/src/desktop/Rule.hpp
+include/hyprland/src/desktop/Subsurface.hpp
+include/hyprland/src/desktop/WLSurface.hpp
+include/hyprland/src/desktop/Window.hpp
+include/hyprland/src/desktop/WindowOverridableVar.hpp
+include/hyprland/src/desktop/WindowRule.hpp
+include/hyprland/src/desktop/Workspace.hpp
+include/hyprland/src/devices/IHID.hpp
+include/hyprland/src/devices/IKeyboard.hpp
+include/hyprland/src/devices/IPointer.hpp
+include/hyprland/src/devices/ITouch.hpp
+include/hyprland/src/devices/Keyboard.hpp
+include/hyprland/src/devices/Mouse.hpp
+include/hyprland/src/devices/Tablet.hpp
+include/hyprland/src/devices/TouchDevice.hpp
+include/hyprland/src/devices/VirtualKeyboard.hpp
+include/hyprland/src/devices/VirtualPointer.hpp
+include/hyprland/src/events/Events.hpp
+include/hyprland/src/helpers/AnimatedVariable.hpp
+include/hyprland/src/helpers/AsyncDialogBox.hpp
+include/hyprland/src/helpers/ByteOperations.hpp
+include/hyprland/src/helpers/Color.hpp
+include/hyprland/src/helpers/CursorShapes.hpp
+include/hyprland/src/helpers/DamageRing.hpp
+include/hyprland/src/helpers/Format.hpp
+include/hyprland/src/helpers/MiscFunctions.hpp
+include/hyprland/src/helpers/Monitor.hpp
+include/hyprland/src/helpers/MonitorFrameScheduler.hpp
+include/hyprland/src/helpers/SdDaemon.hpp
+include/hyprland/src/helpers/Splashes.hpp
+include/hyprland/src/helpers/TagKeeper.hpp
+include/hyprland/src/helpers/WLClasses.hpp
+include/hyprland/src/helpers/defer/Promise.hpp
+include/hyprland/src/helpers/fs/FsUtils.hpp
+include/hyprland/src/helpers/math/Math.hpp
+include/hyprland/src/helpers/memory/Memory.hpp
+include/hyprland/src/helpers/signal/Signal.hpp
+include/hyprland/src/helpers/sync/SyncReleaser.hpp
+include/hyprland/src/helpers/sync/SyncTimeline.hpp
+include/hyprland/src/helpers/time/Time.hpp
+include/hyprland/src/helpers/time/Timer.hpp
+include/hyprland/src/helpers/varlist/VarList.hpp
+include/hyprland/src/hyprerror/HyprError.hpp
+include/hyprland/src/includes.hpp
+include/hyprland/src/init/initHelpers.hpp
+include/hyprland/src/layout/DwindleLayout.hpp
+include/hyprland/src/layout/IHyprLayout.hpp
+include/hyprland/src/layout/MasterLayout.hpp
+include/hyprland/src/macros.hpp
+include/hyprland/src/managers/ANRManager.hpp
+include/hyprland/src/managers/AnimationManager.hpp
+include/hyprland/src/managers/CursorManager.hpp
+include/hyprland/src/managers/DonationNagManager.hpp
+include/hyprland/src/managers/EventManager.hpp
+include/hyprland/src/managers/HookSystemManager.hpp
+include/hyprland/src/managers/KeybindManager.hpp
+include/hyprland/src/managers/LayoutManager.hpp
+include/hyprland/src/managers/PointerManager.hpp
+include/hyprland/src/managers/ProtocolManager.hpp
+include/hyprland/src/managers/SeatManager.hpp
+include/hyprland/src/managers/SessionLockManager.hpp
+include/hyprland/src/managers/TokenManager.hpp
+include/hyprland/src/managers/VersionKeeperManager.hpp
+include/hyprland/src/managers/XCursorManager.hpp
+include/hyprland/src/managers/XWaylandManager.hpp
+include/hyprland/src/managers/eventLoop/EventLoopManager.hpp
+include/hyprland/src/managers/eventLoop/EventLoopTimer.hpp
+include/hyprland/src/managers/input/InputManager.hpp
+include/hyprland/src/managers/input/InputMethodPopup.hpp
+include/hyprland/src/managers/input/InputMethodRelay.hpp
+include/hyprland/src/managers/input/TextInput.hpp
+include/hyprland/src/managers/permissions/DynamicPermissionManager.hpp
+include/hyprland/src/pch/pch.hpp
+include/hyprland/src/plugins/HookSystem.hpp
+include/hyprland/src/plugins/PluginAPI.hpp
+include/hyprland/src/plugins/PluginSystem.hpp
+include/hyprland/src/protocols/AlphaModifier.hpp
+include/hyprland/src/protocols/CTMControl.hpp
+include/hyprland/src/protocols/ColorManagement.hpp
+include/hyprland/src/protocols/ContentType.hpp
+include/hyprland/src/protocols/CursorShape.hpp
+include/hyprland/src/protocols/DRMLease.hpp
+include/hyprland/src/protocols/DRMSyncobj.hpp
+include/hyprland/src/protocols/DataDeviceWlr.hpp
+include/hyprland/src/protocols/ExtWorkspace.hpp
+include/hyprland/src/protocols/FocusGrab.hpp
+include/hyprland/src/protocols/ForeignToplevel.hpp
+include/hyprland/src/protocols/ForeignToplevelWlr.hpp
+include/hyprland/src/protocols/FractionalScale.hpp
+include/hyprland/src/protocols/FrogColorManagement.hpp
+include/hyprland/src/protocols/GammaControl.hpp
+include/hyprland/src/protocols/GlobalShortcuts.hpp
+include/hyprland/src/protocols/HyprlandSurface.hpp
+include/hyprland/src/protocols/IdleInhibit.hpp
+include/hyprland/src/protocols/IdleNotify.hpp
+include/hyprland/src/protocols/InputMethodV2.hpp
+include/hyprland/src/protocols/LayerShell.hpp
+include/hyprland/src/protocols/LinuxDMABUF.hpp
+include/hyprland/src/protocols/LockNotify.hpp
+include/hyprland/src/protocols/MesaDRM.hpp
+include/hyprland/src/protocols/OutputManagement.hpp
+include/hyprland/src/protocols/OutputPower.hpp
+include/hyprland/src/protocols/PointerConstraints.hpp
+include/hyprland/src/protocols/PointerGestures.hpp
+include/hyprland/src/protocols/PresentationTime.hpp
+include/hyprland/src/protocols/PrimarySelection.hpp
+include/hyprland/src/protocols/RelativePointer.hpp
+include/hyprland/src/protocols/Screencopy.hpp
+include/hyprland/src/protocols/SecurityContext.hpp
+include/hyprland/src/protocols/ServerDecorationKDE.hpp
+include/hyprland/src/protocols/SessionLock.hpp
+include/hyprland/src/protocols/ShortcutsInhibit.hpp
+include/hyprland/src/protocols/SinglePixel.hpp
+include/hyprland/src/protocols/Tablet.hpp
+include/hyprland/src/protocols/TearingControl.hpp
+include/hyprland/src/protocols/TextInputV1.hpp
+include/hyprland/src/protocols/TextInputV3.hpp
+include/hyprland/src/protocols/ToplevelExport.hpp
+include/hyprland/src/protocols/ToplevelMapping.hpp
+include/hyprland/src/protocols/Viewporter.hpp
+include/hyprland/src/protocols/VirtualKeyboard.hpp
+include/hyprland/src/protocols/VirtualPointer.hpp
+include/hyprland/src/protocols/WaylandProtocol.hpp
+include/hyprland/src/protocols/XDGActivation.hpp
+include/hyprland/src/protocols/XDGBell.hpp
+include/hyprland/src/protocols/XDGDecoration.hpp
+include/hyprland/src/protocols/XDGDialog.hpp
+include/hyprland/src/protocols/XDGOutput.hpp
+include/hyprland/src/protocols/XDGShell.hpp
+include/hyprland/src/protocols/XDGTag.hpp
+include/hyprland/src/protocols/XWaylandShell.hpp
+include/hyprland/src/protocols/XXColorManagement.hpp
+include/hyprland/src/protocols/core/Compositor.hpp
+include/hyprland/src/protocols/core/DataDevice.hpp
+include/hyprland/src/protocols/core/Output.hpp
+include/hyprland/src/protocols/core/Seat.hpp
+include/hyprland/src/protocols/core/Shm.hpp
+include/hyprland/src/protocols/core/Subcompositor.hpp
+include/hyprland/src/protocols/types/Buffer.hpp
+include/hyprland/src/protocols/types/ColorManagement.hpp
+include/hyprland/src/protocols/types/ContentType.hpp
+include/hyprland/src/protocols/types/DMABuffer.hpp
+include/hyprland/src/protocols/types/DataDevice.hpp
+include/hyprland/src/protocols/types/SurfaceRole.hpp
+include/hyprland/src/protocols/types/SurfaceState.hpp
+include/hyprland/src/protocols/types/WLBuffer.hpp
+include/hyprland/src/render/Framebuffer.hpp
+include/hyprland/src/render/OpenGL.hpp
+include/hyprland/src/render/Renderbuffer.hpp
+include/hyprland/src/render/Renderer.hpp
+include/hyprland/src/render/Shader.hpp
+include/hyprland/src/render/Texture.hpp
+include/hyprland/src/render/Transformer.hpp
+include/hyprland/src/render/decorations/CHyprBorderDecoration.hpp
+include/hyprland/src/render/decorations/CHyprDropShadowDecoration.hpp
+include/hyprland/src/render/decorations/CHyprGroupBarDecoration.hpp
+include/hyprland/src/render/decorations/DecorationPositioner.hpp
+include/hyprland/src/render/decorations/IHyprWindowDecoration.hpp
+include/hyprland/src/render/pass/BorderPassElement.hpp
+include/hyprland/src/render/pass/ClearPassElement.hpp
+include/hyprland/src/render/pass/FramebufferElement.hpp
+include/hyprland/src/render/pass/Pass.hpp
+include/hyprland/src/render/pass/PassElement.hpp
+include/hyprland/src/render/pass/PreBlurElement.hpp
+include/hyprland/src/render/pass/RectPassElement.hpp
+include/hyprland/src/render/pass/RendererHintsPassElement.hpp
+include/hyprland/src/render/pass/ShadowPassElement.hpp
+include/hyprland/src/render/pass/SurfacePassElement.hpp
+include/hyprland/src/render/pass/TexPassElement.hpp
+include/hyprland/src/render/pass/TextureMatteElement.hpp
+include/hyprland/src/render/shaders/CM.frag.inc
+include/hyprland/src/render/shaders/CM.glsl.inc
+include/hyprland/src/render/shaders/Shaders.hpp
+include/hyprland/src/render/shaders/blur1.frag.inc
+include/hyprland/src/render/shaders/blur2.frag.inc
+include/hyprland/src/render/shaders/blurfinish.frag.inc
+include/hyprland/src/render/shaders/blurprepare.frag.inc
+include/hyprland/src/render/shaders/border.frag.inc
+include/hyprland/src/render/shaders/ext.frag.inc
+include/hyprland/src/render/shaders/glitch.frag.inc
+include/hyprland/src/render/shaders/passthru.frag.inc
+include/hyprland/src/render/shaders/quad.frag.inc
+include/hyprland/src/render/shaders/rgba.frag.inc
+include/hyprland/src/render/shaders/rgbamatte.frag.inc
+include/hyprland/src/render/shaders/rgbx.frag.inc
+include/hyprland/src/render/shaders/rounding.glsl.inc
+include/hyprland/src/render/shaders/shadow.frag.inc
+include/hyprland/src/render/shaders/tex300.vert.inc
+include/hyprland/src/render/shaders/tex320.vert.inc
+include/hyprland/src/signal-safe.hpp
+include/hyprland/src/version.h
+include/hyprland/src/xwayland/Dnd.hpp
+include/hyprland/src/xwayland/Server.hpp
+include/hyprland/src/xwayland/XDataSource.hpp
+include/hyprland/src/xwayland/XSurface.hpp
+include/hyprland/src/xwayland/XWM.hpp
+include/hyprland/src/xwayland/XWayland.hpp
 share/bash-completion/completions/hyprctl
 share/bash-completion/completions/hyprpm
 share/fish/vendor_completions.d/hyprctl.fish
@@ -19,3 +292,4 @@ share/wayland-sessions/hyprland.desktop
 share/xdg-desktop-portal/hyprland-portals.conf
 share/zsh/site-functions/_hyprctl
 share/zsh/site-functions/_hyprpm
+@dir include/hyprland/src/render/shaders/glsl