diff options
Diffstat (limited to 'sys-apps/xdg-desktop-portal')
3 files changed, 151 insertions, 0 deletions
diff --git a/sys-apps/xdg-desktop-portal/Manifest b/sys-apps/xdg-desktop-portal/Manifest index fa05f15f107e..36f6fd64c44f 100644 --- a/sys-apps/xdg-desktop-portal/Manifest +++ b/sys-apps/xdg-desktop-portal/Manifest @@ -1,7 +1,10 @@ AUX default-portals.conf 22 BLAKE2B 06a584551d11a4b2d51bf236eb657cda2360e8b324574a936c9d6f03a2d4c041ce72b6cc8a00740e4773ce654ad1867a818215c1bf610007a9dcd4b7b6b65149 SHA512 29af734e44797d4812165fa7d0be36b9047b1b9cfa12aad3628bb95ee3dbb9ff4efbd8023fb43a63d01c7e8879d58c6634710b47416929d3a7a5ca376ae18451 AUX xdg-desktop-portal-1.18.0-sandbox-disable-failing-tests.patch 2444 BLAKE2B a93b089a7bbd23b258d28711a144982b9c102f7d0001b10a80d1f378da6965f7547ce11c4bfee8e534aa23b573b600d6a40d22877d6d9ddbe81f89d46dc73373 SHA512 99f87d9ed61cdf63af2449c1e2d2f3472db4fd21fa2baec7403bee6460146183a84af01ec18b13c1c072e5a7dd68b2e07a47b0e0886e4dffa09bf788d92ab5ec +AUX xdg-desktop-portal-1.20.0-sandbox-disable-failing-tests.patch 594 BLAKE2B 7d3ce2962140ff150aaec559d3977831bba13b47de27a044c28820cf92c58833a2a0e80b59617d2c6c884fe264c10e2045d4f9d1b681b4646f53c668a8cd480e SHA512 107ccf6cc27c1409de73cfb9a32d95a70c567f5ff8b5af2b1db048551da3f9ef9a4ff6f6816ca41819392c58f5f36dd16c20787167920b9f0cac4e7abf909ace AUX xdg-desktop-portal.initd 289 BLAKE2B 50a0a56b43004a903f98cf57caed06786d2f6b1db5f743c1420dd6ac5207a5c785851c38a7f6844cc9536ec9d5d8faad7a927123c201bed8c16ad123fd1de773 SHA512 c2b2b687c3f6e1cbcadf609194c764cdd9bfa72818a5efb25376ddd2ed16e86a7a35ec0a0117569074735e57840c9595a635a9b694364aeaef8076b873b9dafd 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 EBUILD xdg-desktop-portal-1.18.4-r1.ebuild 3597 BLAKE2B a17915767365ca331299589390a1173dcbbb3fdc890ed39a96f60aa4f57cfd07346486606e1a3252c278c85dc85d41adcc2201b5656de7a845fb54251c5687a3 SHA512 11567180cbb9b4f68850cbeabd317bc3f47192a13b952acd67f7e425f7ef9459507da181ae65ada23140265551fa8010b008696f4ad940ac42fe8e410d10807c EBUILD xdg-desktop-portal-1.18.4.ebuild 3502 BLAKE2B 190f353d6669469a1be307dd74a41e532be73e6146ee57ac2327ccf726268a52e5380bbb98c5ff7eff234012d6cbdc24a0622dcc13745a78f46b1254075a4818 SHA512 8049fae6f08cb85bc4650bcdf0d3c522e32c459fc07362e3ee0042a5cc46c0a615eab6e3ec7de03435db13c7adb565bbcdb40cb6125b9f6ba6a6e97bd36bf05e +EBUILD xdg-desktop-portal-1.20.0.ebuild 3820 BLAKE2B c6d2d748586529e659d4225c37ad805542c3d6d6c0df2e2a54c53c7b7236ef81f9fab0e5b75d4b5088ebf3205bff84933531b6ea354e6f31d612d335e8ffd93e SHA512 5977aa0859ad5e2a1881442390c4eaddcd82d817072fb45695f32c4904e2debcb9866513ed49b348a349f30814979efbdd655502c3d5fd1f46fd9d8449925a29 MISC metadata.xml 572 BLAKE2B 5d1abb01d74881886beab22900a545b0364cd7b48990577a153bdd1d8125d517b8a26c89382b0ceb9e127e0cbd11d7462d3d74908facb521295314ddf2699723 SHA512 ffaa7cfd28794dd57d1229e5839a28cf5b178c6416cf1817e7e6753c7460c22e96e2997f005b80b574d7f4b49e3a0e5d9f44101258824edb00e328caf449b9d5 diff --git a/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.20.0-sandbox-disable-failing-tests.patch b/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.20.0-sandbox-disable-failing-tests.patch new file mode 100644 index 000000000000..2faee17533cb --- /dev/null +++ b/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.20.0-sandbox-disable-failing-tests.patch @@ -0,0 +1,24 @@ +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -87,14 +87,11 @@ pytest_files = [ + 'test_clipboard.py', + 'test_documents.py', + 'test_document_fuse.py', +- 'test_dynamiclauncher.py', + 'test_email.py', + 'test_filechooser.py', + 'test_globalshortcuts.py', + 'test_inhibit.py', + 'test_inputcapture.py', +- 'test_location.py', +- 'test_notification.py', + 'test_openuri.py', + 'test_permission_store.py', + 'test_print.py', +@@ -188,4 +185,4 @@ if enable_installed_tests + install_dir: installed_tests_data_dir, + ) + endforeach +-endif +\ No newline at end of file ++endif diff --git a/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.0.ebuild b/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.0.ebuild new file mode 100644 index 000000000000..dbffadc6d97c --- /dev/null +++ b/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.0.ebuild @@ -0,0 +1,124 @@ +# 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=( + # 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) + $(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 +} |