git: 5122134372d0 - main - x11-wm/hyprland: update to 0.41.1

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Thu, 13 Jun 2024 12:49:17 UTC
The branch main has been updated by jbeich:

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

commit 5122134372d0fc95721fcf38a9deacae673d110a
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2024-06-10 14:23:06 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2024-06-13 12:44:04 +0000

    x11-wm/hyprland: update to 0.41.1
    
    Changes:        https://hyprland.org/news/update41/
    Changes:        https://github.com/hyprwm/Hyprland/releases/tag/v0.41.0
    Changes:        https://github.com/hyprwm/Hyprland/releases/tag/v0.41.1
    Reported by:    GitHub (watch releases)
---
 x11-wm/hyprland/Makefile             | 14 ++++++++------
 x11-wm/hyprland/distinfo             | 14 +++++++-------
 x11-wm/hyprland/files/patch-libc++16 | 35 +++++++++++++++++++++++++++++++++++
 3 files changed, 50 insertions(+), 13 deletions(-)

diff --git a/x11-wm/hyprland/Makefile b/x11-wm/hyprland/Makefile
index 74f757af0d87..90553eb574a7 100644
--- a/x11-wm/hyprland/Makefile
+++ b/x11-wm/hyprland/Makefile
@@ -1,11 +1,10 @@
 PORTNAME=	hyprland
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.40.0
-PORTREVISION=	3
+DISTVERSION=	0.41.1
 CATEGORIES=	x11-wm wayland
 
 PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+=	ec092bd601d9.patch:-p1 # hyprwayland-scanner 0.3.5
+PATCHFILES+=	810c74372b0c.patch:-p1 # https://github.com/hyprwm/Hyprland/pull/6471
 
 MAINTAINER=	jbeich@FreeBSD.org
 COMMENT=	Dynamic tiling Wayland compositor that doesn't sacrifice on its looks #'
@@ -15,9 +14,10 @@ LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
 BUILD_DEPENDS=	evdev-proto>0:devel/evdev-proto \
-		hyprwayland-scanner>=0.3.5:devel/hyprwayland-scanner \
+		hyprwayland-scanner>=0.3.10:devel/hyprwayland-scanner \
 		wayland-protocols>=1.35:graphics/wayland-protocols
 LIB_DEPENDS=	libhyprlang.so:devel/hyprlang \
+		libhyprutils.so:devel/hyprutils \
 		libtomlplusplus.so:devel/tomlplusplus \
 		libdrm.so:graphics/libdrm \
 		libwayland-server.so:graphics/wayland \
@@ -34,12 +34,12 @@ USE_GNOME=	cairo pango
 USE_XORG=	pixman
 GH_ACCOUNT=	hyprwm
 GH_PROJECT=	Hyprland
-GH_TUPLE=	hyprwm:hyprland-protocols:v0.2-4-g0c2ce70:hyprland_protocols/subprojects/hyprland-protocols \
+GH_TUPLE=	hyprwm:hyprland-protocols:v0.2-5-ge06482e:hyprland_protocols/subprojects/hyprland-protocols \
 		canihavesomecoffee:udis86:1.7.2-186-g5336633:udis86/subprojects/udis86
 MESON_ARGS=	-Dsystemd=disabled
 
 # Generated by "make update-hash" for commit_pins in hyprpm.toml
-GH_HASH=	cba1ade848feac44b2eda677503900639581c3f4
+GH_HASH=	9e781040d9067c2711ec2e9f5b47b76ef70762b3
 
 # XXX Drop after FreeBSD 14.0 EOL around 2024-10-01
 .if exists(/usr/lib/libc++.so) && !exists(/usr/include/c++/v1/__format/write_escaped.h)
@@ -56,6 +56,8 @@ OPTIONS_DEFINE=	X11
 OPTIONS_DEFAULT=X11
 
 X11_USE=		XORG=xcb
+X11_LIB_DEPENDS=	libxcb-errors.so:x11/xcb-util-errors \
+			libxcb-icccm.so:x11/xcb-util-wm
 X11_MESON_ENABLED=	xwayland
 
 post-patch:
diff --git a/x11-wm/hyprland/distinfo b/x11-wm/hyprland/distinfo
index 47990b4eaf0a..ce36664993a5 100644
--- a/x11-wm/hyprland/distinfo
+++ b/x11-wm/hyprland/distinfo
@@ -1,11 +1,11 @@
-TIMESTAMP = 1714837352
-SHA256 (hyprwm-Hyprland-v0.40.0_GH0.tar.gz) = b7b438f08bb921c6d51e2c2fd7b26b9495c56f9e66123184e7ef0f334eda9647
-SIZE (hyprwm-Hyprland-v0.40.0_GH0.tar.gz) = 47946709
-SHA256 (hyprwm-hyprland-protocols-v0.2-4-g0c2ce70_GH0.tar.gz) = d8eb9712d66a167a22a0dae829b6dba2b85814b566d0a87918c944e7c0388d1b
-SIZE (hyprwm-hyprland-protocols-v0.2-4-g0c2ce70_GH0.tar.gz) = 6478
+TIMESTAMP = 1718272446
+SHA256 (hyprwm-Hyprland-v0.41.1_GH0.tar.gz) = a818fa0b84245a436bf580c928496db4ac49fd64dcf4aac6646cc27f4f43ce23
+SIZE (hyprwm-Hyprland-v0.41.1_GH0.tar.gz) = 48022652
+SHA256 (hyprwm-hyprland-protocols-v0.2-5-ge06482e_GH0.tar.gz) = 05055f71e1f08496320bab54daa190f2fafec1a0e019af244edf1d37cdbf9b8a
+SIZE (hyprwm-hyprland-protocols-v0.2-5-ge06482e_GH0.tar.gz) = 7424
 SHA256 (canihavesomecoffee-udis86-1.7.2-186-g5336633_GH0.tar.gz) = 69aff959179ff6247b375b92e797221dbd8e078eabbf1366280b0532617e7fb8
 SIZE (canihavesomecoffee-udis86-1.7.2-186-g5336633_GH0.tar.gz) = 116938
 SHA256 (llvm-llvm-project-llvmorg-16.0.1_GH0.tar.gz) = b5a9ff1793b1e2d388a3819bf35797002b1d2e40bb35a10c65605e0ea1435271
 SIZE (llvm-llvm-project-llvmorg-16.0.1_GH0.tar.gz) = 179289803
-SHA256 (ec092bd601d9.patch) = a4ab9aad0aeba3aa1f806f5716b01745ef1ea24bae1349b1d2fe3ab29fee5e1c
-SIZE (ec092bd601d9.patch) = 2181
+SHA256 (810c74372b0c.patch) = 95094a942b24ea776904e4a79f8f01d2e05cfe143e2ee613d83a76adab2d66ac
+SIZE (810c74372b0c.patch) = 1091
diff --git a/x11-wm/hyprland/files/patch-libc++16 b/x11-wm/hyprland/files/patch-libc++16
new file mode 100644
index 000000000000..52303c71d65d
--- /dev/null
+++ b/x11-wm/hyprland/files/patch-libc++16
@@ -0,0 +1,35 @@
+Drop after FreeBSD 14.0 EOL around 2024-09-30
+
+In file included from ../src/pch/pch.hpp:1:
+In file included from ../src/Compositor.hpp:7:
+In file included from ../src/defines.hpp:2:
+../src/debug/Log.hpp:58:35: error: call to consteval function 'std::basic_format_string<char, const std::chrono::hh_mm_ss<std::chrono::duration<long long, std::ratio<1, 1000000>>> &>::basic_format_string<char[6]>' is not a constant expression
+            logMsg += std::format("[{}] ", hms);
+                                  ^
+/usr/include/c++/v1/__format/format_functions.h:341:46: note: initializer of '__types_' is not a constant expression
+                           _Context{__types_.data(), __handles_.data(), sizeof...(_Args)});
+                                             ^
+../src/debug/Log.hpp:58:35: note: in call to 'basic_format_string("[{}] ")'
+            logMsg += std::format("[{}] ", hms);
+                                  ^
+/usr/include/c++/v1/__format/format_functions.h:353:63: note: declared here
+  static constexpr array<__format::__arg_t, sizeof...(_Args)> __types_{
+                                                              ^
+
+--- src/debug/Log.hpp.orig	2024-06-05 16:30:46.000000000 +0000
++++ src/debug/Log.hpp
+@@ -51,11 +51,12 @@ namespace Debug {
+ #ifndef _LIBCPP_VERSION
+             const auto zt  = std::chrono::zoned_time{std::chrono::current_zone(), std::chrono::system_clock::now()};
+             const auto hms = std::chrono::hh_mm_ss{zt.get_local_time() - std::chrono::floor<std::chrono::days>(zt.get_local_time())};
++            logMsg += std::format("[{}] ", hms);
+ #else
+             // TODO: current clang 17 does not support `zoned_time`, remove this once clang 19 is ready
+-            const auto hms = std::chrono::hh_mm_ss{std::chrono::system_clock::now() - std::chrono::floor<std::chrono::days>(std::chrono::system_clock::now())};
++            auto c = std::chrono::hh_mm_ss{std::chrono::system_clock::now() - std::chrono::floor<std::chrono::days>(std::chrono::system_clock::now())};
++            logMsg += std::format("{:%H}:{:%M}:{:%S}", c.hours(), c.minutes(), c.subseconds());
+ #endif
+-            logMsg += std::format("[{}] ", hms);
+         }
+ 
+         // no need for try {} catch {} because std::format_string<Args...> ensures that vformat never throw std::format_error