git: 4907de1a82c9 - 2023Q3 - x11/xdg-desktop-portal-hyprland: update to 1.1.0

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Sat, 23 Sep 2023 00:59:00 UTC
The branch 2023Q3 has been updated by jbeich:

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

commit 4907de1a82c993f2508b102ede069de772d681fe
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2023-09-06 18:36:48 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2023-09-23 00:56:27 +0000

    x11/xdg-desktop-portal-hyprland: update to 1.1.0
    
    Changes:        https://github.com/hyprwm/xdg-desktop-portal-hyprland/releases/tag/v1.1.0
    Reported by:    GitHub (watch releases)
    
    (cherry picked from commit 4ce3b4b71dcbf414bd7304c7336a78b2721f77f2)
    (cherry picked from commit ea74fe0de08e3e2cee2f35286896b32f120faa0c)
    (cherry picked from commit 8bed8f91a83ca7bae52607fe63edca0c406f5b97)
    (cherry picked from commit 4d59be6930e8d7f26c67454eaf05d4f1f934a101)
    (cherry picked from commit c4c6f690d7bb8de7a320f0cb73b9decdcc1437be)
    (cherry picked from commit 66be1d09f008a202f02624a48435cc7ec124d341)
---
 x11/hyprland-share-picker/Makefile        |  5 +--
 x11/hyprland-share-picker/distinfo        |  6 +--
 x11/xdg-desktop-portal-hyprland/Makefile  | 62 +++++++++++++++++++++++++------
 x11/xdg-desktop-portal-hyprland/distinfo  | 10 +++--
 x11/xdg-desktop-portal-hyprland/pkg-descr |  5 +--
 5 files changed, 63 insertions(+), 25 deletions(-)

diff --git a/x11/hyprland-share-picker/Makefile b/x11/hyprland-share-picker/Makefile
index 8b64c6a732bf..b867b9b7dc18 100644
--- a/x11/hyprland-share-picker/Makefile
+++ b/x11/hyprland-share-picker/Makefile
@@ -1,14 +1,13 @@
 PORTNAME=	hyprland-share-picker
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.5.0
-PORTREVISION=	1
+DISTVERSION=	1.1.0
 CATEGORIES=	x11 wayland
 
 MAINTAINER=	jbeich@FreeBSD.org
 COMMENT=	Share picker for xdg-desktop-portal-hyprland
 WWW=		https://github.com/hyprwm/xdg-desktop-portal-hyprland
 
-LICENSE=	MIT
+LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC:H}/LICENSE
 
 RUN_DEPENDS=	slurp:x11/slurp
diff --git a/x11/hyprland-share-picker/distinfo b/x11/hyprland-share-picker/distinfo
index e1271eef1301..093cc075d392 100644
--- a/x11/hyprland-share-picker/distinfo
+++ b/x11/hyprland-share-picker/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1691082525
-SHA256 (hyprwm-xdg-desktop-portal-hyprland-v0.5.0_GH0.tar.gz) = d346cbe170e7042d5e364242a715d021d9b8da2078a169771cf84cda13f24e76
-SIZE (hyprwm-xdg-desktop-portal-hyprland-v0.5.0_GH0.tar.gz) = 50608
+TIMESTAMP = 1695057057
+SHA256 (hyprwm-xdg-desktop-portal-hyprland-v1.1.0_GH0.tar.gz) = 4a51163ec91f1d5ec7f8c44205d44e4cb429db05edf75cc273d3a8a8efffb7c3
+SIZE (hyprwm-xdg-desktop-portal-hyprland-v1.1.0_GH0.tar.gz) = 42732
diff --git a/x11/xdg-desktop-portal-hyprland/Makefile b/x11/xdg-desktop-portal-hyprland/Makefile
index 6155720de1e5..f6a5a8d16903 100644
--- a/x11/xdg-desktop-portal-hyprland/Makefile
+++ b/x11/xdg-desktop-portal-hyprland/Makefile
@@ -1,46 +1,84 @@
 PORTNAME=	xdg-desktop-portal-hyprland
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.5.0
+DISTVERSION=	1.1.0
 CATEGORIES=	x11 wayland
 
+PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+=	54b5467ec12f.patch:-p1 # https://github.com/hyprwm/xdg-desktop-portal-hyprland/pull/98
+
 MAINTAINER=	jbeich@FreeBSD.org
 COMMENT=	xdg-desktop-portal backend for hyprland
 WWW=		https://github.com/hyprwm/xdg-desktop-portal-hyprland
 
-LICENSE=	MIT
+LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BUILD_DEPENDS=	wayland-protocols>=1.24:graphics/wayland-protocols
-LIB_DEPENDS=	libbasu.so:devel/basu \
-		libinih.so:devel/inih \
-		libepoll-shim.so:devel/libepoll-shim \
+BROKEN_FreeBSD_12=	libc++ too old
+
+BUILD_DEPENDS=	wayland-protocols>=1.31:graphics/wayland-protocols
+LIB_DEPENDS=	libsdbus-c++.so:devel/sdbus-cpp \
 		libdrm.so:graphics/libdrm \
 		libwayland-client.so:graphics/wayland \
-		libuuid.so:misc/e2fsprogs-libuuid \
 		libpipewire-0.3.so:multimedia/pipewire
-RUN_DEPENDS=	grim:x11/grim \
-		hyprland-share-picker:x11/hyprland-share-picker@${FLAVOR} \
-		slurp:x11/slurp
+RUN_DEPENDS=	hyprland-share-picker:x11/hyprland-share-picker@${FLAVOR}
 
 FLAVORS=	qt5 qt6
 qt5_CONFLICTS_INSTALL=	${PORTNAME}-qt6
 qt6_CONFLICTS_INSTALL=	${PORTNAME}
 qt6_PKGNAMESUFFIX=	-qt6
 
-USES=		compiler:c11 gl meson pkgconfig
+USES=		compiler:gcc-c++11-lib gl meson pkgconfig
 USE_GITHUB=	yes
 USE_GL=		gbm
 GH_ACCOUNT=	hyprwm
 GH_TUPLE=	hyprwm:hyprland-protocols:v0.2:hyprland_protocols/subprojects/hyprland-protocols
-MESON_ARGS=	-Dsd-bus-provider=basu -Dsystemd=disabled
+MESON_ARGS=	-Dsystemd=disabled
 PLIST_FILES=	libexec/${PORTNAME} \
 		share/dbus-1/services/org.freedesktop.impl.portal.desktop.hyprland.service \
 		share/xdg-desktop-portal/portals/hyprland.portal
 
+# XXX Drop after FreeBSD 14.0 EOL around 2025-03-01
+.if exists(/usr/lib/libc++.so) && !exists(/usr/include/c++/v1/__format/write_escaped.h)
+# Emulate -fexperimental-library for GCC
+CXXFLAGS+=	-D_LIBCPP_ENABLE_EXPERIMENTAL # std::vformat
+LDFLAGS+=	-lc++experimental
+.endif
+
+post-patch:
+# XXX Merge with hyprland-share-picker instead
+	@${REINPLACE_CMD} '/hyprland-share-picker/d' ${WRKSRC}/meson.build
+
 .ifdef GH_TUPLE
 post-configure:
 	@${REINPLACE_CMD} 's/meson install/& \
 		--skip-subprojects/' ${BUILD_WRKSRC}/build.ninja
 .endif
 
+# XXX Drop after FreeBSD 13.2 EOL around 2024-05-01 (don't forget distinfo)
+.if ${CXX} == c++ && exists(/usr/lib/libc++.so)
+.if !exists(/usr/include/c++/v1/__ranges/as_rvalue_view.h) || make(makesum) || make(fetch)
+BUILD_DEPENDS+=	${CMAKE_BIN}:devel/cmake-core
+CONFIGURE_ENV+=	CC="${CC}" CXX="${CXX}" CPP="${CPP}"
+CMAKE_BIN=	${LOCALBASE}/bin/cmake
+
+# XXX Move into separate port and standardize via USES
+GH_TUPLE+=	llvm:llvm-project:llvmorg-16.0.1:libcxx
+CXXFLAGS+=	-nostdinc++ -isystem${WRKDIR}/libcxx_prefix/include/c++/v1
+# Don't link against new libc++ as it's not necessary
+#LDFLAGS+=	-nostdlib++ -L${WRKDIR}/libcxx_prefix/lib -l:libc++.a -lcxxrt
+
+pre-configure:	bundled-libcxx
+bundled-libcxx:
+	@${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} \
+		-DLIBCXX_INCLUDE_BENCHMARKS:BOOL=OFF \
+		-DCMAKE_INSTALL_PREFIX:PATH=${WRKDIR}/libcxx_prefix \
+		-B ${WRKDIR}/libcxx_build -S ${WRKSRC_libcxx}/libcxx
+	@${DO_MAKE_BUILD:NDESTDIR*} install -C ${WRKDIR}/libcxx_build
+.endif
+.endif # exists(/usr/lib/libc++.so)
+
 .include <bsd.port.mk>
+
+# XXX USES=compiler:gcc-c++11-lib
+RUN_DEPENDS:=	${RUN_DEPENDS:Ngcc*}
+LDFLAGS+=	-static-libgcc
diff --git a/x11/xdg-desktop-portal-hyprland/distinfo b/x11/xdg-desktop-portal-hyprland/distinfo
index 17c570244bb3..08010d9d71ea 100644
--- a/x11/xdg-desktop-portal-hyprland/distinfo
+++ b/x11/xdg-desktop-portal-hyprland/distinfo
@@ -1,5 +1,9 @@
-TIMESTAMP = 1691082525
-SHA256 (hyprwm-xdg-desktop-portal-hyprland-v0.5.0_GH0.tar.gz) = d346cbe170e7042d5e364242a715d021d9b8da2078a169771cf84cda13f24e76
-SIZE (hyprwm-xdg-desktop-portal-hyprland-v0.5.0_GH0.tar.gz) = 50608
+TIMESTAMP = 1695057057
+SHA256 (hyprwm-xdg-desktop-portal-hyprland-v1.1.0_GH0.tar.gz) = 4a51163ec91f1d5ec7f8c44205d44e4cb429db05edf75cc273d3a8a8efffb7c3
+SIZE (hyprwm-xdg-desktop-portal-hyprland-v1.1.0_GH0.tar.gz) = 42732
 SHA256 (hyprwm-hyprland-protocols-v0.2_GH0.tar.gz) = 106cb189d0fbe4ec0ee11a12a17238172f4c4cd1b2b26db904df144e5c7a05f0
 SIZE (hyprwm-hyprland-protocols-v0.2_GH0.tar.gz) = 6342
+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 (54b5467ec12f.patch) = 2cacc5de7b4b72410b9d338377ee51927fdc61918bf4657dd4c03eda7e56b34f
+SIZE (54b5467ec12f.patch) = 2818
diff --git a/x11/xdg-desktop-portal-hyprland/pkg-descr b/x11/xdg-desktop-portal-hyprland/pkg-descr
index 679d78190620..94c1572120d6 100644
--- a/x11/xdg-desktop-portal-hyprland/pkg-descr
+++ b/x11/xdg-desktop-portal-hyprland/pkg-descr
@@ -1,4 +1 @@
-Due to reasons explained in hyprland-protocols, we have a separate
-desktop portal impl for Hyprland.
-
-Although -wlr *does* work with Hyprland, -hyprland offers more features.
+An XDG Desktop Portal backend for Hyprland.