git: 0afb6d6c2f6c - main - x11/xdg-desktop-portal-hyprland: add new port

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Tue, 13 Dec 2022 11:32:13 UTC
The branch main has been updated by jbeich:

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

commit 0afb6d6c2f6c6a67bafd4c5dbe3732321f2a5470
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2022-12-13 00:55:12 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2022-12-13 11:30:39 +0000

    x11/xdg-desktop-portal-hyprland: add new port
    
    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.
---
 x11/Makefile                              |  2 ++
 x11/hyprland-share-picker/Makefile        | 33 ++++++++++++++++++++++++++
 x11/hyprland-share-picker/distinfo        |  5 ++++
 x11/hyprland-share-picker/pkg-descr       |  1 +
 x11/xdg-desktop-portal-hyprland/Makefile  | 39 +++++++++++++++++++++++++++++++
 x11/xdg-desktop-portal-hyprland/distinfo  |  5 ++++
 x11/xdg-desktop-portal-hyprland/pkg-descr |  4 ++++
 7 files changed, 89 insertions(+)

diff --git a/x11/Makefile b/x11/Makefile
index 34345569ff43..7bed8e4f543d 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -110,6 +110,7 @@
     SUBDIR += hhpc
     SUBDIR += hs-xmobar
     SUBDIR += hsetroot
+    SUBDIR += hyprland-share-picker
     SUBDIR += hyprpaper
     SUBDIR += hyprpicker
     SUBDIR += i3blocks
@@ -470,6 +471,7 @@
     SUBDIR += xconsole
     SUBDIR += xcursorgen
     SUBDIR += xcut
+    SUBDIR += xdg-desktop-portal-hyprland
     SUBDIR += xdg-desktop-portal-wlr
     SUBDIR += xdialog
     SUBDIR += xditview
diff --git a/x11/hyprland-share-picker/Makefile b/x11/hyprland-share-picker/Makefile
new file mode 100644
index 000000000000..904a000c896b
--- /dev/null
+++ b/x11/hyprland-share-picker/Makefile
@@ -0,0 +1,33 @@
+PORTNAME=	hyprland-share-picker
+PORTVERSION=	s20221213
+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_FILE=	${WRKSRC:H}/LICENSE
+
+FLAVORS=	qt5 qt6
+
+USES=		compiler:c++11-lib cmake qt:5
+USE_GITHUB=	yes
+USE_QT=		qmake:build buildtools:build core gui wayland:run widgets
+GH_ACCOUNT=	hyprwm
+GH_PROJECT=	xdg-desktop-portal-hyprland
+GH_TAGNAME=	9fb4fae
+WRKSRC_SUBDIR=	${PORTNAME}
+LDFLAGS+=	-Wl,--as-needed # GL
+PLIST_FILES=	bin/${PORTNAME}
+
+.if ${FLAVOR:U} == qt6
+PKGNAMESUFFIX=	-${FLAVOR}
+USES:=		${USES:S/qt:5/qt:6/}
+USE_QT=		base wayland:run
+CONFLICTS_INSTALL=	${PORTNAME}
+.else
+CONFLICTS_INSTALL=	${PORTNAME}-qt6
+.endif
+
+.include <bsd.port.mk>
diff --git a/x11/hyprland-share-picker/distinfo b/x11/hyprland-share-picker/distinfo
new file mode 100644
index 000000000000..affe76e44189
--- /dev/null
+++ b/x11/hyprland-share-picker/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1670892912
+SHA256 (hyprwm-xdg-desktop-portal-hyprland-s20221213-9fb4fae_GH0.tar.gz) = d845976ecd41be71562d29f408ca42101bf9890d2267a6ce21d5afde97a5eee1
+SIZE (hyprwm-xdg-desktop-portal-hyprland-s20221213-9fb4fae_GH0.tar.gz) = 44761
+SHA256 (hyprwm-hyprland-protocols-301733a_GH0.tar.gz) = 3b3b4e948525f1d823313390b2551ea8969d0cbf82bd72e2a4a2ce2750552330
+SIZE (hyprwm-hyprland-protocols-301733a_GH0.tar.gz) = 4852
diff --git a/x11/hyprland-share-picker/pkg-descr b/x11/hyprland-share-picker/pkg-descr
new file mode 100644
index 000000000000..8ca48a6ed474
--- /dev/null
+++ b/x11/hyprland-share-picker/pkg-descr
@@ -0,0 +1 @@
+Share picker for xdg-desktop-portal-hyprland.
diff --git a/x11/xdg-desktop-portal-hyprland/Makefile b/x11/xdg-desktop-portal-hyprland/Makefile
new file mode 100644
index 000000000000..13fdb7ca3dbf
--- /dev/null
+++ b/x11/xdg-desktop-portal-hyprland/Makefile
@@ -0,0 +1,39 @@
+PORTNAME=	xdg-desktop-portal-hyprland
+PORTVERSION=	s20221213
+CATEGORIES=	x11 wayland
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	xdg-desktop-portal backend for hyprland
+WWW=		https://github.com/hyprwm/xdg-desktop-portal-hyprland
+
+LICENSE=	MIT
+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 \
+		libdrm.so:graphics/libdrm \
+		libwayland-client.so:graphics/wayland \
+		libpipewire-0.3.so:multimedia/pipewire
+RUN_DEPENDS=	grim:x11/grim \
+		hyprland-share-picker:x11/hyprland-share-picker
+
+USES=		compiler:c11 gl meson pkgconfig
+USE_GITHUB=	yes
+USE_GL=		gbm
+GH_ACCOUNT=	hyprwm
+GH_TAGNAME=	9fb4fae
+GH_TUPLE=	hyprwm:hyprland-protocols:301733a:hyprland_protocols/protocols/hyprland-protocols
+MESON_ARGS=	-Dsd-bus-provider=basu
+PLIST_FILES=	libexec/${PORTNAME} \
+		share/dbus-1/services/org.freedesktop.impl.portal.desktop.hyprland.service \
+		share/xdg-desktop-portal/portals/hyprland.portal
+
+OPTIONS_DEFINE=	SLURP
+OPTIONS_DEFAULT=SLURP
+
+SLURP_DESC=		Simple output chooser
+SLURP_RUN_DEPENDS=	slurp:x11/slurp
+
+.include <bsd.port.mk>
diff --git a/x11/xdg-desktop-portal-hyprland/distinfo b/x11/xdg-desktop-portal-hyprland/distinfo
new file mode 100644
index 000000000000..affe76e44189
--- /dev/null
+++ b/x11/xdg-desktop-portal-hyprland/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1670892912
+SHA256 (hyprwm-xdg-desktop-portal-hyprland-s20221213-9fb4fae_GH0.tar.gz) = d845976ecd41be71562d29f408ca42101bf9890d2267a6ce21d5afde97a5eee1
+SIZE (hyprwm-xdg-desktop-portal-hyprland-s20221213-9fb4fae_GH0.tar.gz) = 44761
+SHA256 (hyprwm-hyprland-protocols-301733a_GH0.tar.gz) = 3b3b4e948525f1d823313390b2551ea8969d0cbf82bd72e2a4a2ce2750552330
+SIZE (hyprwm-hyprland-protocols-301733a_GH0.tar.gz) = 4852
diff --git a/x11/xdg-desktop-portal-hyprland/pkg-descr b/x11/xdg-desktop-portal-hyprland/pkg-descr
new file mode 100644
index 000000000000..679d78190620
--- /dev/null
+++ b/x11/xdg-desktop-portal-hyprland/pkg-descr
@@ -0,0 +1,4 @@
+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.