M gnu/local.mk => gnu/local.mk +1 -0
@@ 2493,6 2493,7 @@ dist_patch_DATA = \
%D%/packages/patches/x265-4-arm-flags.patch \
%D%/packages/patches/xdg-desktop-portal-disable-portal-tests.patch\
%D%/packages/patches/xdg-desktop-portal-disable-configuration-search-exit.patch\
+ %D%/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch\
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \
M gnu/packages/freedesktop.scm => gnu/packages/freedesktop.scm +35 -0
@@ 3251,6 3251,41 @@ The portal interfaces include APIs for file access, opening URIs, printing
and others.")
(license license:lgpl2.1+)))
+(define-public xdg-desktop-portal-next
+ (let ((base xdg-desktop-portal))
+ (package
+ (inherit base)
+ (version "1.20.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/flatpak/xdg-desktop-portal/releases/download/"
+ version "/xdg-desktop-portal-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1p4yvbhqr8yf231gm69vdz3h7na8m6x1mhiw3bmhg4gm6x4idysb"))
+ (patches (search-patches
+ "xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch"))
+ (modules '((guix build utils)))
+ ;; Disable failing tests.
+ (snippet #~(substitute* "tests/meson.build"
+ ((".*test_dynamiclauncher.*") "")
+ ((".*test_notification.*") "")
+ ((".*test_usb.*") "")))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:configure-flags flags #~'())
+ ;; Requires python-furo, which isn't packaged for guix, and depends
+ ;; on node.js.
+ #~(append '("-Ddocumentation=disabled")
+ #$flags))))
+ (inputs (modify-inputs (package-inputs base)
+ (append gstreamer
+ gst-plugins-base
+ gst-plugins-good
+ umockdev))))))
+
(define-public xdg-desktop-portal-gtk
(package
(name "xdg-desktop-portal-gtk")
A gnu/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch => gnu/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch +27 -0
@@ 0,0 1,27 @@
+From 37003d1f99246c88cbe7cf2f83616642e0fdf3fb Mon Sep 17 00:00:00 2001
+From: Rodion Goritskov <rodion.goritskov@gmail.com>
+Date: Fri, 27 Sep 2024 00:44:07 +0400
+Subject: [PATCH] portal-impl: Check if there are any configuration files in XDG_DESKTOP_PORTAL_DIR before exiting configuration search
+
+---
+ src/xdp-portal-impl.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/src/xdp-portal-impl.c b/src/xdp-portal-impl.c
+index 8c1fd53..8708409 100644
+--- a/src/xdp-portal-impl.c
++++ b/src/xdp-portal-impl.c
+@@ -438,9 +438,8 @@ load_portal_configuration (gboolean opt_verbose)
+
+ if (portal_dir != NULL)
+ {
+- load_config_directory (portal_dir, desktops, opt_verbose);
+- /* All other config directories are ignored when this is set */
+- return;
++ if (load_config_directory (portal_dir, desktops, opt_verbose))
++ return;
+ }
+
+ /* $XDG_CONFIG_HOME/xdg-desktop-portal/(DESKTOP-)portals.conf */
+--
+2.46.0