[PATCH] gnu: Add unsyntax.

  • Open
  • quality assurance status badge
Details
One participant
  • Andrew Whatson
Owner
unassigned
Submitted by
Andrew Whatson
Severity
normal
A
A
Andrew Whatson wrote on 4 Jun 11:22 +0200
(address . guix-patches@gnu.org)(name . Andrew Whatson)(address . whatson@tailcall.au)
6faff8d80d23b950be727e9ca2ea7560ab28b9ed.1717492971.git.whatson@tailcall.au
* gnu/packages/scheme.scm (unsyntax): New variable.

Change-Id: If00a41e98d2a261af063cecd61e21a7bbc3f91ee
---
gnu/packages/scheme.scm | 59 ++++++++++++++++++++++++++++++++++++++++-
1 file changed, 58 insertions(+), 1 deletion(-)

Toggle diff (104 lines)
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 47754800f9..419467fdf0 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -20,7 +20,7 @@
;;; Copyright © 2022 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2022 Robby Zambito <contact@robbyzambito.me>
-;;; Copyright © 2023 Andrew Whatson <whatson@tailcall.au>
+;;; Copyright © 2023, 2024 Andrew Whatson <whatson@tailcall.au>
;;; Copyright © 2023 Juliana Sims <juli@incana.org>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2024 Skylar Hill <stellarskylark@posteo.net>
@@ -62,6 +62,7 @@ (define-module (gnu packages scheme)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bdw-gc)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages emacs)
@@ -81,15 +82,18 @@ (define-module (gnu packages scheme)
#:use-module (gnu packages lisp-check)
#:use-module (gnu packages lisp-xyz)
#:use-module (gnu packages m4)
+ #:use-module (gnu packages man)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages pcre)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@@ -618,6 +622,59 @@ (define-public chibi-scheme
threads.")
(license bsd-3)))
+(define-public unsyntax
+ (let ((commit "144772eeef4a812dd79515b67010d33ad2e7e890")
+ (revision "0"))
+ (package
+ (name "unsyntax")
+ (version (git-version "0.0.3" revision commit))
+ (home-page "https://www.unsyntax.org")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/nieper/unsyntax.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ia58xdrywsm0dg19kmkghnrgw6gj2bsaypyjmbpirrila73cqk0"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags
+ #~(list "gl_public_submodule_commit=") ; disable submodule checks
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'bootstrap 'prepare-bootstrap
+ (lambda _
+ ;; Unsyntax relies on bootstrap to fetch gnulib, we use
+ ;; the sources from guix's gnulib package instead.
+ (copy-recursively (getenv "GNULIB_SRCDIR") ".gnulib")
+ (setenv "GNULIB_SRCDIR" ".gnulib")
+ (patch-shebang ".gnulib/gnulib-tool")
+ (patch-shebang ".gnulib/build-aux/bootstrap")
+ (patch-shebang ".gnulib/build-aux/git-version-gen")
+ (patch-shebang ".gnulib/build-aux/prefix-gnulib-mk")
+ ;; The bootstrap_sync option updates the bootstrap script
+ ;; and runs it with CONFIG_SHELL, make sure it's correct.
+ (setenv "CONFIG_SHELL" (which "sh"))
+ ;; Tell git-version-gen the correct version number.
+ (call-with-output-file ".tarball-version"
+ (lambda (port)
+ (display #$version port))))))))
+ (native-inputs
+ (list autoconf automake libtool git gnulib help2man perl texinfo))
+ (propagated-inputs
+ (list chibi-scheme))
+ (synopsis "Expander for R7RS programs")
+ (description
+ "Unsyntax is an implementation of the Scheme programming language,
+specifically of its R7RS standard, and includes a number of extensions.
+Unsyntax evaluates Scheme expressions and compiles and runs Scheme programs by
+first expanding them into a minimal dialect of R7RS (small) without any
+syntactic extensions. The resulting expression or program is then evaluated
+by an existing Scheme implementation.")
+ (license expat))))
+
(define-public sicp
(let ((commit "bda03f79d6e2e8899ac2b5ca6a3732210e290a79")
(revision "3"))

base-commit: 5d3edff1a604414a3c42b89fcbc007e9d573993d
--
2.45.1
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 71359@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 71359
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch