cl-rw

Layered streams for Common Lisp
git clone https://logand.com/git/cl-rw.git/
Log | Files | Refs

commit 1521750ac3a0b758f5ebcb0e56cb03a90536e430
parent 7193f06810da939f0f2c80eb800cd78965787f22
Author: Tomas Hlavaty <tom@logand.com>
Date:   Sun,  5 Jul 2015 14:18:08 +0200

refactor nix build

Diffstat:
Mdefault.nix | 28++++++++++++++++------------
1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/default.nix b/default.nix @@ -11,10 +11,7 @@ stdenv.mkDerivation rec { buildInputs = [sbcl ccl ecl mkcl]; - buildPhase = '' - export ASDF_OUTPUT_TRANSLATIONS=/:$(pwd)/cache/: - '' - + (if "sbcl" == "${lisptype}" then '' + sbclBuild = '' sbcl \ --lose-on-corruption \ --disable-ldb \ @@ -25,31 +22,38 @@ stdenv.mkDerivation rec { --eval '(push (truename "./") asdf:*central-registry*)' \ --eval '(require :cl-rw-demo-${demo})' \ --eval '(rw.demo.${demo}::save-image)' - '' else "") - + (if "ccl" == "${lisptype}" then '' + ''; + cclBuild = '' lx86cl64 -K utf-8 -n \ -l "${ccl}/share/ccl-installation/tools/asdf" \ -e '(push (truename "./") asdf:*central-registry*)' \ -e '(require :cl-rw-demo-${demo})' \ -e '(rw.demo.${demo}::save-image)' - '' else "") - + (if "ecl" == "${lisptype}" then '' - find ${ecl} + ''; + eclBuild = '' ecl \ -norc \ -load "${ccl}/share/ccl-installation/tools/asdf" \ -eval '(push (truename "./") asdf:*central-registry*)' \ -eval '(require :cl-rw-demo-${demo})' \ -eval '(rw.demo.${demo}::save-image)' - '' else "") - + (if "mkcl" == "${lisptype}" then '' + ''; + mkclBuild = '' mkcl \ -norc \ -load "${ccl}/share/ccl-installation/tools/asdf" \ -eval '(push (truename "./") asdf:*central-registry*)' \ -eval '(require :cl-rw-demo-${demo})' \ -eval '(rw.demo.${demo}::save-image)' - '' else ""); + ''; + buildPhase = '' + export ASDF_OUTPUT_TRANSLATIONS=/:$(pwd)/cache/: + '' + + (if "sbcl" == "${lisptype}" then sbclBuild + else if "ccl" == "${lisptype}" then cclBuild + else if "ecl" == "${lisptype}" then eclBuild + else if "mkcl" == "${lisptype}" then mkclBuild + else ""); dontPatchELF = true; dontStrip = true;