summary refs log tree commit diff
path: root/pkgs/development/lisp-modules/define-package.nix
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2017-03-31 22:46:32 +0200
committerMichael Raskin <7c6f434c@mail.ru>2017-03-31 22:46:49 +0200
commit1e7bad5d51756ac7f0f8065ee726add4c7670eaf (patch)
tree2919e2e918f36071bb23118e0604ab63a42e4576 /pkgs/development/lisp-modules/define-package.nix
parent5793e12143ba18b91826c2443e2888d2a6ccafb7 (diff)
downloadnixpkgs-1e7bad5d51756ac7f0f8065ee726add4c7670eaf.tar
nixpkgs-1e7bad5d51756ac7f0f8065ee726add4c7670eaf.tar.gz
nixpkgs-1e7bad5d51756ac7f0f8065ee726add4c7670eaf.tar.bz2
nixpkgs-1e7bad5d51756ac7f0f8065ee726add4c7670eaf.tar.lz
nixpkgs-1e7bad5d51756ac7f0f8065ee726add4c7670eaf.tar.xz
nixpkgs-1e7bad5d51756ac7f0f8065ee726add4c7670eaf.tar.zst
nixpkgs-1e7bad5d51756ac7f0f8065ee726add4c7670eaf.zip
clwrapper, buildLispPackage: compile fasls and store them for all systems
Diffstat (limited to 'pkgs/development/lisp-modules/define-package.nix')
-rw-r--r--pkgs/development/lisp-modules/define-package.nix15
1 files changed, 11 insertions, 4 deletions
diff --git a/pkgs/development/lisp-modules/define-package.nix b/pkgs/development/lisp-modules/define-package.nix
index a3368e336e6..58f4ab6d21d 100644
--- a/pkgs/development/lisp-modules/define-package.nix
+++ b/pkgs/development/lisp-modules/define-package.nix
@@ -1,15 +1,17 @@
-args @ {stdenv, clwrapper, baseName, version ? "latest", src, description, deps, 
-  buildInputs ? [], meta ? {}, overrides?(x: {}), propagatedBuildInputs ? []}:
+args @ {stdenv, clwrapper, baseName, testSystem ? baseName, version ? "latest"
+  , src, description, deps, buildInputs ? [], meta ? {}, overrides?(x: {})
+  , propagatedBuildInputs ? []}:
 let 
   deployConfigScript = ''
     config_script="$out"/lib/common-lisp-settings/${args.baseName}-shell-config.sh
     mkdir -p "$(dirname "$config_script")"
     touch "$config_script"
     chmod a+x "$config_script"
-    echo "export NIX_CFLAGS_COMPILE='$NIX_CFLAGS_COMPILE'\"\''${NIX_CFLAGS_COMPILE:+ $NIX_CFLAGS_COMPILE}\"" >> "$config_script"
+    echo "export NIX_CFLAGS_COMPILE='$NIX_CFLAGS_COMPILE'\"\''${NIX_CFLAGS_COMPILE:+ \$NIX_CFLAGS_COMPILE}\"" >> "$config_script"
     echo "export NIX_LISP_COMMAND='$NIX_LISP_COMMAND'" >> "$config_script"
     echo "export NIX_LISP_ASDF='$NIX_LISP_ASDF'" >> "$config_script"
     echo "export CL_SOURCE_REGISTRY="\$CL_SOURCE_REGISTRY\''${CL_SOURCE_REGISTRY:+:}"'$CL_SOURCE_REGISTRY:$out/lib/common-lisp/${args.baseName}/'" >> "$config_script"
+    echo "export ASDF_OUTPUT_TRANSLATIONS="\$ASDF_OUTPUT_TRANSLATIONS\''${ASDF_OUTPUT_TRANSLATIONS:+:}"'$out/lib/common-lisp/${args.baseName}/:$out/lib/common-lisp-compiled/${args.baseName}:$ASDF_OUTPUT_TRANSLATIONS'" >> "$config_script"
     test -n "$LD_LIBRARY_PATH" &&
         echo "export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}\"'$LD_LIBRARY_PATH'" >> "$config_script"
     test -n "$NIX_LISP_LD_LIBRARY_PATH" &&
@@ -41,9 +43,14 @@ basePackage = {
     ${deployConfigScript}
     ${deployLaunchScript}
 
+    ${if testSystem != null then ''
+       NIX_LISP_PRELAUNCH_HOOK='nix_lisp_run_single_form "(asdf:load-system :${testSystem})"' \
+          "$out/bin/${args.baseName}-lisp-launcher.sh" ""
+    '' else ""}
+
     eval "$postInstall"
   '';
-  propagatedBuildInputs = (args.deps or []) ++ [clwrapper clwrapper.lisp] 
+  propagatedBuildInputs = (args.deps or []) ++ [clwrapper clwrapper.lisp clwrapper.asdf] 
     ++ (args.propagatedBuildInputs or []);
   buildInputs = buildInputs;
   dontStrip=true;