about summary refs log tree commit diff
path: root/pkgs/development/lisp-modules
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2017-11-22 07:55:06 +0100
committerMichael Raskin <7c6f434c@mail.ru>2017-11-22 07:56:17 +0100
commit4db842f465f06f16a64eb2651cd863b5b44b2b74 (patch)
treecd8072d691b0c58cdf459ecba50781041570b611 /pkgs/development/lisp-modules
parenta1e340fab212c10d121771c7bce7d2b1e99af516 (diff)
lispPackages: A less aggressive way to manipulate ASDF search path, as suggested by Fare
Diffstat (limited to 'pkgs/development/lisp-modules')
-rwxr-xr-xpkgs/development/lisp-modules/clwrapper/cl-wrapper.sh8
-rw-r--r--pkgs/development/lisp-modules/define-package.nix2
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix8
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 41d40064294fc..55b469729f949 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 1a155b3e9339b..0224bf16ab70c 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 a20b19643d302..0f9761b0fcfbd 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) )" \