Subject: [bug#53878] [PATCH v5 03/22] gnu: racket: Use Git origins for Racket packages.

From: Liliana Marie Prikler <[email-masked]>
Date: Sat, 26 Feb 2022 15:26:29 +0100

Hi, 

Am Samstag, dem 26.02.2022 um 09:20 -0500 schrieb Philip McGrath:
> 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.
I'm not talking about the generated file, but the procedure that
generates it.  Special characters like dots and slash are still pretty
special in Scheme, even if they're allowed as identifiers.

> > 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")
>       ...))
I wouldn't do this inside of extract-package-source, but define a one
or two liner for adding specifically packages hosted on racket's
github.  WDYT?

> I wasn't sure about the trade-off between being slightly more cryptic
> than explicit origins, but a lot shorter.
Note that the goal is not to code golf, but to be understandable.  When
adding a bunch of origins as inputs, understandability suffers by
induced scrolling.

Cheers