[Backport release-26.05] nix-cl: avoid empty path segments in prefixed env variables (#549258)

This commit is contained in:
Peder Bergebakken Sundt
2026-08-05 19:40:11 +00:00
committed by GitHub

View File

@@ -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[@]}"
'';
});