From 682ba25a29558983ba7196eb95c7f700959d0061 Mon Sep 17 00:00:00 2001 From: ghpzin Date: Sat, 7 Mar 2026 11:44:05 +0300 Subject: [PATCH] guile-zlib: fix path to zlib - add patch changing path to `libz.so` from `libdir` to `sharedlibdir` variable from `zlib.pc` In `guile-zlib` default way of finding `libz.so` is to load `zlib.pc` with `PKG_CHECK_MODULES` macro and take path from `libdir` variable inside. After change in: https://www.github.com/NixOS/nixpkgs/pull/476830 https://github.com/NixOS/nixpkgs/commit/ff59162e8205c085455b4863d8b871515cbf1bfd `libdir` variable in `zlib.pc` points to `zlib.static`, so only `libz.a` is there. Add patch fixing `configure.ac` to load path from `sharedlibdir` instead. Fixes build failure of `guile-zlib`: ``` make check-TESTS make[1]: Entering directory '/build/source' make[2]: Entering directory '/build/source' make[2]: *** [Makefile:873: tests/zlib.log] Error 1 make[2]: Leaving directory '/build/source' make[1]: *** [Makefile:856: check-TESTS] Error 2 make[1]: Leaving directory '/build/source' make: *** [Makefile:1059: check-am] Error 2 ``` zlib.log: ``` Backtrace: 19 (primitive-load-path "tests/zlib.scm") ... In unknown file: 2 (primitive-load-path "zlib" #) In zlib.scm: 486:25 1 (_) 486:25 0 (_) zlib.scm:486:25: Wrong type to apply: #f ``` --- ...change-zlib-path-from-libdir-to-sharedlibdir.diff | 12 ++++++++++++ pkgs/by-name/gu/guile-zlib/package.nix | 5 +++++ 2 files changed, 17 insertions(+) create mode 100644 pkgs/by-name/gu/guile-zlib/guile-zlib-change-zlib-path-from-libdir-to-sharedlibdir.diff diff --git a/pkgs/by-name/gu/guile-zlib/guile-zlib-change-zlib-path-from-libdir-to-sharedlibdir.diff b/pkgs/by-name/gu/guile-zlib/guile-zlib-change-zlib-path-from-libdir-to-sharedlibdir.diff new file mode 100644 index 0000000000000..afa338cb38d4f --- /dev/null +++ b/pkgs/by-name/gu/guile-zlib/guile-zlib-change-zlib-path-from-libdir-to-sharedlibdir.diff @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +--- a/configure.ac ++++ b/configure.ac +@@ -30,7 +30,7 @@ fi + + PKG_CHECK_MODULES([LIBZ], [zlib]) + AC_MSG_CHECKING([libz library directory]) +-PKG_CHECK_VAR([LIBZ_LIBDIR], [zlib], [libdir]) ++PKG_CHECK_VAR([LIBZ_LIBDIR], [zlib], [sharedlibdir]) + AC_MSG_RESULT([$LIBZ_LIBDIR]) + AS_IF([test "x$LIBZ_LIBDIR" = "x"], [ + AC_MSG_FAILURE([Unable to identify libz lib path.]) diff --git a/pkgs/by-name/gu/guile-zlib/package.nix b/pkgs/by-name/gu/guile-zlib/package.nix index 3815bb8b52245..2acf28468ae85 100644 --- a/pkgs/by-name/gu/guile-zlib/package.nix +++ b/pkgs/by-name/gu/guile-zlib/package.nix @@ -21,6 +21,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-aaZhwHimQq408DNtHy442kh/EYdRdxP0Z1tQGDKmkmc="; }; + patches = [ + # fix path to libz.so to sharedlibdir from zlib.pc + ./guile-zlib-change-zlib-path-from-libdir-to-sharedlibdir.diff + ]; + strictDeps = true; nativeBuildInputs = [ autoreconfHook