lilyp pushed a commit to branch gnome-team
in repository guix.
commit 54df2ee6c1f6e017ffb5bad75a658de6b536a6e0
Author: Liliana Marie Prikler <[email protected]>
AuthorDate: Sat Nov 9 09:41:40 2024 +0100
gnu: libsecret: Fix build.
* gnu/packages/patches/libsecret-fix-test-paths.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it here.
* gnu/packages/gnome.scm (libsecret)[patches]: Use it here.
---
gnu/local.mk | 1 +
gnu/packages/gnome.scm | 1 +
.../patches/libsecret-fix-test-paths.patch | 37 ++++++++++++++++++++++
3 files changed, 39 insertions(+)
diff --git a/gnu/local.mk b/gnu/local.mk
index 2e5515d7ba..5d72e5da1d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1750,6 +1750,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 90aaa9689c..53a92676a5 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5287,6 +5287,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 <[email protected]>
+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
+