From 1264e5d45027a6f1e1a87a689c8dca95e0908485 Mon Sep 17 00:00:00 2001 From: Colin King Date: Fri, 12 Jun 2026 07:45:13 -0500 Subject: [PATCH] shen-sbcl: 41 -> 41.1 Like it says on the tin. Now supports installing concurrency, THORN, and Logic Lab libraries into the default image. --- pkgs/by-name/sh/shen-sbcl/package.nix | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/sh/shen-sbcl/package.nix b/pkgs/by-name/sh/shen-sbcl/package.nix index 605d5f17fe8f..35eaafd5ccc6 100644 --- a/pkgs/by-name/sh/shen-sbcl/package.nix +++ b/pkgs/by-name/sh/shen-sbcl/package.nix @@ -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 = {