GNU bug report logs - #53878
[PATCH 00/11] Update Racket to 8.4. Adjust Chez Scheme

Previous Next

Package: guix-patches;

Reported by: Philip McGrath <philip <at> philipmcgrath.com>

Date: Tue, 8 Feb 2022 15:14:01 UTC

Severity: normal

Tags: patch

Merged with 53997

Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Philip McGrath <philip <at> philipmcgrath.com>, 53878 <at> debbugs.gnu.org,  Liliana Marie Prikler <liliana.prikler <at> ist.tugraz.at>, Ludovic Courtès <ludo <at> gnu.org>
Cc: Attila Lendvai <attila <at> lendvai.name>, zimoun <zimon.toutoune <at> gmail.com>, Malte Gerdes <malte.f.gerdes <at> gmail.com>, raingloom <raingloom <at> riseup.net>
Subject: [bug#53878] [PATCH v4 15/15] gnu: racket: Update to 8.4.
Date: Sun, 20 Feb 2022 11:16:04 +0100
Hi,

Am Sonntag, dem 20.02.2022 um 01:06 -0500 schrieb Philip McGrath:
> * gnu/packages/patches/racket-gui-tethered-launcher-backport.patch:
> New
> file.
> * gnu/local.mk (dist_patch_DATA): Add it.
> * gnu/packages/chez-and-racket-bootstrap.scm (racket-vm-for-system):
> New
> procedure.
> * gnu/packages/racket.scm (racket-minimal, racket): Update to 8.4.
> Rewrite to use 'racket-vm-for-system', label-less inputs, G-
> expressions,
> and Git origins for main-distribution packages.
> ---
>  gnu/local.mk                                  |    3 +-
>  gnu/packages/chez-and-racket-bootstrap.scm    |   15 +-
>  ...acket-gui-tethered-launcher-backport.patch |   26 +
>  gnu/packages/racket.scm                       | 1596 +++++++++++----
> --
>  4 files changed, 1118 insertions(+), 522 deletions(-)
>  create mode 100644 gnu/packages/patches/racket-gui-tethered-
> launcher-backport.patch
> 
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 5fcbe3a391..2fb4440eee 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -41,7 +41,7 @@
>  # Copyright © 2020 Vinicius Monego <monego <at> posteo.net>
>  # Copyright © 2021 Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
>  # Copyright © 2021 Greg Hogan <code <at> greghogan.com>
> -# Copyright © 2021 Philip McGrath <philip <at> philipmcgrath.com>
> +# Copyright © 2021, 2022 Philip McGrath <philip <at> philipmcgrath.com>
>  # Copyright © 2021 Arun Isaac <arunisaac <at> systemreboot.net>
>  # Copyright © 2021 Sharlatan Hellseher <sharlatanus <at> gmail.com>
>  # Copyright © 2021 Dmitry Polyakov <polyakov <at> liltechdude.xyz>
> @@ -1751,6 +1751,7 @@ dist_patch_DATA
> =                                         \
>    %D%/packages/patches/rpcbind-CVE-2017-8779.patch             \
>    %D%/packages/patches/rtags-separate-
> rct.patch                        \
>    %D%/packages/patches/racket-enable-scheme-backport.patch     \
> +  %D%/packages/patches/racket-gui-tethered-launcher-
> backport.patch     \
>    %D%/packages/patches/racket-minimal-sh-via-rktio.patch       \
>    %D%/packages/patches/remake-impure-
> dirs.patch                        \
>    %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \
> diff --git a/gnu/packages/chez-and-racket-bootstrap.scm
> b/gnu/packages/chez-and-racket-bootstrap.scm
> index e837d49c63..b779099fb3 100644
> --- a/gnu/packages/chez-and-racket-bootstrap.scm
> +++ b/gnu/packages/chez-and-racket-bootstrap.scm
> @@ -46,7 +46,8 @@ (define-module (gnu packages chez-and-racket-
> bootstrap)
>    #:use-module (gnu packages xorg)
>    #:use-module ((guix licenses)
>                  #:prefix license:)
Small note, #:prefix license: should be on the same line as #:use-
module.

> -(define %racket-version "8.4")
> +(define %racket-version "8.4") ; MUST match "racket.scm"
> +;; The definition of %racket-version is duplicated to avoid an
> import cycle:
> +;; see <https://issues.guix.gnu.org/53878#93>.
>  (define %chez-scheme-for-racket-version "9.5.7.3")
> [...]
> +(define %racket-version "8.4") ; MUST match "chez-and-racket-
> bootstrap.scm"
> +;; The definition of %racket-version is duplicated to avoid an
> import cycle:
> +;; see <https://issues.guix.gnu.org/53878#93>.
> +(define %racket-commit
> +  (string-append "v" %racket-version))
That works, but it's not really nice.  I did send my mail w.r.t. making
the bootstrap packages procedures that take racket-version and origin
as arguments before reading this mail, but I think my comment still
applies mostly.  WDYT?

> +(define (extract-package-source origin spec)
> +  "Extract the source for a Racket package specified by SPEC from
> ORIGIN into
> +a new file-like object.  In the resulting file-like object, the
> package source
> +will be in the directory \"/share/racket/pkgs/NAME/\", where NAME is
> the Racket
> +name for the package.
> +
> +SPEC is a list of the form:
> +
> +  (NAME PATH)
> +
> +where PATH is the path to the package source relative to ORIGIN---
> possibly
> +`\".\"`.  As a special case, SPEC may also be given a string, which
> is
> +equivalent to:
> +
> +  (NAME NAME)
> +
> +Examples:
Would it make sense to use this procedure for our bootstrap packages
already?  (In particular for bootfiles or extracting chez-scheme from
the racket source).


Regarding the big racket package, the recipe currently looks a little
nicer in that it no longer overrides `build', but I think we could
still do a union-build with #:symlink copy-recursively if the full
racket is just racket plus a bunch of packages on top.  This would have
the benefit that we could declare each of them as a package.  Not sure
if this is something we ought to address here or in a separate patch
set, though.




This bug report was last modified 2 years and 344 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.