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: Philip McGrath <philip <at> philipmcgrath.com>
To: 53878 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com>, Liliana Marie Prikler <liliana.prikler <at> ist.tugraz.at>
Cc: Ludovic Courtès <ludo <at> gnu.org>, Maxime Devos <maximedevos <at> telenet.be>, Attila Lendvai <attila <at> lendvai.name>, Malte Gerdes <malte.f.gerdes <at> gmail.com>, raingloom <raingloom <at> riseup.net>
Subject: [bug#53878] [PATCH v5 03/22] gnu: racket: Use Git origins for Racket packages.
Date: Sat, 26 Feb 2022 09:20:58 -0500
[Message part 1 (text/plain, inline)]
Hi,

On Saturday, February 26, 2022 8:47:45 AM EST Liliana Marie Prikler wrote:
> First, can we simplify "make-installation-layer.rkt" to "make-
> installation-layer"?  I don't think the file extension conveys much
> meaning here, or does it?

To me (I don't know about anyone else), the ".rtk" extension tells me that I 
have to pass the file as an argument to `racket`, i.e. that the file is not a 
launcher from `raco exe` or a script with a shebang that I could `invoke` 
directly.

> 
> Second, can we find an abbreviation for
> 
> > +      (extract-package-source*
> > +       `((,(origin
> > +             (method git-fetch)
> > +             (uri (git-reference
> > +                   (url "https://github.com/racket/2d")
> > +                   (commit %racket-commit)))
> > +             (sha256 (base32
> > +                     
> > "1zzcz5qyjv7syi41vb8jkxjp1rqgj61zbsdrg0nlc4qy9qsafzgr"))
> > +             (file-name
> > +              (git-file-name "racket-2d" %racket-version)))
> > +          "2d" "2d-doc" "2d-lib")
> > +         (,(origin
> > +             (method git-fetch)
> > +             (uri (git-reference
> > +                   (url "https://github.com/racket/algol60")
> > +                   (commit %racket-commit)))
> > +             (sha256 (base32
> > +                     
> > "09kj6asypmc24n29w0izc9p0q8hpga2hpkchsypfwn5c8zpvihlx"))
> > +             (file-name
> > +              (git-file-name "racket-algol60" %racket-version)))
> > +          ("algol60" "."))
> > +         (,%racket-origin
> > +          ("base" "pkgs/base") ;; FIXME belongs in racket-minimal
> > +          ("racket-lib" "pkgs/racket-lib") ;; FIXME belongs in
> > racket-minimal
> > +          ("at-exp-lib" "pkgs/at-exp-lib")
> > +          ("compiler" "pkgs/compiler")
> > +          ("compiler-lib" "pkgs/compiler-lib")
> > +          ("net" "pkgs/net")
> > +          ("net-doc" "pkgs/net-doc")
> > +          ("net-lib" "pkgs/net-lib")
> > +          ("racket-doc" "pkgs/racket-doc")
> > +          ("racket-index" "pkgs/racket-index")
> > +          ("sandbox-lib" "pkgs/sandbox-lib")
> > +          ("zo-lib" "pkgs/zo-lib"))
> > +         (,(origin
> > +             (method git-fetch)
> > +             (uri (git-reference
> > +                   (url "https://github.com/racket/cext-lib")
> > +                   (commit %racket-commit)))
> > +             (sha256 (base32
> > +                     
> > "00w38jpv88fpl4pgj6ndnysvn0s21rjvj0xhznay80msan0vc341"))
> > +             (file-name (git-file-name "racket-cext-lib" %racket-
> > version)))
> > +          "cext-lib" "dynext-lib")
> > [...]
> 
> I think some way to shorten those origins would do wonders in terms of
> the number of lines this patch adds.
> 

At one point, I had abbreviated the origins as something like:

  (REPO-SPEC SHA256 [COMMIT])

where REPO-SPEC is one of:

  (GITHUB-OWNER GITHUB-REPO)
  ; ^ e.g. for https://github.com/RenaissanceBug/racket-cookies
  GITHUB-REPO ; "racket" is owner

and COMMIT defaults to `%racket-commit`, but could be overridden for
<https://github.com/racket/srfi>.

I think I'd given SHA256 as a literal string, but it could be e.g.:

  (extract-package-source*
    `((("2d" ,(base32 "1zzcz5qyjv7syi41vb8jkxjp1rqgj61zbsdrg0nlc4qy9qsafzgr"))
       "2d" "2d-doc" "2d-lib")
      ...))

if that seems better.

I wasn't sure about the trade-off between being slightly more cryptic than 
explicit origins, but a lot shorter.

-Philip
[signature.asc (application/pgp-signature, inline)]

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.