shen-sbcl: 41 -> 41.1

Like it says on the tin. Now supports installing concurrency, THORN, and
Logic Lab libraries into the default image.
This commit is contained in:
Colin King 2026-06-12 07:45:13 -05:00
commit 1264e5d450

View file

@ -4,16 +4,20 @@
fetchzip,
sbcl,
installStandardLibrary ? true,
installConcurrency ? true,
installThorn ? true,
installLogicLab ? true,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "shen-sbcl";
version = "41";
version = "41.1";
src = fetchzip {
url = "https://www.shenlanguage.org/Download/S${finalAttrs.version}.zip";
hash = "sha256-uWGMET1zjGbI/+yM1zeMfhVYBgrGawafAEBBGXANXGE=";
hash = "sha256-v/hlP23yfpkpFEDCTKYoxeMJbfR2qVF9LFUkqsFwo6g=";
};
sourceRoot = "${finalAttrs.src.name}/S41";
nativeBuildInputs = [ sbcl ];
dontStrip = true; # necessary to prevent runtime errors with sbcl
@ -38,11 +42,18 @@ stdenvNoCC.mkDerivation (finalAttrs: {
substituteInPlace Primitives/globals.lsp \
--replace-fail '"2.0.0"' '(LISP-IMPLEMENTATION-VERSION)'
# remove interactive prompt during image creation
substituteInPlace install.lsp \
--replace-fail '(Y-OR-N-P "Load Shen Standard Library? ")' '${
if installStandardLibrary then "T" else "NIL"
}'
# remove interactive prompts during image creation
# shen/tk requires further configuration and isn't supported by default
substituteInPlace Lib/install.shen \
--replace-fail '(y-or-n? "install standard library?")' '${
if installStandardLibrary then "true" else "false"
}' \
--replace-fail '(y-or-n? "install concurrency? (required for Shen/tk)")' '${
if installConcurrency then "true" else "false"
}' \
--replace-fail '(y-or-n? "install Shen/tk + IDE?")' 'false' \
--replace-fail '(y-or-n? "install THORN?")' '${if installThorn then "true" else "false"}' \
--replace-fail '(y-or-n? "install Logic Lab?")' '${if installLogicLab then "true" else "false"}'
'';
meta = {