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