aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemigiusz Micielski <remigiusz.micielski@gmail.com>2023-04-10 22:39:03 +0200
committerRemigiusz Micielski <remigiusz.micielski@gmail.com>2023-04-10 22:43:39 +0200
commitfbaa7456ef9a7a407bcb71ecef7e7e25483476ed (patch)
tree8997427ada74f865f86f3bf5281cc6a124d25c85 /gui-libs
parentapp-misc/1password: ID to -1 (diff)
downloadguru-fbaa7456ef9a7a407bcb71ecef7e7e25483476ed.tar.gz
guru-fbaa7456ef9a7a407bcb71ecef7e7e25483476ed.tar.bz2
guru-fbaa7456ef9a7a407bcb71ecef7e7e25483476ed.zip
gui-libs/xdg-desktop-portal-hyprland: new package, add 0.1.0, 9999
Signed-off-by: Remigiusz Micielski <remigiusz.micielski@gmail.com>
Diffstat (limited to 'gui-libs')
-rw-r--r--gui-libs/xdg-desktop-portal-hyprland/Manifest1
-rw-r--r--gui-libs/xdg-desktop-portal-hyprland/metadata.xml26
-rw-r--r--gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-0.1.0.ebuild70
-rw-r--r--gui-libs/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-9999.ebuild70
4 files changed, 167 insertions, 0 deletions
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>remigiusz.micielski@gmail.com</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
+}