all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Liliana Marie Prikler <liliana.prikler@ist.tugraz.at>
To: Philip McGrath <philip@philipmcgrath.com>, 57050@debbugs.gnu.org
Cc: Liliana Marie Prikler <liliana.prikler@gmail.com>,
	Thiago Jung Bauermann <bauermann@kolabnow.com>
Subject: [bug#57050] [PATCH v2 04/13] gnu: Add Zuo.
Date: Thu, 11 Aug 2022 13:31:12 +0200	[thread overview]
Message-ID: <bde8ed75e4db40bdb25a1850d8fe83d4e8cd5e6d.camel@ist.tugraz.at> (raw)
In-Reply-To: <285372112d70bcb4011d6c085592787df4f57d44.1660215295.git.philip@philipmcgrath.com>

Am Donnerstag, dem 11.08.2022 um 07:08 -0400 schrieb Philip McGrath:
> [...]
>  
>  (define %racket-version "8.5") ; Remember to update chez-scheme-for-
> racket!
> +(define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c
Is that publicly visible?
>  (define %racket-commit
>    (string-append "v" %racket-version))
>  (define %racket-origin
> @@ -233,6 +234,69 @@ (define %racket-origin
>           ;; Unbundle libffi.
>           (delete-file-recursively
> "racket/src/bc/foreign/libffi")))))
>  
> +
> +(define-public zuo
> +  (let ((revision #f))
> +    (package
> +      (name "zuo")
> +      (version (string-append %zuo-version
> +                              "-racket"
> +                              "8.6"
> +                              (if revision "-guix" "")
> +                              (or revision "")))
Is this really needed?  If we expect to maintain zuo split from racket,
I'd rather go with https://github.com/racket/zuo and git-version.
> +      (source
> +       (origin
> +         (inherit %racket-origin)
> +         (uri (git-reference
> +               (url "https://github.com/racket/racket")
> +               (commit "v8.6")))
> +         (sha256
> +          (base32
> "1yi36nr7zrdwrnvpmliirxxjz4pyfyhkar6yvk3rapvmg4q2vmnk"))
> +         (patches (append (origin-patches %racket-origin)
> +                          (search-patches "racket-backport-8.6-
> zuo.patch"
> +                                          "racket-zuo-bin-
> sh.patch")))
> +         (file-name (git-file-name "racket" "8.6"))))
> +      (outputs '("out" "debug"))
> +      (build-system gnu-build-system)
> +      (inputs (list bash-minimal))
> +      (native-inputs (list bash-minimal))
> +      (arguments
> +       (list
> +        #:configure-flags
> +        #~`(,(string-append "CPPFLAGS=-DGUIX_RKTIO_BIN_SH="
> +                            #$(file-append (this-package-input
> "bash-minimal")
> +                                           "/bin/sh"))
As with chez-scheme, I do think using a Racket-agnostic macro name is
helpful here.
> +            #+@(if (%current-target-system)
> +                   (list #~,(string-append
> +                             "CPPFLAGS_FOR_BUILD=-
> DGUIX_RKTIO_BIN_SH="
> +                             #+(file-append
> +                                (this-package-native-input "bash-
> minimal")
> +                                "/bin/sh")))
> +                   '()))
> +        #:out-of-source? #t
> +        #:phases
> +        #~(modify-phases %standard-phases
> +            (add-after 'unpack 'chdir
> +              (lambda args
> +                (chdir "racket/src/zuo"))))))
> +      (home-page "https://github.com/racket/zuo")
> +      ;; ^ This is downstream of https://github.com/racket/racket,
> +      ;; but it's designed to be a friendly landing place
> +      (synopsis "Tiny Racket for build scripts")
> +      (description "You should use Racket to write scripts.
Sorry, but I prefer Guile.

>   But what if you
> +need something much smaller than Racket for some reason—or what if
> you're
> +trying to script a build of Racket itself?  Zuo is a tiny Racket
> with
> +primitives for dealing with files and running processes, and it
> comes with a
> +@command{make}-like embedded DSL.
> +
> +Zuo (作) is a Racket variant in the sense that program files start
> with
> +@code{#lang}, and the module path after @code{#lang} determines the
> parsing
> +and expansion of the file content.  That's how the @command{make}-
> like DSL is
> +defined, and even the base Zuo language is defined by layers of
> @code{#lang}s.
> +One of the early layers implements macros.")
> +      (license (list license:asl2.0 license:expat)))))
Rarely have I read a description this long, yet uninformative.  Let me
shorten that a little: "Zuo is a tiny Racket variant that can be used
to bootstrap Racket.  It comes with primitives for dealing with files
and processes, as well as a @command{make}-like DSL."

Cheers




  reply	other threads:[~2022-08-11 11:32 UTC|newest]

Thread overview: 122+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-08  6:06 [bug#57050] [PATCH 0/6] gnu: Update Racket to 8.6. Add Zuo Philip McGrath
2022-08-08  6:10 ` [bug#57050] [PATCH 1/6] gnu: stex: Update to 1.2.2-2.afa6075 Philip McGrath
2022-08-08  6:10 ` [bug#57050] [PATCH 2/6] gnu: stex: Fix read-only gifs and math directories Philip McGrath
2022-08-08  6:10 ` [bug#57050] [PATCH 3/6] gnu: chez-scheme: Fix use of "/bin/sh" Philip McGrath
2022-08-08  8:53   ` Liliana Marie Prikler
2022-08-09 20:25     ` Philip McGrath
2022-08-09 21:24       ` Maxime Devos
2022-08-09 21:38         ` ( via Guix-patches via
2022-08-09 21:58           ` Philip McGrath
2022-08-09 22:09             ` ( via Guix-patches via
2022-08-10 11:46             ` Maxime Devos
2022-08-08  6:10 ` [bug#57050] [PATCH 4/6] gnu: Update Racket to 8.6. Add Zuo Philip McGrath
2022-08-08  9:01   ` Liliana Marie Prikler
2022-08-09 20:56     ` Philip McGrath
2022-08-10  7:34       ` Liliana Marie Prikler
2022-08-08  6:10 ` [bug#57050] [PATCH 5/6] gnu: racket: Use Racket CS on all systems Philip McGrath
2022-08-08  9:10   ` Liliana Marie Prikler
2022-08-08  6:10 ` [bug#57050] [PATCH 6/6] gnu: chez-scheme-for-racket: Suport " Philip McGrath
2022-08-08  9:15   ` Liliana Marie Prikler
2022-08-10 15:30 ` [bug#57050] [PATCH 0/6] gnu: Update Racket to 8.6. Add Zuo Thiago Jung Bauermann via Guix-patches via
2022-08-11  4:00   ` Philip McGrath
2022-08-11 11:08     ` [bug#57050] [PATCH v2 00/13] " Philip McGrath
2022-08-11 11:08       ` [bug#57050] [PATCH v2 01/13] gnu: stex: Update to 1.2.2-2.afa6075 Philip McGrath
2022-08-11 11:08       ` [bug#57050] [PATCH v2 02/13] gnu: stex: Fix read-only gifs and math directories Philip McGrath
2022-08-11 11:13         ` Liliana Marie Prikler
2022-08-11 11:08       ` [bug#57050] [PATCH v2 03/13] gnu: chez-scheme: Fix use of "/bin/sh" Philip McGrath
2022-08-11 11:08       ` [bug#57050] [PATCH v2 04/13] gnu: Add Zuo Philip McGrath
2022-08-11 11:31         ` Liliana Marie Prikler [this message]
2022-08-11 14:00           ` Philip McGrath
2022-08-11 15:34             ` Liliana Marie Prikler
2022-08-11 23:32               ` Philip McGrath
2022-08-16 14:47             ` Maxime Devos
2022-08-23  1:40               ` Philip McGrath
2022-08-23  9:11                 ` Maxime Devos
2022-08-23 23:24                   ` Philip McGrath
2022-08-23  9:20                 ` Maxime Devos
2022-08-24  0:27                   ` Philip McGrath
2022-08-24  5:42                     ` Liliana Marie Prikler
2022-08-24  5:47                       ` Philip McGrath
2022-08-25  8:54                     ` [bug#57050] [PATCH v3 00/14] gnu: Update Racket to 8.6. " Philip McGrath
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 01/14] gnu: stex: Update to 1.2.2-2.afa6075 Philip McGrath
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 02/14] gnu: stex: Fix read-only gifs and math directories Philip McGrath
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 03/14] etc: teams: Add racket team Philip McGrath
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 04/14] etc: teams: Add entry for Philip McGrath Philip McGrath
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 05/14] gnu: racket: Adjust patch for "/bin/sh" in rktio Philip McGrath
2022-08-25  9:09                         ` Liliana Marie Prikler
2022-08-25 19:16                           ` Philip McGrath
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 06/14] gnu: chez-scheme: Fix use of "/bin/sh" Philip McGrath
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 07/14] gnu: Add Zuo Philip McGrath
2022-08-25  9:12                         ` Liliana Marie Prikler
2022-08-25 10:30                         ` Efraim Flashner
2022-08-25 20:04                           ` Philip McGrath
2022-08-26 12:01                             ` Liliana Marie Prikler
2022-08-27 18:08                               ` Philip McGrath
2022-08-27 18:58                                 ` Liliana Marie Prikler
2022-08-27 19:54                                   ` Philip McGrath
2022-08-27 21:18                                     ` Liliana Marie Prikler
2022-08-27 21:28                                       ` Philip McGrath
2022-08-27 22:26                                         ` Liliana Marie Prikler
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 08/14] gnu: racket: Update to 8.6 Philip McGrath
2022-08-25  9:14                         ` Liliana Marie Prikler
2022-08-25 10:39                         ` Efraim Flashner
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 09/14] gnu: chez-scheme: Make bootfiles regular inputs Philip McGrath
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 10/14] gnu: chez-scheme-for-racket: Support cross-compilation Philip McGrath
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 11/14] gnu: racket: Support cross-compiling the VM packages Philip McGrath
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 12/14] gnu: chez-scheme-for-racket: Suport all systems Philip McGrath
2022-08-25  9:24                         ` Liliana Marie Prikler
2022-08-25 10:50                           ` Efraim Flashner
2022-08-25 20:17                             ` Philip McGrath
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 13/14] gnu: racket-vm-bc: Add workaround for ppc64le Philip McGrath
2022-08-25  8:54                       ` [bug#57050] [PATCH v3 14/14] gnu: racket: Use Racket CS on all systems Philip McGrath
2022-08-25  9:17                         ` Liliana Marie Prikler
2022-08-26 21:15                       ` [bug#57050] [PATCH v3 00/14] gnu: Update Racket to 8.6. Add Zuo Thiago Jung Bauermann via Guix-patches via
2022-08-27 18:55                     ` [bug#57050] [PATCH v4 " Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 01/14] gnu: stex: Update to 1.2.2-2.afa6075 Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 02/14] gnu: stex: Fix read-only gifs and math directories Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 03/14] etc: teams: Add racket team Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 04/14] etc: teams: Add entry for Philip McGrath Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 05/14] gnu: racket: Adjust patch for "/bin/sh" in rktio Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 06/14] gnu: chez-scheme: Fix use of "/bin/sh" Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 07/14] gnu: Add Zuo Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 08/14] gnu: racket: Update to 8.6 Philip McGrath
2022-08-27 19:21                         ` Liliana Marie Prikler
2022-08-27 20:30                           ` Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 09/14] gnu: chez-scheme: Make bootfiles regular inputs Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 10/14] gnu: chez-scheme-for-racket: Support cross-compilation Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 11/14] gnu: racket: Support cross-compiling the VM packages Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 12/14] gnu: chez-scheme-for-racket: Support all systems Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 13/14] gnu: racket-vm-bc: Add workaround for ppc64le Philip McGrath
2022-08-27 18:55                       ` [bug#57050] [PATCH v4 14/14] gnu: racket: Use Racket CS on all systems Philip McGrath
2022-09-04 20:53                       ` bug#57050: [PATCH 0/6] gnu: Update Racket to 8.6. Add Zuo Ludovic Courtès
2022-08-11 11:08       ` [bug#57050] [PATCH v2 05/13] gnu: racket: Update to 8.6 Philip McGrath
2022-08-11 11:44         ` Liliana Marie Prikler
2022-08-11 22:40           ` Philip McGrath
2022-08-12  6:34             ` Liliana Marie Prikler
2022-08-22  8:41         ` Efraim Flashner
2022-08-22 18:56           ` Philip McGrath
2022-08-11 11:08       ` [bug#57050] [PATCH v2 06/13] gnu: chez-scheme: Bootfiles should not be native inputs Philip McGrath
2022-08-11 11:47         ` Liliana Marie Prikler
2022-08-11 22:45           ` Philip McGrath
2022-08-12  4:21             ` Liliana Marie Prikler
2022-08-11 11:08       ` [bug#57050] [PATCH v2 07/13] gnu: chez-scheme-for-racket: Support cross-compilation Philip McGrath
2022-08-11 11:56         ` Liliana Marie Prikler
2022-08-11 22:49           ` Philip McGrath
2022-08-11 11:08       ` [bug#57050] [PATCH v2 08/13] gnu: racket: Support cross-compiling the VM packages Philip McGrath
2022-08-11 11:58         ` Liliana Marie Prikler
2022-08-11 23:23           ` Philip McGrath
2022-08-11 11:08       ` [bug#57050] [PATCH v2 09/13] gnu: chez-scheme-for-racket: Suport all systems Philip McGrath
2022-08-11 12:02         ` Liliana Marie Prikler
2022-08-11 23:25           ` Philip McGrath
2022-08-11 11:08       ` [bug#57050] [PATCH v2 10/13] gnu: racket-vm-bc: Add workaround for ppc64le Philip McGrath
2022-08-11 11:08       ` [bug#57050] [PATCH v2 11/13] gnu: racket: Use Racket CS on all systems Philip McGrath
2022-08-11 12:03         ` Liliana Marie Prikler
2022-08-11 11:08       ` [bug#57050] [PATCH v2 12/13] etc: teams: Add racket team Philip McGrath
2022-08-11 12:11         ` Liliana Marie Prikler
2022-08-11 11:08       ` [bug#57050] [PATCH v2 13/13] etc: teams: Add entry for Philip McGrath Philip McGrath
2022-08-13 17:43       ` [bug#57050] [PATCH v2 00/13] gnu: Update Racket to 8.6. Add Zuo Thiago Jung Bauermann via Guix-patches via
2022-08-15  5:47       ` [bug#57050] [RFC PATCH] gnu: racket-vm-cs: Avoid 'configure' bug with '--enable-racket' Philip McGrath
2022-08-15  6:12         ` Philip McGrath
2022-08-15 19:54       ` [bug#57050] [RFC PATCH v2] gnu: racket: Backport fix for powerpc64le Philip McGrath
2022-08-19  0:51         ` Thiago Jung Bauermann via Guix-patches via
2022-08-19 10:10           ` Maxime Devos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bde8ed75e4db40bdb25a1850d8fe83d4e8cd5e6d.camel@ist.tugraz.at \
    --to=liliana.prikler@ist.tugraz.at \
    --cc=57050@debbugs.gnu.org \
    --cc=bauermann@kolabnow.com \
    --cc=liliana.prikler@gmail.com \
    --cc=philip@philipmcgrath.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.