added gui-libs/wdg-desktop-portal-hyprland

This commit is contained in:
mblob
2023-09-10 09:01:53 +02:00
parent a80923a6c7
commit e010161bfa
2 changed files with 97 additions and 0 deletions

View File

@ -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>rmicielski@purelymail.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>

View File

@ -0,0 +1,71 @@
# 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() {
local emesonargs=()
if use systemd; then
emesonargs+=(-Dsd-bus-provider=libsystemd)
else use elogind; then
emesonargs+=(-Dsd-bus-provider=libelogind)
fi
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"
}