diff options
author | Artyom V. Poptsov <poptsov.artyom@gmail.com> | 2024-04-06 09:32:09 +0300 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2024-04-15 12:32:42 +0200 |
commit | a8353e9d6b34fd8d42d2e8f14ce844849fe9c293 (patch) | |
tree | 83e0366e38ee81da3f78a538d64c29ce77cc64a4 /gnu | |
parent | 53dba8c808c24f0997064ee9632ac4fa7fd2cf32 (diff) | |
download | guix-a8353e9d6b34fd8d42d2e8f14ce844849fe9c293.tar guix-a8353e9d6b34fd8d42d2e8f14ce844849fe9c293.tar.gz |
gnu: Add tr7.
* gnu/packages/scheme.scm (tr7): New variable.
Change-Id: I60e34f0f918ea7c9b36cea02358d69ab7bfad24b
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/scheme.scm | 62 |
1 files changed, 61 insertions, 1 deletions
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 070696d6ba..a91a2d693d 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2023 Juliana Sims <juli@incana.org> ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2024 Skylar Hill <stellarskylark@posteo.net> +;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,7 +45,8 @@ #:use-module (gnu packages) #:use-module ((guix licenses) #:select (gpl2 gpl2+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ asl2.0 - bsd-3 cc-by-sa4.0 non-copyleft expat public-domain)) + bsd-0 bsd-3 cc-by-sa4.0 non-copyleft expat + public-domain)) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) @@ -855,6 +857,64 @@ can be added and values can be defined in the Scheme environment. Being quite a small program, it is easy to comprehend, get to grips with, and use.") (license bsd-3))) ; there are no licence headers +(define-public tr7 + (package + (name "tr7") + (version "1.0.10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/jobol/tr7") + (commit (string-append "v" version)))) + (sha256 + (base32 "0n77fkm5kcv2pmwbw5fl8r00aarw8da8gkd9d1ki5fn9kbl4fyk2")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (outputs '("out" "doc")) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + (substitute* "Makefile" + (("PREFIX = /usr/local") + (string-append "PREFIX=" #$output)) + (("ALL = \\$\\(LIBSTA\\) \\$\\(TR7I\\) tags") + "ALL = $(LIBSTA) $(TR7I)")))) + (replace 'build + (lambda _ + (setenv "CC" #$(cc-for-target)) + (invoke "make"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "test")))) + (replace 'install + (lambda _ + (let* ((share (string-append #$output "/share")) + (doc (string-append #$output:doc "/share/doc/")) + (bin (string-append #$output "/bin")) + (lib (string-append #$output "/lib/")) + (tr7 (string-append share "/tr7")) + (libs (string-append tr7 "/libs"))) + (for-each mkdir-p (list tr7 libs bin lib doc)) + (copy-file "tr7i" (string-append bin "/tr7i")) + (copy-file "libtr7.a" (string-append lib "/libtr7.a")) + (copy-file "r7rs.pdf" (string-append doc "/r7rs.pdf")) + (copy-recursively "tr7libs" libs))))))) + (home-page "https://gitlab.com/jobol/tr7") + (synopsis "Embedded R7RS small Scheme interpreter") + (description + "TR7 is a lightweight Scheme interpreter that implements the revision +R7RS small of scheme programming language. + +It is meant to be used as an embedded scripting interpreter for other +programs. A lot of functionality in TR7 is included conditionally, to allow +developers freedom in balancing features and footprint.") + (license bsd-0))) + (define-public stalin (let ((commit "ed1c9e339c352b7a6fee40bb2a47607c3466f0be")) ;; FIXME: The Stalin "source" contains C code generated by itself: |