From 8d48810ab0571a3b11ca229200233adfc212f665 Mon Sep 17 00:00:00 2001 From: Thomas Gerbet Date: Sat, 25 Jul 2026 13:27:09 +0200 Subject: [PATCH] nix-cl: avoid empty path segments in prefixed env variables (cherry picked from commit 6bf6d4c64fa3673ec19b33aef7481938d05a5cbb) --- pkgs/development/lisp-modules/nix-cl.nix | 42 +++++++++++++++++------- 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/pkgs/development/lisp-modules/nix-cl.nix b/pkgs/development/lisp-modules/nix-cl.nix index 8441f9e90f56..be418d13f9a9 100644 --- a/pkgs/development/lisp-modules/nix-cl.nix +++ b/pkgs/development/lisp-modules/nix-cl.nix @@ -365,18 +365,36 @@ let nativeBuildInputs = [ pkgs.makeBinaryWrapper ]; installPhase = '' mkdir -pv $out/bin - makeWrapper \ - ${o.pkg}/bin/${o.program} \ - $out/bin/${o.program} \ - --add-flags "${toString o.flags}" \ - --set ASDF "${o.asdfFasl}/asdf.${o.faslExt}" \ - --prefix CL_SOURCE_REGISTRY : "$CL_SOURCE_REGISTRY''${CL_SOURCE_REGISTRY:+:}" \ - --prefix ASDF_OUTPUT_TRANSLATIONS : "$(echo $CL_SOURCE_REGISTRY | sed s,//:,::,g):" \ - --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \ - --prefix DYLD_LIBRARY_PATH : "$DYLD_LIBRARY_PATH" \ - --prefix CLASSPATH : "$CLASSPATH" \ - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix PATH : "${makeBinPath (o.propagatedBuildInputs or [ ])}" + + wrapperArgs=( + "${o.pkg}/bin/${o.program}" + "$out/bin/${o.program}" + --add-flags "${toString o.flags}" + --set ASDF "${o.asdfFasl}/asdf.${o.faslExt}" + ) + if [ -n "$CL_SOURCE_REGISTRY" ]; then + wrapperArgs+=( + --prefix CL_SOURCE_REGISTRY : "$CL_SOURCE_REGISTRY:" + --prefix ASDF_OUTPUT_TRANSLATIONS : "$(echo $CL_SOURCE_REGISTRY | sed s,//:,::,g):" + ) + fi + if [ -n "$LD_LIBRARY_PATH" ]; then + wrapperArgs+=(--prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH") + fi + if [ -n "$DYLD_LIBRARY_PATH" ]; then + wrapperArgs+=(--prefix DYLD_LIBRARY_PATH : "$DYLD_LIBRARY_PATH") + fi + if [ -n "$CLASSPATH" ]; then + wrapperArgs+=(--prefix CLASSPATH : "$CLASSPATH") + fi + if [ -n "$GI_TYPELIB_PATH" ]; then + wrapperArgs+=(--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH") + fi + ${lib.optionalString ((o.propagatedBuildInputs or [ ]) != [ ]) '' + wrapperArgs+=(--prefix PATH : "${makeBinPath (o.propagatedBuildInputs or [ ])}") + ''} + + makeWrapper "''${wrapperArgs[@]}" ''; });