diff --git a/gnu/local.mk b/gnu/local.mk index 5cdf88d756..979e6bad74 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2308,6 +2308,7 @@ dist_patch_DATA = \ %D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \ %D%/packages/patches/wpa-supplicant-dbus-group-policy.patch \ %D%/packages/patches/x265-arm-flags.patch \ + %D%/packages/patches/xdg-desktop-portal-disable-portal-tests.patch\ %D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\ %D%/packages/patches/xen-docs-use-predictable-ordering.patch \ %D%/packages/patches/xen-remove-config.gz-timestamp.patch \ diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 2a78895a20..23ed788689 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -27,7 +27,7 @@ ;;; Copyright © 2021 Robby Zambito ;;; Copyright © 2021, 2022, 2023 Maxime Devos ;;; Copyright © 2021, 2022 John Kehayias -;;; Copyright © 2021, 2021, 2022, 2023 Maxim Cournoyer +;;; Copyright © 2021-2024 Maxim Cournoyer ;;; Copyright © 2022 Daniel Meißner ;;; Copyright © 2022 Wamm K. D. ;;; Copyright © 2022 Petr Hodina @@ -39,6 +39,7 @@ ;;; Copyright © 2024 aurtzy ;;; Copyright © 2024 Dariqq ;;; Copyright © 2024 Wilko Meyer +;;; Copyright © 2024 dan ;;; ;;; This file is part of GNU Guix. ;;; @@ -136,6 +137,7 @@ (define-module (gnu packages freedesktop) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) #:use-module (gnu packages video) + #:use-module (gnu packages virtualization) #:use-module (gnu packages w3m) #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) @@ -3071,6 +3073,37 @@ (define-public xdg-desktop-portal and others.") (license license:lgpl2.1+))) +(define-public xdg-desktop-portal-next + (package + (inherit xdg-desktop-portal) + (version "1.18.4") + (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 + "0r8y8qmzcfj7b7brqcxr9lg8pavfds815ffvj0kqc378fhgaln5q")) + ;; Disable portal tests since they try to use fuse. + (patches (search-patches "xdg-desktop-portal-disable-portal-tests.patch")))) + (build-system meson-build-system) + (arguments + (substitute-keyword-arguments (package-arguments xdg-desktop-portal) + ((#:configure-flags _ ''()) + #~(list "-Dsystemd=disabled")))) + (native-inputs + (list pkg-config + `(,glib "bin") + gettext-minimal + python + python-dbusmock + python-pytest + python-pytest-xdist)) + (inputs (modify-inputs (package-inputs xdg-desktop-portal) + (prepend bubblewrap))))) + (define-public xdg-desktop-portal-gtk (package (name "xdg-desktop-portal-gtk") diff --git a/gnu/packages/patches/xdg-desktop-portal-disable-portal-tests.patch b/gnu/packages/patches/xdg-desktop-portal-disable-portal-tests.patch new file mode 100644 index 0000000000..5e13493613 --- /dev/null +++ b/gnu/packages/patches/xdg-desktop-portal-disable-portal-tests.patch @@ -0,0 +1,56 @@ +From b7750fa99c31c5f28ac2053fa154bef4038b5cc0 Mon Sep 17 00:00:00 2001 +From: dan +Date: Tue, 2 Jul 2024 19:37:38 +0800 +Subject: [PATCH] tests: remove portal tests. + +--- + tests/meson.build | 24 ------------------------ + 1 file changed, 24 deletions(-) + +diff --git a/tests/meson.build b/tests/meson.build +index a2dafee..bcd87be 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -181,18 +181,6 @@ portal_tests = [ + + test_env = env_tests + test_env.set('XDG_CURRENT_DESKTOP', 'test') +-foreach p : portal_tests +- test( +- 'test-portals-@0@'.format(p), +- test_portals, +- args: ['--verbose', '--keep-going', '--tap', '-p', '/portal/@0@'.format(p)], +- depends: [test_backends, test_portals], +- env: test_env, +- is_parallel: false, +- protocol: test_protocol, +- suite: 'portals', +- ) +-endforeach + + # Split the portal tests into one test per portal, this makes debugging a lot + # easier. +@@ -204,18 +192,6 @@ portal_limited = [ + + limited_env = env_tests + limited_env.set('XDG_CURRENT_DESKTOP', 'limited') +-foreach p : portal_limited +- test( +- 'limited-portals-@0@'.format(p), +- limited_portals, +- args: ['--verbose', '--keep-going', '--tap', '-p', '/limited/@0@'.format(p)], +- depends: [test_backends, limited_portals], +- env: limited_env, +- is_parallel: false, +- protocol: test_protocol, +- suite: 'portals', +- ) +-endforeach + + if enable_installed_tests + install_data( + +base-commit: 11c8a96b147aeae70e3f770313f93b367d53fedd +-- +2.41.0 +