Package: guix-patches;
Reported by: Andrew Whatson <whatson <at> tailcall.au>
Date: Tue, 4 Jun 2024 09:26:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Andrew Whatson <whatson <at> tailcall.au> To: guix-patches <at> gnu.org Cc: Andrew Whatson <whatson <at> tailcall.au> Subject: [PATCH] gnu: Add unsyntax. Date: Tue, 4 Jun 2024 19:22:52 +1000
* gnu/packages/scheme.scm (unsyntax): New variable. Change-Id: If00a41e98d2a261af063cecd61e21a7bbc3f91ee --- gnu/packages/scheme.scm | 59 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) 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 <at> outlook.com> ;;; Copyright © 2022 jgart <jgart <at> dismail.de> ;;; Copyright © 2022 Robby Zambito <contact <at> robbyzambito.me> -;;; Copyright © 2023 Andrew Whatson <whatson <at> tailcall.au> +;;; Copyright © 2023, 2024 Andrew Whatson <whatson <at> tailcall.au> ;;; Copyright © 2023 Juliana Sims <juli <at> incana.org> ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer <at> gmail.com> ;;; Copyright © 2024 Skylar Hill <stellarskylark <at> 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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.