aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2025-08-16 20:42:39 -0400
committerGravatar Peter McGoron 2025-08-16 20:42:39 -0400
commit091f482b33600508fbf3448fd04def380037ba08 (patch)
tree608a42fabfcdd22905a3f960eb4b8d1249e32dee
parentLoko (diff)
STklos
-rw-r--r--README.md9
-rw-r--r--mcgoron/guix/scheme-packages.scm33
2 files changed, 42 insertions, 0 deletions
diff --git a/README.md b/README.md
index e605f7b..2c6cd4c 100644
--- a/README.md
+++ b/README.md
@@ -48,8 +48,17 @@ TODO: explain gauche, add gauche build system
* Path: `loko-scheme-lib-dir`
* Supports `R7RS_LIBRARY_PATH`, `R6RS_LIBRARY_PATH`
+## STKlos
+
+* Package: `stklos-with-path`
+* Path: `stklos-lib-dir`
+* Supports `R7RS_LIBRARY_PATH`
+
## Planned
+* Gauche build system
+* STKlos compiler
+
* STKlos, TR7, Mosh, Picrin (should be simple)
* Chez, and other R6RS, even unmaintained ones
* Kawa (Scheme source only, don't know enough about Java)
diff --git a/mcgoron/guix/scheme-packages.scm b/mcgoron/guix/scheme-packages.scm
index f8dfed5..f386059 100644
--- a/mcgoron/guix/scheme-packages.scm
+++ b/mcgoron/guix/scheme-packages.scm
@@ -450,3 +450,36 @@
,(append-to "LOKO_LIBRARY_PATH" "GUIX_LOKO_PATH" "R6RS_LIBRARY_PATH" "R7RS_LIBRARY_PATH")
impl))))
+;;;;;;;;;;;;;;;;;;;
+;;;; STKlos
+;;;;;;;;;;;;;;;;;;;
+
+(define-public stklos-lib-dir "share/stklos")
+
+(define-public stklos-build-system
+ (default-copying-build-system 'stklos
+ "Copy Scheme libraries into STKlos directory"
+ stklos-lib-dir))
+
+(define-public stklos-with-path
+ (package/path
+ stklos
+ "stklos"
+ "STKlos with Guix paths"
+ "Wrapper for STKlos that adds Guix-managed paths to search path"
+ "/bin/stklos"
+ "/bin/stklos"
+ "GUIX_STKLOS_PATH"
+ (list r7rs-search-path-specification)
+ stklos-lib-dir
+ `(lambda (sh impl)
+ (format #t
+ "#!~a
+
+ ~a
+
+ exec -a $0 \"~a\" \"$@\""
+ sh
+ ,(append-to "STKLOS_LOAD_PATH" "GUIX_STKLOS_PATH" "R7RS_LIBRARY_PATH")
+ impl))))
+