From 4db842f465f06f16a64eb2651cd863b5b44b2b74 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Wed, 22 Nov 2017 07:55:06 +0100 Subject: [PATCH] lispPackages: A less aggressive way to manipulate ASDF search path, as suggested by Fare --- pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh | 8 ++++++-- pkgs/development/lisp-modules/define-package.nix | 2 +- .../lisp-modules/quicklisp-to-nix-overrides.nix | 8 ++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh index 41d40064294..55b469729f9 100755 --- a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh +++ b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh @@ -70,8 +70,12 @@ esac NIX_LISP_ASDF_REGISTRY_CODE=" (progn - #+asdf3 (setf asdf:*default-source-registries* - '(asdf/source-registry:environment-source-registry)) + (setf asdf:*source-registry-parameter* + '(:source-registry + $(for p in $NIX_LISP_ASDF_PATHS; do + echo "(:tree \"$p\")" + done) + :inherit-configuration)) (asdf:initialize-source-registry) ) " diff --git a/pkgs/development/lisp-modules/define-package.nix b/pkgs/development/lisp-modules/define-package.nix index 1a155b3e933..0224bf16ab7 100644 --- a/pkgs/development/lisp-modules/define-package.nix +++ b/pkgs/development/lisp-modules/define-package.nix @@ -29,7 +29,7 @@ let echo "source '$path_config_script'" >> "$config_script" echo "fi" >> "$config_script" echo "if test -z \"\''${_''${outhash}_NIX_LISP_PATH_CONFIG}\"; then export _''${outhash}_NIX_LISP_PATH_CONFIG=1; " >> "$path_config_script" - echo "for i in \"''${CL_SOURCE_REGISTRY//:/\" \"}\" \"$out/lib/common-lisp/${args.baseName}/\" ; do echo \"\$CL_SOURCE_REGISTRY\" | grep -E \"(^|:)\$i(:|\\\$)\" >/dev/null || export CL_SOURCE_REGISTRY=\"\$CL_SOURCE_REGISTRY\''${CL_SOURCE_REGISTRY:+:}\$i\"; done;" >> "$path_config_script" + echo "export NIX_LISP_ASDF_PATHS=\"$( ( echo "\$NIX_LISP_ASDF_PATHS"; echo "$NIX_LISP_ASDF_PATHS"; echo "$out/lib/common-lisp/${args.baseName}" ) | grep . | sort | uniq)\"" >> "$path_config_script" test -n "$LD_LIBRARY_PATH" && echo "export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}\"'$LD_LIBRARY_PATH'" >> "$path_config_script" test -n "$NIX_LISP_LD_LIBRARY_PATH" && diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix index a20b19643d3..0f9761b0fcf 100644 --- a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix +++ b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix @@ -28,13 +28,8 @@ in propagatedBuildInputs = [pkgs.fuse]; overrides = y : (x.overrides y) // { configurePhase = '' - export SAVED_CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY" - export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$PWD" export makeFlags="$makeFlags LISP=common-lisp.sh" ''; - preInstall = '' - export CL_SOURCE_REGISTRY="$SAVED_CL_SOURCE_REGISTRY" - ''; }; }; hunchentoot = addNativeLibs [pkgs.openssl]; @@ -65,7 +60,8 @@ in overrides = y: (x.overrides y) // { linkedSystems = []; postInstall = ((x.overrides y).postInstall or "") + '' - export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$out/lib/common-lisp/query-fs" + export NIX_LISP_ASDF_PATHS="$NIX_LISP_ASDF_PATHS +$out/lib/common-lisp/query-fs" export HOME=$PWD "$out/bin/query-fs-lisp-launcher.sh" --eval '(asdf:make :query-fs)' \ --eval "(progn $(for i in $linkedSystems; do echo "(asdf:make :$i)"; done) )" \