Subject: Re: [bug#71359] [PATCH] gnu: Add unsyntax.

From: Ludovic Courtès <[email-masked]>
Date: Wed, 18 Dec 2024 18:26:33 +0100

Hi Andrew,

Friendly reminder that we’re awaiting feedback from you on this patch.

  https://issues.guix.gnu.org/71359

Ludo’.

Zheng Junjie <[email-masked]> skribis:

> Andrew Whatson via Guix-patches via <[email-masked]> writes:
>
>> * 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 <[email-masked]>
>>  ;;; Copyright © 2022 jgart <[email-masked]>
>>  ;;; Copyright © 2022 Robby Zambito <[email-masked]>
>> -;;; Copyright © 2023 Andrew Whatson <[email-masked]>
>> +;;; Copyright © 2023, 2024 Andrew Whatson <[email-masked]>
>>  ;;; Copyright © 2023 Juliana Sims <[email-masked]>
>>  ;;; Copyright © 2023 Maxim Cournoyer <[email-masked]>
>>  ;;; Copyright © 2024 Skylar Hill <[email-masked]>
>> @@ -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.
>
>> +      (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
>
>> +      (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