[PATCH] gnu: Add unsyntax.

  • Open
  • quality assurance status badge
Details
2 participants
  • Andrew Whatson
  • Zheng Junjie
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
Z
Z
Zheng Junjie wrote on 21 Jul 05:00 +0200
(name . Andrew Whatson via Guix-patches via)(address . guix-patches@gnu.org)
87sew35tzy.fsf@iscas.ac.cn
Andrew Whatson via Guix-patches via <guix-patches@gnu.org> writes:

Toggle quote (59 lines)
> * 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@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")

HOME-PAGE should move before SYNOPSIS.

Toggle quote (37 lines)
> + (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))

why must add chibi-scheme to propagated-inputs? If necessary, please add a comment to indicate this

Toggle quote (15 lines)
> + (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
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmaceeEACgkQO1qpk+Gi
3/CmGhAAp7gZcRGZHwLBop7zxWaEu+LC25AynbcrHgwPf5LlWXWSF/GLzgwfeYeC
60KGbea1UA6WGakUyD5dgU3PLahMuVIivStbLgn7qjiiCh3bxmkbR4N09PN/xxgr
ar78g0h4D629zKxz13HrsQqFrlCqhvuHxit4OYi3LIXiQxyVEY9GR97H1aFOte4q
3xW0AtzBPeWq30kPqyfr78U1y+TfziULpPmK1wl10cp3cirIKuoIL4Ctk4DHP1Xm
Eu33nW1bHyhXrja22KLCfe7KNzL5blPr8km9LFHSH2zLn7BCHA4pFagSr6tpJ54P
wJ4elzQ71QaOnaMxCodDFQ7E4m3U+twUIdgpCysy5rn4kdHEryLGy6vECZ1vzWMC
XOkjKas/wqfTg47orfeW1RjM2C/VaLNqluNbvJLg1MbxlztmiVsbJX2hKaitsP9e
dqbk7YNR+2unoIR2v+vqqC4KQWAXjfB0yYMj2xNPDYK1W85+lUMLoDxMdZdaupVS
KIFKcypplB976FHr7DhFmFx9ux9NkdmgGJUCBW4stV2PZF5zqzw+J6dwlv/bFPKp
hnN5uuYDnBDGKFQ2ptq6z+SQuo/mE9MKgh6Q61723hpETZl7NpioUwLb+JhkwfLB
HXiC2+oBn8zaDAMM9O8c21xDMGovK0qXPOF8l0YP7I5uDNyetWs=
=Qwnv
-----END PGP SIGNATURE-----

?
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