From 465538f4b2824f49d99e4eef799f25f644a37bbc Mon Sep 17 00:00:00 2001 Message-Id: <465538f4b2824f49d99e4eef799f25f644a37bbc.1692867653.git.ramin.honary@cross-compass.com> From: Ramin Honary Date: Thu, 24 Aug 2023 17:57:51 +0900 Subject: [PATCH] gnu: Add stklos. * gnu/packages/scheme.scm (stklos): New variable. --- gnu/packages/scheme.scm | 48 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index c0e2e3ab48..611e0344e0 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) @@ -1236,3 +1236,47 @@ (define-public emacs-gerbil-mode (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) + (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-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash-bin (search-input-file inputs "/bin/bash"))) + (substitute* "configure" + (("/bin/sh") bash-bin))))) + (add-after 'configure 'patch-rm-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((rm-bin (search-input-file inputs "/bin/rm"))) + (ftw "." + (lambda (filename stat-info f) + (when (and + (equal? f 'regular) + (string=? (basename filename) "Makefile")) + (substitute* filename + (("/bin/rm") rm-bin))) + #t)))))))) + (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))) base-commit: 160f78a4d92205df986ed9efcce7d3aac188cb24 -- 2.34.1