diff --git a/gnu/local.mk b/gnu/local.mk index 8366ffcc19..516742d767 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1760,6 +1760,7 @@ dist_patch_DATA = \ %D%/packages/patches/libphonenumber-reproducible-build.patch \ %D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \ %D%/packages/patches/libquicktime-ffmpeg.patch \ + %D%/packages/patches/libsecret-fix-test-paths.patch \ %D%/packages/patches/libsepol-versioned-docbook.patch \ %D%/packages/patches/libtar-CVE-2013-4420.patch \ %D%/packages/patches/libtar-CVE-2021-33643-CVE-2021-33644.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a7d6c4d9f9..979e7f2447 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5291,6 +5291,7 @@ and the GLib main loop, to integrate well with GNOME applications.") "mirror://gnome/sources/libsecret/" (version-major+minor version) "/" "libsecret-" version ".tar.xz")) + (patches (search-patches "libsecret-fix-test-paths.patch")) (sha256 (base32 "081bj59ws08kb261cd1w1mkdkhfbzsjbbkkrm6wllvdyhgbhhg8n")))) diff --git a/gnu/packages/patches/libsecret-fix-test-paths.patch b/gnu/packages/patches/libsecret-fix-test-paths.patch new file mode 100644 index 0000000000..e4cdbf92a6 --- /dev/null +++ b/gnu/packages/patches/libsecret-fix-test-paths.patch @@ -0,0 +1,37 @@ +From 208989323211c756dff690115e5cbde5ef7491ce Mon Sep 17 00:00:00 2001 +From: Bobby Rong +Date: Sun, 10 Mar 2024 10:30:48 +0800 +Subject: [PATCH] meson: Use env.prepend() for test environment setup + +On NixOS packages are installed in separate prefixes. +Starting from GLib / gobject-introspection 2.80, GLib introspection data +is provided by GLib itself instead of gobject-introspection. This causes +tests failures on NixOS because env.set() resets the environment and GLib +is missing from GI_TYPELIB_PATH: + +gi.RepositoryError: Typelib file for namespace 'Gio', version '2.0' not found + +See also: +https://gitlab.gnome.org/GNOME/gtk/-/commit/29e6cc58088ef37bfde364965cdebd2f7402f315 +--- + libsecret/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libsecret/meson.build b/libsecret/meson.build +index 85ad68f..ea417ba 100644 +--- a/libsecret/meson.build ++++ b/libsecret/meson.build +@@ -257,8 +257,8 @@ if get_option('introspection') + # env to be used in tests that use the typelib, + # to make sure they find the one for MockService + test_typelib_env = environment() +- test_typelib_env.set('GI_TYPELIB_PATH', meson.current_build_dir()) +- test_typelib_env.set('LD_LIBRARY_PATH', meson.current_build_dir()) ++ test_typelib_env.prepend('GI_TYPELIB_PATH', meson.current_build_dir()) ++ test_typelib_env.prepend('LD_LIBRARY_PATH', meson.current_build_dir()) + + # Python Tests + pytest_names = [ +-- +GitLab +