summary refs log tree commit diff
path: root/pkgs/development/lisp-modules/from-quicklisp/quicklisp-dependencies.sh
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2013-10-29 10:56:33 +0400
committerMichael Raskin <7c6f434c@mail.ru>2013-10-29 10:56:33 +0400
commit22ddf66b54396f865ae1c1df6a366640039c20c6 (patch)
treeb16622d756ba5b91f3c5a568822e72fb75384e4a /pkgs/development/lisp-modules/from-quicklisp/quicklisp-dependencies.sh
parenta976962d6cb87ffb946956fe58a5dfd5742f769e (diff)
downloadnixpkgs-22ddf66b54396f865ae1c1df6a366640039c20c6.tar
nixpkgs-22ddf66b54396f865ae1c1df6a366640039c20c6.tar.gz
nixpkgs-22ddf66b54396f865ae1c1df6a366640039c20c6.tar.bz2
nixpkgs-22ddf66b54396f865ae1c1df6a366640039c20c6.tar.lz
nixpkgs-22ddf66b54396f865ae1c1df6a366640039c20c6.tar.xz
nixpkgs-22ddf66b54396f865ae1c1df6a366640039c20c6.tar.zst
nixpkgs-22ddf66b54396f865ae1c1df6a366640039c20c6.zip
Adding a facility to generate Lisp module definitions from QuickLisp; no sane update facility yet; adding Esrap-PEG as a test
Diffstat (limited to 'pkgs/development/lisp-modules/from-quicklisp/quicklisp-dependencies.sh')
-rwxr-xr-xpkgs/development/lisp-modules/from-quicklisp/quicklisp-dependencies.sh11
1 files changed, 11 insertions, 0 deletions
diff --git a/pkgs/development/lisp-modules/from-quicklisp/quicklisp-dependencies.sh b/pkgs/development/lisp-modules/from-quicklisp/quicklisp-dependencies.sh
new file mode 100755
index 00000000000..24efbdd3e16
--- /dev/null
+++ b/pkgs/development/lisp-modules/from-quicklisp/quicklisp-dependencies.sh
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+[ -z "$NIX_QUICKLISP_DIR" ] && {
+  export NIX_QUICKLISP_DIR="$(mktemp -d --tmpdir nix-quicklisp.XXXXXX)"
+}
+
+[ -f "$NIX_QUICKLISP_DIR/setup.lisp" ] || {
+  "$(dirname "$0")/quicklisp-beta-env.sh" "$NIX_QUICKLISP_DIR" &> /dev/null < /dev/null
+}
+
+sbcl --noinform --eval "(with-output-to-string (*standard-output*) (load \"$NIX_QUICKLISP_DIR/setup.lisp\"))" --eval "(with-output-to-string (*standard-output*) (with-output-to-string (*error-output*) (with-output-to-string (*trace-output*) (ql:quickload :$1))))" --eval "(format t \"~{~a~%~}\" (mapcar 'ql::name (mapcar 'car (cdr (ql::dependency-tree \"$1\")))))" --eval '(quit)' --script