diff options
Diffstat (limited to 'sys-apps/xdg-desktop-portal')
3 files changed, 161 insertions, 0 deletions
diff --git a/sys-apps/xdg-desktop-portal/Manifest b/sys-apps/xdg-desktop-portal/Manifest index 0d6a461c142d..b6d985a413ae 100644 --- a/sys-apps/xdg-desktop-portal/Manifest +++ b/sys-apps/xdg-desktop-portal/Manifest @@ -1,4 +1,7 @@ AUX xdg-desktop-portal-1.16.0-delay-open-fix.patch 14123 BLAKE2B 92ad185c8ef9155b3285614a230b83bbd97d741772a51e27ee026c606ca9893dd5bdb8cf3882334e0f6abb687e819df0c08cd3d0aa144a72b37ad6da778f41ef SHA512 5d36d0259bea8d40f112861044fd8f8da77aec5144b3518d5c8d77b3cc2c86a84473a34e3c20a873d72427ad5caf02a97a1282a880cfcea620eab9fac18d39fc +AUX xdg-desktop-portal-1.18.0-sandbox-disable-failing-tests.patch 2444 BLAKE2B a93b089a7bbd23b258d28711a144982b9c102f7d0001b10a80d1f378da6965f7547ce11c4bfee8e534aa23b573b600d6a40d22877d6d9ddbe81f89d46dc73373 SHA512 99f87d9ed61cdf63af2449c1e2d2f3472db4fd21fa2baec7403bee6460146183a84af01ec18b13c1c072e5a7dd68b2e07a47b0e0886e4dffa09bf788d92ab5ec DIST xdg-desktop-portal-1.16.0.tar.xz 250524 BLAKE2B 9d5bd760621b114a19c1cc8895f91c43fcfed0dd067ba9678de0f11dc7835ec29c4a2c452274adbd36ee1318359caa8d7ca0c585558eb73a2a4e53528e6b02da SHA512 f7e7e96d3a6757901fbc4c0310aac0afbf37882c279a2859e06f63528049cd9b50dd2d55445d1386f03f62557c1a2ec81d4ee081200367d6269d2dffc75f0912 +DIST xdg-desktop-portal-1.18.0.tar.xz 260788 BLAKE2B 3a7575af17a5b21d6f313a098a9144df9d6f24768c6e16e4fb45382fac3c64aab3b361b29226769c8cc979c278ec61469f32841792bb0f4e7d9e83fc1fab40fc SHA512 416c0736342b2909c10db025da72edca6d106b46224341bdf45ab41152c01b97f4a4eb78df924a6fbc771475bf103c1aea3005d8ff683f1eca935dbd1afe4a51 EBUILD xdg-desktop-portal-1.16.0-r1.ebuild 1810 BLAKE2B df6be02fd06693018cd95e4bc76cde9aa852bac499febac04c8775a8df78875dc7463bdd509f7c4df1f7be46fb9116bf7c24a0ab10a5a7baf10278ec8a46642c SHA512 7a776e3a8b9614519408e23436c05ca18f4430090c0b8f8a5c0acd89469b56215767e191e712ac1cf11618f9ae23ea9fd9b13a6b6157119fc8dbe427ba2ce214 +EBUILD xdg-desktop-portal-1.18.0.ebuild 2536 BLAKE2B 141cc177c95845f9a706fec3aae21a44cbbe1fad800fcc058e82bb0dc722163b8a54b1b4ac9fa282140e54d30cdebda211a732c1967970abbf9a84d7eb3c6d25 SHA512 421aa9166b8415bb92ef47ce0d871306e4f35ce334b6b9801427b941d7cb71d4b9a86ba9e1f4bfed794c699ff91f60db1039f8d7c6cc53cf41783c860683bc9b MISC metadata.xml 341 BLAKE2B 5d5ab4565c6859d6c23908ad19dd01566dcdba5c93d8fe4e232a477dd3689c60549d24f9952cf30aa32220a8b926a5262ceb9674b6b2622d914c192482917662 SHA512 7810a57f4f26d983976932f5efec72f1eb5282a0b22594ae45dec37ca77cb550f9f86c139832412fd1e14e50671231b9f91829753d099b8c90dc3100651649b8 diff --git a/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.18.0-sandbox-disable-failing-tests.patch b/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.18.0-sandbox-disable-failing-tests.patch new file mode 100644 index 000000000000..148888f43b6f --- /dev/null +++ b/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.18.0-sandbox-disable-failing-tests.patch @@ -0,0 +1,69 @@ +diff --git a/tests/meson.build b/tests/meson.build +index a2dafee..ec2b628 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -163,20 +163,15 @@ limited_portals = executable( + portal_tests = [ + 'account', + 'background', +- 'camera', + 'color', + 'email', +- 'inhibit', +- 'location', + 'notification', + 'openfile', +- 'openuri', + 'prepareprint', + 'print', + 'savefile', + 'screenshot', + 'trash', +- 'wallpaper', + ] + + test_env = env_tests +diff --git a/tests/test_globalshortcuts.py b/tests/test_globalshortcuts.py +index 56349cb..da0656d 100644 +--- a/tests/test_globalshortcuts.py ++++ b/tests/test_globalshortcuts.py +@@ -20,7 +20,7 @@ class TestGlobalShortcuts: + def test_version(self, portal_mock): + portal_mock.check_version(1) + +- def test_global_shortcuts_create_close_session(self, portal_mock): ++ def _test_global_shortcuts_create_close_session(self, portal_mock): + request = portal_mock.create_request() + options = { + "session_handle_token": "session_token0", +@@ -49,7 +49,7 @@ class TestGlobalShortcuts: + assert session.closed + + @pytest.mark.parametrize("params", ({"force-close": 500},)) +- def test_global_shortcuts_create_session_signal_closed(self, portal_mock): ++ def _test_global_shortcuts_create_session_signal_closed(self, portal_mock): + request = portal_mock.create_request() + options = { + "session_handle_token": "session_token0", +diff --git a/tests/test_remotedesktop.py b/tests/test_remotedesktop.py +index 49b6b18..77648bc 100644 +--- a/tests/test_remotedesktop.py ++++ b/tests/test_remotedesktop.py +@@ -20,7 +20,7 @@ class TestRemoteDesktop: + def test_version(self, portal_mock): + portal_mock.check_version(2) + +- def test_remote_desktop_create_close_session(self, portal_mock): ++ def _test_remote_desktop_create_close_session(self, portal_mock): + request = portal_mock.create_request() + options = { + "session_handle_token": "session_token0", +@@ -49,7 +49,7 @@ class TestRemoteDesktop: + assert session.closed + + @pytest.mark.parametrize("params", ({"force-close": 500},)) +- def test_remote_desktop_create_session_signal_closed(self, portal_mock): ++ def _test_remote_desktop_create_session_signal_closed(self, portal_mock): + request = portal_mock.create_request() + options = { + "session_handle_token": "session_token0", diff --git a/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.18.0.ebuild b/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.18.0.ebuild new file mode 100644 index 000000000000..c06c7f539604 --- /dev/null +++ b/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.18.0.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit meson python-any-r1 systemd + +DESCRIPTION="Desktop integration portal" +HOMEPAGE="https://flatpak.org/ 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 man systemd test" +RESTRICT="!test? ( test )" + +DEPEND=" + >=dev-libs/glib-2.66:2 + dev-libs/json-glib + >=sys-fs/fuse-3.10.0:3[suid] + x11-libs/gdk-pixbuf + geolocation? ( >=app-misc/geoclue-2.5.3:2.0 ) + >=media-video/pipewire-0.3:= + systemd? ( sys-apps/systemd ) + test? ( + dev-libs/libportal + ) + man? ( dev-python/docutils ) +" +RDEPEND="${DEPEND} + sys-apps/dbus +" +BDEPEND=" + dev-util/gdbus-codegen + sys-devel/gettext + virtual/pkgconfig + test? ( + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/python-dbusmock[${PYTHON_USEDEP}] + ') + ) +" + +PATCHES=( + # These tests require connections to pipewire, internet, /dev/fuse + "${FILESDIR}/${P}-sandbox-disable-failing-tests.patch" +) + +python_check_deps() { + python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" && + python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]" +} + +src_configure() { + local emesonargs=( + -Ddbus-service-dir="${EPREFIX}/usr/share/dbus-1/services" + -Dflatpak-interfaces-dir="${EPREFIX}/usr/share/dbus-1/interfaces" + -Dsystemd-user-unit-dir="$(systemd_get_userunitdir)" + $(meson_feature test libportal) # Only used for tests + $(meson_feature geolocation geoclue) + $(meson_feature systemd) + -Ddocbook-docs=disabled # requires flatpak + # -Dxmlto-flags= + -Ddatarootdir="${EPREFIX}/usr/share" + -Dinstalled-tests=false + $(meson_feature test pytest) + $(meson_feature man man-pages) + ) + meson_src_configure +} + +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; 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" + fi +} |