Subject: [bug#55248] [PATCH 1/7] gnu: racket: Update to 8.5.

From: Philip McGrath <[email-masked]>
Date: Thu, 5 May 2022 17:49:32 -0400

Hi,

On 5/4/22 02:53, Liliana Marie Prikler wrote:
> Am Dienstag, dem 03.05.2022 um 14:33 -0400 schrieb Philip McGrath:
>> * gnu/packages/patches/racket-gui-tethered-launcher-backport.patch,
>> gnu/packages/patches/racket-enable-scheme-backport.patch: Delete
>> files.
>> * gnu/local.mk (dist_patch_DATA): Remove them.
> LGTM.
>> * gnu/packages/chez.scm (chez-scheme-for-racket): Update to 9.5.7.6.
> This...
>> * gnu/packages/racket.scm (%racket-version): Update to 8.4.900.
> ... and this might be done in different commits.

Since 'chez-scheme-for-racket' uses the same origin as the Racket VM 
packages, I think the versions have to be updated at the same time, 
short of having a commit where one of them is incorrect or doing 
something needlessly complicated.

> Also, you typo'd in
> the ChangeLog, the version ought to be 8.5

Thanks! (8.4.900 was the release candidate, from which I `git commit 
--amend`ed this patch.)

>> (%racket-origin)[sha256]: Update accordingly.
> You don't normally need to mention hash updates, but (*).

Ok, will drop this but keep below.

>> [patches]: Remove obsolete patches.
> LGTM.
>> (racket-vm-common-configure-flags): Remove incorrect comment.
> No.  Unless you address the issue at hand (which I don't want to be a
> blocker for this series, mind you), it persists.  If you don't like how
> the comment is written currently, you might suggest an alternative
> formulation, but people deserve to know that the origtree layout is a
> hack.

I understand that this is your opinion. I disagree. I don't want to make 
a big deal out of it, but I'm uncomfortable with the fact that `git 
blame` currently attributes to me a statement of opinion which I did not 
write and do not believe.

I could write a lot of prose arguing in favor of --enable-origtree as a 
matter of opinion, but I'd rather spend my time trying to write a 
racket-build-system, which I expect will make its usefulness more 
obvious. For now, I'll limit myself to noting that, while Racket 
supports --enable-unix-style for those who insist on it (a group which 
formerly included me!), if you run the Racket installer script [1] with 
default options, it will install the files that 'racket-vm-cs' and 
similar place in "/opt/racket-vm/" in "/usr/racket". Optionally, the 
installer will then create symlinks is "/usr/bin" etc. pointing to a 
subset of the files that Guix's 'racket-minimal' installs into '#$output'.

To the extent that there is an assertion of fact embedded in:

> > -      ;; XXX: origtree layout is required by some other packages down the
> > -      ;; bootstrap chain.  Remove these flags as soon as we can do without them.

it is not true. The packages which operate on a Racket installation with 
this layout (e.g. 'distro-build' and 'raco-cross') are not part of "the 
bootstrap chain", and the packages which are part of the bootstrap chain 
do not require --enable-origtree, except to the extent that e.g. it is a 
convenient way of telling apart multiple executables named "racket".

>> (simple-racket-origin): Accept optional #:commit argument.
> Is this used anywhere?  If not, I suggest leaving it be for now.

It isn't, but it was extremely useful for building the release 
candidate. That said, I'm ok with not changing it in Guix.

>> (racket)[inputs]<2d, datalog, deinprogramm, draw, drracket,
>> expeditor, htdp, pict, plot, quickscript, racklog, rackunit, redex,
>> scribble, typed-racket, string-constants, syntax-color, web-server,
>> xrepl>: Update checksums.
> (*) here it makes sense to document the checksum updates, because
> they'd otherwise be invisible.
>> <gui, srfi>: Likewise, and remove obsolete backports.

-Philip

[1]: 
https://download.racket-lang.org/releases/8.5/installers/racket-minimal-8.5-x86_64-linux-cs.sh