summary refs log tree commit diff
path: root/gnu/packages/scheme.scm
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2023-09-15 18:20:38 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2023-09-15 18:47:00 +0200
commite9ff5d51e3297089e66c124195e1f1b42dbded65 (patch)
treece3993c90b76a2275b57bf3231628966897ee122 /gnu/packages/scheme.scm
parent43cdc8a07517e936812782c313fe145bcf5c7ed3 (diff)
parentb696fb41bc0dfcb7130a5aa6d69aff2ae191c283 (diff)
downloadguix-e9ff5d51e3297089e66c124195e1f1b42dbded65.tar.gz
Merge branch 'master' into gnome-team.
Diffstat (limited to 'gnu/packages/scheme.scm')
-rw-r--r--gnu/packages/scheme.scm45
1 files changed, 43 insertions, 2 deletions
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 44e0130573..ad06d7db06 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -42,8 +42,8 @@
 (define-module (gnu packages scheme)
   #:use-module (gnu packages)
   #:use-module ((guix licenses)
-                #:select (gpl2+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ asl2.0 bsd-3
-                          cc-by-sa4.0 non-copyleft expat public-domain))
+                #:select (gpl2 gpl2+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ asl2.0
+                          bsd-3 cc-by-sa4.0 non-copyleft expat public-domain))
   #:use-module (guix gexp)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -1235,3 +1235,44 @@ time compilation and compiled macros.")
     (description
      "Gerbil mode provides font-lock, indentation, navigation, and REPL for
 Gerbil code within Emacs.")))
+
+(define-public stklos
+  (package
+    (name "stklos")
+    (version "1.70")
+    (source (origin
+              (method url-fetch)
+              ;; TODO: Unbundle pcre, libgc, and libffi.
+              (uri (string-append "https://stklos.net/download/stklos-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1iw3pgycjz3kz3jd1855v2ngf8ib2almpf8v058n1mkj1qd2b88m"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:modules `((ice-9 ftw)
+                  ,@%gnu-build-system-modules)
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'configure 'patch-sh-references
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((bash (which "bash")))
+                (substitute* "configure"
+                  (("/bin/sh") bash)))))
+          (add-after 'configure 'patch-rm-references
+            (lambda _
+              (let ((rm (which "rm")))
+                (substitute* (find-files "." "^Makefile$")
+                  (("/bin/rm") rm))))))))
+    (properties
+     '((release-monitoring-url . "https://stklos.net/download.html")))
+    (home-page "https://stklos.net")
+    (synopsis "R7RS Scheme with CLOS-like object system")
+    (description
+     "STklos is a free Scheme system mostly compliant with the languages
+features defined in R7RS small.  The aim of this implementation is to be fast
+as well as light.  The implementation is based on an ad-hoc Virtual
+Machine.  STklos can also be compiled as a library and embedded in an
+application.")
+    (license gpl2+)))