commit: d1d66db7e4b5577e12ae7b403691934c30588405
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri May 23 05:48:35 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri May 23 05:48:47 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1d66db7
sys-apps/xdg-desktop-portal: add 1.20.3
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-apps/xdg-desktop-portal/Manifest | 1 +
.../xdg-desktop-portal-1.20.3.ebuild | 127 +++++++++++++++++++++
2 files changed, 128 insertions(+)
diff --git a/sys-apps/xdg-desktop-portal/Manifest
b/sys-apps/xdg-desktop-portal/Manifest
index 8d64fab345d3..f0d8ced3f440 100644
--- a/sys-apps/xdg-desktop-portal/Manifest
+++ b/sys-apps/xdg-desktop-portal/Manifest
@@ -1,2 +1,3 @@
DIST xdg-desktop-portal-1.18.4.tar.xz 699380 BLAKE2B
969d9359744f26a931d5d86fbdac222b0d55f7942bb8b1ffba67343c88696dbb4c905b122363c5eae5dcac8b55f58d03433acbbca6f7594a16e72e13bc78353a
SHA512
482676777e8180752e13ff485acab91de117f4ecf2aefd313a6f596df800f37d7004ee4ba1040009eb69a6efc780efc7dcd7e46b3f59c47bd9f21aef48d346de
DIST xdg-desktop-portal-1.20.0.tar.xz 1162932 BLAKE2B
0b6d4615df26a45359be70003f34205a965fb02875e42e613a8526328a304664c530daaaa27d666297726d5fd5cb6f1eb3415e81bae8e0479821078a0549862d
SHA512
aac38476b75a841ce12d7b4036830ef4ce3426914bcaf7ee2bb8a3a34e353089ed5c3521b06f7714d5ef8308d1af4e8297e583d363eba94263f3c062ced0063e
+DIST xdg-desktop-portal-1.20.3.tar.xz 1168028 BLAKE2B
c2f65ad95916732051e42094a43353133fe628f3b32b1114f40052f8a16c226a847b1c6c40e7718c95c208402d1dcaba9a954e892ca9c8fa43f9738ea42a1a55
SHA512
e3da40bb102f7a391b062baa5517460b47e653f10412237aebb9d32b375db51bee3e365cabd5cb2d9059f2f52cfa5b7bf364555ee1ff892d97e61841ddbc870e
diff --git a/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.3.ebuild
b/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.3.ebuild
new file mode 100644
index 000000000000..5f06d463fe1d
--- /dev/null
+++ b/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.3.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit meson python-any-r1 systemd
+
+DESCRIPTION="Desktop integration portal"
+HOMEPAGE="https://flatpak.github.io/xdg-desktop-portal/
https://github.com/flatpak/xdg-desktop-portal"
+SRC_URI="https://github.com/flatpak/${PN}/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="geolocation flatpak seccomp systemd test udev"
+RESTRICT="!test? ( test )"
+# Upstream expect flatpak to be used w/ seccomp and flatpak needs bwrap anyway
+REQUIRED_USE="flatpak? ( seccomp )"
+
+DEPEND="
+ >=dev-libs/glib-2.72:2
+ dev-libs/json-glib
+ >=media-video/pipewire-0.3:=
+ >=sys-fs/fuse-3.10.0:3=[suid]
+ x11-libs/gdk-pixbuf
+ geolocation? ( >=app-misc/geoclue-2.5.3:2.0 )
+ flatpak? ( sys-apps/flatpak )
+ seccomp? ( sys-apps/bubblewrap )
+ systemd? ( sys-apps/systemd )
+ udev? ( dev-libs/libgudev )
+"
+RDEPEND="
+ ${DEPEND}
+ sys-apps/dbus
+"
+BDEPEND="
+ dev-util/gdbus-codegen
+ dev-python/docutils
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? (
+ ${PYTHON_DEPS}
+ dev-util/umockdev
+ media-libs/gstreamer
+ media-libs/gst-plugins-good
+ $(python_gen_any_dep '
+ >=dev-python/pytest-3[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/python-dbusmock[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=(
+ # Needed until gstreamer-rs (for gstreamer-pbutils) is packaged
+ "${FILESDIR}/${PN}-1.20.0-optional-gstreamer.patch"
+ # These tests require connections to pipewire, internet, /dev/fuse
+ "${FILESDIR}/${PN}-1.20.0-sandbox-disable-failing-tests.patch"
+)
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+python_check_deps() {
+ python_has_version ">=dev-python/pytest-3[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/pytest-xdist[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddbus-service-dir="${EPREFIX}/usr/share/dbus-1/services"
+ -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
+ $(meson_feature flatpak flatpak-interfaces)
+ $(meson_feature geolocation geoclue)
+ $(meson_feature udev gudev)
+ $(meson_feature seccomp sandboxed-image-validation)
+ # Needs gstreamer-pbutils (part of gstreamer-rs)?
+ # Not yet packaged
+ #$(meson_feature seccomp sandboxed-sound-validation)
+ -Dsandboxed-sound-validation=disabled
+ $(meson_feature systemd)
+ # Requires flatpak
+ -Ddocumentation=disabled
+ # -Dxmlto-flags=
+ -Ddatarootdir="${EPREFIX}/usr/share"
+ -Dman-pages=enabled
+ -Dinstalled-tests=false
+ $(meson_feature test tests)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ # Install a default to avoid breakage: >=1.18.0 assumes that DEs/WMs
+ # will install their own, but we want some fallback in case they don't
+ # (so will probably keep this forever). DEs need time to catch up even
+ # if they will eventually provide one anyway. See bug #915356.
+ #
+ # TODO: Add some docs on wiki for users to add their own preference
+ # for minimalist WMs etc.
+ insinto /usr/share/xdg-desktop-portal
+ newins "${FILESDIR}"/default-portals.conf portals.conf
+ exeinto /etc/user/init.d
+ newexe "${FILESDIR}"/xdg-desktop-portal.initd xdg-desktop-portal
+}
+
+pkg_postinst() {
+ if ! has_version gui-libs/xdg-desktop-portal-lxqt && ! has_version
gui-libs/xdg-desktop-portal-wlr && \
+ ! has_version kde-plasma/xdg-desktop-portal-kde && !
has_version sys-apps/xdg-desktop-portal-gnome && \
+ ! has_version sys-apps/xdg-desktop-portal-gtk && ! has_version
sys-apps/xdg-desktop-portal-xapp; then
+ elog "${PN} is not usable without any of the following XDP"
+ elog "implementations installed:"
+ elog " gui-libs/xdg-desktop-portal-lxqt"
+ elog " gui-libs/xdg-desktop-portal-wlr"
+ elog " kde-plasma/xdg-desktop-portal-kde"
+ elog " sys-apps/xdg-desktop-portal-gnome"
+ elog " sys-apps/xdg-desktop-portal-gtk"
+ elog " sys-apps/xdg-desktop-portal-xapp"
+ fi
+}