From 881a517c9c55e0744502239f4fe66af71dbdf8b3 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 20 Jan 2021 20:30:45 +0100 Subject: [PATCH] .local/bin/portable-sbcl-script-test: Init. --- .local/bin/portable-sbcl-script-test | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 .local/bin/portable-sbcl-script-test diff --git a/.local/bin/portable-sbcl-script-test b/.local/bin/portable-sbcl-script-test new file mode 100755 index 00000000..33ccd080 --- /dev/null +++ b/.local/bin/portable-sbcl-script-test @@ -0,0 +1,27 @@ +#!/bin/sh +#| +SYSTEMS="sbcl-alexandria sbcl-cl-str" + +name="$(basename "$0")" +root="$HOME/.guix-temp-profiles/$name/$name" +guix_checkout="/var/guix/profiles/per-user/$USER/current-guix" + +mtime () { ## TODO: Portable version? + stat --printf=%Y "$1" +} + +if [ ! -e "$root" ] || \ + [ $(mtime "$guix_checkout") -gt $(mtime "$root") ]; then + echo build + mkdir -p "$(dirname "$root")" + exec guix environment --root="$root" --ad-hoc sbcl $SYSTEMS lisp-repl-core-dumper -- \ + lisp-repl-core-dumper sbcl --script "$0" "$@" +else + exec "$root"/bin/lisp-repl-core-dumper sbcl --script "$0" "$@" +fi + +|# +;; (require :asdf) ; No need if using lisp-repl-core-dumper. +(asdf:load-system :alexandria) +(format t "Args ~s!~%" (uiop:command-line-arguments)) +(format t "Hello ~a!~%" (alexandria:iota 1))