diff options
author | 2023-04-10 22:39:03 +0200 | |
---|---|---|
committer | 2023-04-10 22:43:39 +0200 | |
commit | fbaa7456ef9a7a407bcb71ecef7e7e25483476ed (patch) | |
tree | 8997427ada74f865f86f3bf5281cc6a124d25c85 /gui-libs | |
parent | app-misc/1password: ID to -1 (diff) | |
download | guru-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')
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 +} |