From 29cdba6b926229eaaa6f4f8cca2fcd7b155764fc Mon Sep 17 00:00:00 2001 From: mblob Date: Sun, 10 Sep 2023 09:15:38 +0200 Subject: [PATCH] added gui-libs/wdg-desktop-portal-hyprland --- .../xdg-desktop-portal-hyprland/metadata.xml | 26 ++++++++ .../xdg-desktop-portal-hyprland-9999.ebuild | 65 +++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 gui-libs/xdg-desktop-portal-hyprland/metadata.xml create mode 100644 gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-9999.ebuild diff --git a/gui-libs/xdg-desktop-portal-hyprland/metadata.xml b/gui-libs/xdg-desktop-portal-hyprland/metadata.xml new file mode 100644 index 0000000..a76aba9 --- /dev/null +++ b/gui-libs/xdg-desktop-portal-hyprland/metadata.xml @@ -0,0 +1,26 @@ + + + + + mblob@mysticfrogs.com + mblob + + + https://wiki.hyprland.org/hyprland-wiki/pages/Useful-Utilities/Hyprland-desktop-portal/ + hyprwm/xdg-desktop-portal-hyprland + https://github.com/hyprwm/xdg-desktop-portal-hyprland/issues + + + An XDG Desktop Portal (later called XDP) is a program that lets + other applications communicate swiftly with the compositor through + D-Bus. It's used for stuff like e.g. opening file pickers, screen sharing. + On Wayland, it also requires an implementation. For Hyprland, you'd usually + use xdg-desktop-portal-wlr (later called XDPW). Unfortunately, due to various + reasons the -wlr portal is inferior to the KDE or Gnome ones. In order to + bridge the gap, Hyprland has its own fork of XDPW that has more features, + called xdg-desktop-portal-hyprland. + + + Enable support for rootless session via elogind + + diff --git a/gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-9999.ebuild b/gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-9999.ebuild new file mode 100644 index 0000000..54cd820 --- /dev/null +++ b/gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-9999.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson + +DESCRIPTION="xdg-desktop-portal backend for hyprland" +HOMEPAGE="https://github.com/hyprwm/xdg-desktop-portal-hyprland" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/hyprwm/xdg-desktop-portal-hyprland.git" + inherit git-r3 +else + KEYWORDS="~amd64" + SRC_URI="https://github.com/hyprwm/xdg-desktop-portal-hyprland/archive/refs/tags/v${PV}.tar.gz \ + -> xdg-desktop-hyprland-${PV}.tar.gz" +fi + +LICENSE="MIT" +SLOT="0/9999" +IUSE="elogind systemd" +REQUIRED_USE="?? ( elogind systemd )" + +DEPEND=" + >=media-video/pipewire-0.3.41:= + dev-libs/inih + dev-libs/wayland + dev-qt/qtbase + dev-qt/qtcore + dev-qt/qtgui + dev-qt/qtwayland:6 + dev-qt/qtwidgets + media-libs/mesa + sys-apps/util-linux + x11-libs/libdrm + || ( + systemd? ( >=sys-apps/systemd-237 ) + elogind? ( >=sys-auth/elogind-237 ) + sys-libs/basu + ) +" +RDEPEND=" + ${DEPEND} + sys-apps/xdg-desktop-portal +" +BDEPEND=" + >=dev-libs/wayland-protocols-1.24 + dev-libs/hyprland-protocols + virtual/pkgconfig +" + +src_configure() { + meson_src_configure +} + +src_compile() { + meson_src_compile + emake -C hyprland-share-picker all +} + +src_install() { + meson_src_install + dobin "${S}/hyprland-share-picker/build/hyprland-share-picker" +}