commit:     fbaa7456ef9a7a407bcb71ecef7e7e25483476ed
Author:     Remigiusz Micielski <remigiusz.micielski <AT> gmail <DOT> com>
AuthorDate: Mon Apr 10 20:39:03 2023 +0000
Commit:     Remigiusz Micielski <remigiusz.micielski <AT> gmail <DOT> com>
CommitDate: Mon Apr 10 20:43:39 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=fbaa7456

gui-libs/xdg-desktop-portal-hyprland: new package, add 0.1.0, 9999

Signed-off-by: Remigiusz Micielski <remigiusz.micielski <AT> gmail.com>

 gui-libs/xdg-desktop-portal-hyprland/Manifest      |  1 +
 gui-libs/xdg-desktop-portal-hyprland/metadata.xml  | 26 ++++++++
 .../xdg-desktop-portal-hyprland-0.1.0.ebuild       | 70 ++++++++++++++++++++++
 .../xdg-desktop-portal-hyprland-9999.ebuild        | 70 ++++++++++++++++++++++
 4 files changed, 167 insertions(+)

diff --git a/gui-libs/xdg-desktop-portal-hyprland/Manifest 
b/gui-libs/xdg-desktop-portal-hyprland/Manifest
new file mode 100644
index 000000000..65ece206d
--- /dev/null
+++ b/gui-libs/xdg-desktop-portal-hyprland/Manifest
@@ -0,0 +1 @@
+DIST xdg-desktop-hyprland-0.1.0.tar.gz 45350 BLAKE2B 
7b0349f3d0ff4708df3068d71deecb675109c905e0cea6fa0724a2645267a70038a54e2a9eb536e6dbc0d0a138071ceb91527e0df91c83cda0b57e3cf3b519d2
 SHA512 
b8cfda484d5d50c7fae33eb020c101990ceb244bdfebac46c9820267697eae76bb1e6261c1b03d8fb0148eb81c64f01c59eb94171cb87407541d20117fa48f18

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 000000000..861c8f883
--- /dev/null
+++ b/gui-libs/xdg-desktop-portal-hyprland/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+               <name>Remigiusz Micielski</name>
+       </maintainer>
+       <upstream>
+               <doc 
lang="en">https://wiki.hyprland.org/hyprland-wiki/pages/Useful-Utilities/Hyprland-desktop-portal/</doc>
+               <remote-id 
type="github">hyprwm/xdg-desktop-portal-hyprland</remote-id>
+               
<bugs-to>https://github.com/hyprwm/xdg-desktop-portal-hyprland/issues</bugs-to>
+       </upstream>
+       <longdescription lang="en">
+               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.
+       </longdescription>
+       <use>
+               <flag name="elogind">Enable support for rootless session via 
elogind</flag>
+       </use>
+</pkgmetadata>

diff --git 
a/gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-0.1.0.ebuild 
b/gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-0.1.0.ebuild
new file mode 100644
index 000000000..159404539
--- /dev/null
+++ 
b/gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-0.1.0.ebuild
@@ -0,0 +1,70 @@
+# 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
+       
SRC_URI="https://github.com/hyprwm/xdg-desktop-portal-hyprland/archive/refs/tags/v${PV}.tar.gz
 -> xdg-desktop-hyprland-${PV}.tar.gz"
+       KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+SLOT="0/9999"
+IUSE="elogind systemd"
+REQUIRED_USE="?? ( elogind systemd )"
+
+DEPEND="
+       dev-libs/inih
+       dev-libs/wayland
+       dev-qt/qtcore
+       dev-qt/qtwidgets
+       dev-qt/qtgui
+       media-libs/mesa
+       >=media-video/pipewire-0.3.41:=
+       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
+       virtual/pkgconfig
+"
+
+src_configure() {
+       local emasonargs=()
+       if use systemd; then
+               emasonargs+=(-Dsd-bus-provider=libsystemd)
+       elif use elogind; then
+               emasonargs+=(-Dsd-bus-provider=libelogind)
+       else
+               emasonargs+=(-Dsd-bus-provider=basu)
+       fi
+       meson_src_configure
+}
+
+src_compile() {
+       cd hyprland-share-picker || die
+       make all || die "Couldn't compile hyprland-share-picker"
+       cd .. || die
+       meson_src_compile
+}
+
+src_install() {
+       meson_src_install
+       dobin 
"${WORKDIR}"/xdg-desktop-portal-hyprland-${PV}/hyprland-share-picker/build/hyprland-share-picker
+}

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 000000000..159404539
--- /dev/null
+++ 
b/gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-9999.ebuild
@@ -0,0 +1,70 @@
+# 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
+       
SRC_URI="https://github.com/hyprwm/xdg-desktop-portal-hyprland/archive/refs/tags/v${PV}.tar.gz
 -> xdg-desktop-hyprland-${PV}.tar.gz"
+       KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+SLOT="0/9999"
+IUSE="elogind systemd"
+REQUIRED_USE="?? ( elogind systemd )"
+
+DEPEND="
+       dev-libs/inih
+       dev-libs/wayland
+       dev-qt/qtcore
+       dev-qt/qtwidgets
+       dev-qt/qtgui
+       media-libs/mesa
+       >=media-video/pipewire-0.3.41:=
+       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
+       virtual/pkgconfig
+"
+
+src_configure() {
+       local emasonargs=()
+       if use systemd; then
+               emasonargs+=(-Dsd-bus-provider=libsystemd)
+       elif use elogind; then
+               emasonargs+=(-Dsd-bus-provider=libelogind)
+       else
+               emasonargs+=(-Dsd-bus-provider=basu)
+       fi
+       meson_src_configure
+}
+
+src_compile() {
+       cd hyprland-share-picker || die
+       make all || die "Couldn't compile hyprland-share-picker"
+       cd .. || die
+       meson_src_compile
+}
+
+src_install() {
+       meson_src_install
+       dobin 
"${WORKDIR}"/xdg-desktop-portal-hyprland-${PV}/hyprland-share-picker/build/hyprland-share-picker
+}

Reply via email to