summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authordan <i@dan.games>2025-12-12 15:50:14 +0800
committerLudovic Courtès <ludo@gnu.org>2025-12-19 00:05:44 +0100
commite4986719586e35182e21eba36fcf2062427e33db (patch)
tree45d0ed818ed50695dc80124b065f0bc6d3d20631 /gnu/packages
parent35fd588af0679d9d442e82ba29d610a16571b393 (diff)
gnu: Add xdg-desktop-portal-next.
* gnu/packages/freedesktop.scm (xdg-desktop-portal-next): New variable. * gnu/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Change-Id: I83c7d1c174a258761988b4d234b6fc4a9228e36f Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/freedesktop.scm35
-rw-r--r--gnu/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch27
2 files changed, 62 insertions, 0 deletions
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index f8c7cd581fa..a80f1f05834 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -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")
diff --git a/gnu/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch b/gnu/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch
new file mode 100644
index 00000000000..654b40db9e3
--- /dev/null
+++ b/gnu/packages/patches/xdg-desktop-portal-1.20.3-disable-configuration-search-exit.patch
@@ -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