git: 7893628fbc00 - main - x11-wm/hyprland: update to 0.51.0

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Sun, 14 Sep 2025 06:44:03 UTC
The branch main has been updated by tagattie:

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

commit 7893628fbc00c27e2a39943c4f70999186ea88e8
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2025-09-14 06:42:27 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2025-09-14 06:43:57 +0000

    x11-wm/hyprland: update to 0.51.0
    
    Changelog: https://github.com/hyprwm/Hyprland/releases/tag/v0.51.0
    
    Reported by:    GitHub (watch releases)
---
 x11-wm/hyprland/Makefile                              | 16 +++++++++-------
 x11-wm/hyprland/distinfo                              | 10 +++-------
 x11-wm/hyprland/files/patch-hyprctl_main.cpp          |  4 ++--
 x11-wm/hyprland/files/patch-hyprpm                    | 14 --------------
 .../files/patch-hyprpm_src_core_PluginManager.cpp     | 14 ++++++++++++++
 .../hyprland/files/patch-src_config_ConfigWatcher.cpp | 10 ++++++++++
 x11-wm/hyprland/files/patch-src_render_OpenGL.cpp     | 11 +++++++++++
 x11-wm/hyprland/pkg-plist                             | 19 ++++++++++++++++++-
 8 files changed, 67 insertions(+), 31 deletions(-)

diff --git a/x11-wm/hyprland/Makefile b/x11-wm/hyprland/Makefile
index 196623dd407d..1bcefe7d7c5a 100644
--- a/x11-wm/hyprland/Makefile
+++ b/x11-wm/hyprland/Makefile
@@ -1,15 +1,11 @@
 PORTNAME=	hyprland
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.50.1
+DISTVERSION=	0.51.0
 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://hypr.land/
@@ -20,7 +16,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.43:graphics/wayland-protocols
+		wayland-protocols>=1.45:graphics/wayland-protocols
 LIB_DEPENDS=	libhyprlang.so:devel/hyprlang \
 		libhyprutils.so:devel/hyprutils \
 		libinotify.so:devel/libinotify \
@@ -76,6 +72,8 @@ post-patch:
 # Respect consolekit2 as XDG_RUNTIME_DIR fallback
 	@${REINPLACE_CMD} 's|/run/user|/var&|' \
 		${WRKSRC}/hyprctl/main.cpp \
+		${WRKSRC}/hyprpm/src/core/HyprlandSocket.cpp \
+		${WRKSRC}/hyprtester/src/hyprctlCompat.cpp \
 		${WRKSRC}/src/Compositor.cpp
 # Respect PREFIX for wallpapers
 	@${REINPLACE_CMD} 's|/usr/share|${DATADIR:H}|' \
@@ -83,7 +81,11 @@ post-patch:
 # XXX Replace linprocfs(4) with sysctl(3)
 	@${REINPLACE_CMD} -e 's|/proc|${LINUXBASE}&|g' \
 		${WRKSRC}/src/desktop/Window.cpp \
-		${WRKSRC}/src/plugins/HookSystem.cpp
+		${WRKSRC}/src/debug/HyprCtl.cpp \
+		${WRKSRC}/src/debug/CrashReporter.cpp \
+		${WRKSRC}/src/helpers/MiscFunctions.cpp \
+		${WRKSRC}/src/plugins/HookSystem.cpp \
+		${WRKSRC}/src/plugins/PluginAPI.cpp
 
 post-install:
 	@${RM} ${STAGEDIR}${PREFIX}/bin/hyprland
diff --git a/x11-wm/hyprland/distinfo b/x11-wm/hyprland/distinfo
index f694d363d3c2..5c6e9ab0866e 100644
--- a/x11-wm/hyprland/distinfo
+++ b/x11-wm/hyprland/distinfo
@@ -1,7 +1,3 @@
-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
+TIMESTAMP = 1757747353
+SHA256 (hyprland/source-v0.51.0.tar.gz) = 6f02fcde4f21286f8b36f19f491e4a987e5cc7e7d74f48271da31b85cec47fb7
+SIZE (hyprland/source-v0.51.0.tar.gz) = 54279784
diff --git a/x11-wm/hyprland/files/patch-hyprctl_main.cpp b/x11-wm/hyprland/files/patch-hyprctl_main.cpp
index 25fc645e01a9..b1c28e23f453 100644
--- a/x11-wm/hyprland/files/patch-hyprctl_main.cpp
+++ b/x11-wm/hyprland/files/patch-hyprctl_main.cpp
@@ -1,6 +1,6 @@
---- hyprctl/main.cpp.orig	2025-07-25 09:09:59 UTC
+--- hyprctl/main.cpp.orig	2025-09-10 12:53:39 UTC
 +++ hyprctl/main.cpp
-@@ -268,7 +268,7 @@ int requestIPC(std::string_view filename, std::string_
+@@ -270,7 +270,7 @@ int requestIPC(std::string_view filename, std::string_
      sockaddr_un serverAddress = {0};
      serverAddress.sun_family  = AF_UNIX;
  
diff --git a/x11-wm/hyprland/files/patch-hyprpm b/x11-wm/hyprland/files/patch-hyprpm
deleted file mode 100644
index 308729eb409b..000000000000
--- a/x11-wm/hyprland/files/patch-hyprpm
+++ /dev/null
@@ -1,14 +0,0 @@
-Avoid hyprpm rebuilding Hyprland outside of ports
-
---- hyprpm/src/core/PluginManager.cpp.orig	2024-04-14 18:48:28 UTC
-+++ hyprpm/src/core/PluginManager.cpp
-@@ -316,9 +316,6 @@ eHeadersErrors CPluginManager::headersValid() {
- eHeadersErrors CPluginManager::headersValid() {
-     const auto HLVER = getHyprlandVersion();
- 
--    if (!std::filesystem::exists(DataState::getHeadersPath() + "/share/pkgconfig/hyprland.pc"))
--        return HEADERS_MISSING;
--
-     // find headers commit
-     std::string cmd     = std::format("PKG_CONFIG_PATH=\"{}/share/pkgconfig\" pkgconf --cflags --keep-system-cflags hyprland", DataState::getHeadersPath());
-     auto        headers = execAndGet(cmd.c_str());
diff --git a/x11-wm/hyprland/files/patch-hyprpm_src_core_PluginManager.cpp b/x11-wm/hyprland/files/patch-hyprpm_src_core_PluginManager.cpp
new file mode 100644
index 000000000000..898c0e5b76c2
--- /dev/null
+++ b/x11-wm/hyprland/files/patch-hyprpm_src_core_PluginManager.cpp
@@ -0,0 +1,14 @@
+Avoid hyprpm rebuilding Hyprland outside of ports
+
+--- hyprpm/src/core/PluginManager.cpp.orig	2025-09-10 12:53:39 UTC
++++ hyprpm/src/core/PluginManager.cpp
+@@ -391,9 +391,6 @@ eHeadersErrors CPluginManager::headersValid() {
+ eHeadersErrors CPluginManager::headersValid() {
+     const auto HLVER = getHyprlandVersion(false);
+ 
+-    if (!std::filesystem::exists(DataState::getHeadersPath() + "/share/pkgconfig/hyprland.pc"))
+-        return HEADERS_MISSING;
+-
+     // find headers commit
+     const std::string& cmd     = std::format("PKG_CONFIG_PATH=\"{}/share/pkgconfig\" pkgconf --cflags --keep-system-cflags hyprland", DataState::getHeadersPath());
+     auto               headers = execAndGet(cmd);
diff --git a/x11-wm/hyprland/files/patch-src_config_ConfigWatcher.cpp b/x11-wm/hyprland/files/patch-src_config_ConfigWatcher.cpp
new file mode 100644
index 000000000000..3dc27808ece6
--- /dev/null
+++ b/x11-wm/hyprland/files/patch-src_config_ConfigWatcher.cpp
@@ -0,0 +1,10 @@
+--- src/config/ConfigWatcher.cpp.orig	2025-09-13 08:12:56 UTC
++++ src/config/ConfigWatcher.cpp
+@@ -1,5 +1,7 @@
+ #include "ConfigWatcher.hpp"
++#if defined(__linux__)
+ #include <linux/limits.h>
++#endif
+ #include <sys/inotify.h>
+ #include "../debug/Log.hpp"
+ #include <ranges>
diff --git a/x11-wm/hyprland/files/patch-src_render_OpenGL.cpp b/x11-wm/hyprland/files/patch-src_render_OpenGL.cpp
new file mode 100644
index 000000000000..5fea597d485e
--- /dev/null
+++ b/x11-wm/hyprland/files/patch-src_render_OpenGL.cpp
@@ -0,0 +1,11 @@
+--- src/render/OpenGL.cpp.orig	2025-09-13 08:51:11 UTC
++++ src/render/OpenGL.cpp
+@@ -2876,7 +2876,7 @@ void CHyprOpenGLImpl::ensureBackgroundTexturePresence(
+     static auto PNOWALLPAPER    = CConfigValue<Hyprlang::INT>("misc:disable_hyprland_logo");
+     static auto PFORCEWALLPAPER = CConfigValue<Hyprlang::INT>("misc:force_default_wallpaper");
+ 
+-    const auto  FORCEWALLPAPER = std::clamp(*PFORCEWALLPAPER, -1L, 2L);
++    const auto  FORCEWALLPAPER = std::clamp(*PFORCEWALLPAPER, static_cast<Hyprlang::INT>(-1), static_cast<Hyprlang::INT>(2));
+ 
+     if (*PNOWALLPAPER)
+         m_backgroundTexture.reset();
diff --git a/x11-wm/hyprland/pkg-plist b/x11-wm/hyprland/pkg-plist
index 32f5cf3feb32..dbbe6af63d2e 100644
--- a/x11-wm/hyprland/pkg-plist
+++ b/x11-wm/hyprland/pkg-plist
@@ -7,6 +7,7 @@ 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-data-control-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
@@ -28,6 +29,7 @@ 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/pointer-warp-v1.hpp
 include/hyprland/protocols/presentation-time.hpp
 include/hyprland/protocols/primary-selection-unstable-v1.hpp
 include/hyprland/protocols/relative-pointer-unstable-v1.hpp
@@ -128,7 +130,6 @@ 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
@@ -143,12 +144,26 @@ 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/animation/AnimationManager.hpp
+include/hyprland/src/managers/animation/DesktopAnimationManager.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/input/UnifiedWorkspaceSwipeGesture.hpp
+include/hyprland/src/managers/input/trackpad/GestureTypes.hpp
+include/hyprland/src/managers/input/trackpad/TrackpadGestures.hpp
+include/hyprland/src/managers/input/trackpad/gestures/CloseGesture.hpp
+include/hyprland/src/managers/input/trackpad/gestures/DispatcherGesture.hpp
+include/hyprland/src/managers/input/trackpad/gestures/FloatGesture.hpp
+include/hyprland/src/managers/input/trackpad/gestures/FullscreenGesture.hpp
+include/hyprland/src/managers/input/trackpad/gestures/ITrackpadGesture.hpp
+include/hyprland/src/managers/input/trackpad/gestures/MoveGesture.hpp
+include/hyprland/src/managers/input/trackpad/gestures/ResizeGesture.hpp
+include/hyprland/src/managers/input/trackpad/gestures/SpecialWorkspaceGesture.hpp
+include/hyprland/src/managers/input/trackpad/gestures/WorkspaceSwipeGesture.hpp
 include/hyprland/src/managers/permissions/DynamicPermissionManager.hpp
 include/hyprland/src/pch/pch.hpp
 include/hyprland/src/plugins/HookSystem.hpp
@@ -162,6 +177,7 @@ 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/ExtDataDevice.hpp
 include/hyprland/src/protocols/ExtWorkspace.hpp
 include/hyprland/src/protocols/FocusGrab.hpp
 include/hyprland/src/protocols/ForeignToplevel.hpp
@@ -182,6 +198,7 @@ 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/PointerWarp.hpp
 include/hyprland/src/protocols/PresentationTime.hpp
 include/hyprland/src/protocols/PrimarySelection.hpp
 include/hyprland/src/protocols/RelativePointer.hpp