unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Philip McGrath <philip@philipmcgrath.com>
To: Skyler Ferris <skyvine@protonmail.com>, 70065@debbugs.gnu.org
Cc: Katherine Cox-Buday <cox.katherine.e+guix@gmail.com>,
	Liliana Marie Prikler <liliana.prikler@gmail.com>,
	Andrew Tropin <andrew@trop.in>
Subject: [bug#70065] [PATCH 4/6] gnu: chez-scheme: Update to 10.0.0.
Date: Sat, 30 Mar 2024 18:49:11 -0400	[thread overview]
Message-ID: <de10aef3-612e-4b6a-895f-d1dacdecaf59@philipmcgrath.com> (raw)
In-Reply-To: <1f2ac17f-8095-41b7-a0c3-db6487d74aea@protonmail.com>

Hi Liliana and Skyler,

On 3/30/24 10:28, Skyler Ferris wrote:
 >
 >> Is there a good reason to do it this way?  Or could we build racket
 >> with regular chez-scheme afterwards?
 >
 > I believe this is addressed by this comment from patch 6/6; we can't
 > rely on chez-scheme being the correct version to use for racket. But
 > please correct me if I misunderstood Philip!
 >
 >> Since the pre-releases for Chez Scheme 10.0.0, all of Racket's 
changes have
 >> been merged upstream, and development will be kept in sync going
 >> forward. However, there is no plan to align the Chez Scheme and Racket
 >> release cycles. For the near fulture, a given released version of Racket
 >> will continue to depend on a specific pre-release version of Chez 
Scheme as
 >> part of Racket CS's "ABI". See upstream discussion at
 >> <https://racket.discourse.group/t/2739/3>.
 >

That's right. In the linked thread, Matthew Flatt specifically confirmed 
that we should not try to build Racket with our chez-scheme package.

On 3/30/24 10:39, Skyler Ferris wrote:
> On 3/28/24 22:18, Philip McGrath wrote:
>> -(define* (chez-scheme-for-system #:optional
>> -                                 (system (or (%current-target-system)
>> -                                             (%current-system))))
>> -  "Return 'chez-scheme' if it fully supports SYSTEM, including support for
>> -bootstrapping and native threads.  Otherwise, return
>> -'chez-scheme-for-racket'."
>> -  (if (and=> (chez-upstream-features-for-system system)
>> -             (lambda (features)
>> -               (every (cut memq <> features)
>> -                      '(threads
>> -                        ;; We can cross-compile for platforms without
>> -                        ;; bootstrap bootfiles, but we can't self-host
>> -                        ;; on them short of adding more binary seeds.
>> -                        bootstrap-bootfiles))))
>> -      chez-scheme
>> -      chez-scheme-for-racket))
>> +(define-deprecated (chez-scheme-for-system #:optional system) chez-scheme
>> +  "Returns 'chez-scheme'."
>> +  chez-scheme)
> As mentioned in the reply to the cover letter, it looks like this broke
> loko-scheme from gnu/pcakages/loko.scm.
> 
> In particular, I get a "wrong type to apply" error in its use of
> "chez-scheme-for-system". I ran into this problem when running the
> following command:
> 
> ```
> ./pre-inst-env guix refresh --list-depedent zuo -e '(@ (gnu packages
> racket) racket-vm-cs)' racket chez-scheme chez-scheme-for-racket
> ```
> 

Thanks, I had forgotten about loko-scheme!

On 3/30/24 10:28, Skyler Ferris wrote:
 > (I think the deprecation definition might need an
 > update, because IIUC the syntax is supposed to be backwards-compatible
 > until it is removed).
 >

I still don't understand why the deprecation definition isn't working. I 
expected the expansion at the repl, and (chez-scheme-for-system) 
expanded to (%chez-scheme-for-system/deprecated), which was defined by 
the expansion of define-deprecated as:

   (define %chez-scheme-for-system/deprecated
     (begin
       (lambda () chez-scheme)
       (lambda* (#:optional (system #f)) chez-scheme)))

I guess, unless I figure something out or someone has a better 
suggestion, I could just remove chez-scheme-for-system without 
deprecation, but that seemed less friendly.

> 
> As before, my experience with autotools is limited so my review of the
> build changes should be taken with a grain of salt. It looks like some
> of the patched code is fixing bugs rather than adapting for guix so they
> should be upstreamed, but I assume Philip is already on top of that.
> 

Chez Scheme actually doesn't use autotools. (Racket does use autoconf, 
only.) All of the patches for configure have already been accepted 
upstream: in fact, the second patch in the file is a follow-up from 
Matthew Flatt, one of the maintainers of Racket and, more recently, Chez 
Scheme.

On 3/30/24 03:56, Liliana Marie Prikler wrote:
 > As usual for these large rackets (pun intended), I do wonder whether
 > it'd be possible to split the commits into more reviewable hunks.  For
 > instance, I don't think chez-scheme-for-system would need to be
 > adjusted yet – it could simply return chez-scheme and then in the next
 > commit be deprecated or dropped.

Since there's a problem with the deprecation anyway, I will split this 
out. Overall, dividing up this series as much as I did has been 
especially arduous. If you noticed that the authored dates on the 
patches are a month ago, that's mostly the time it took me to reorganize 
these commits.

Thanks,
Philip




  reply	other threads:[~2024-03-30 22:50 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-29  5:15 [bug#70065] [PATCH 0/6] gnu: Update to Racket 8.12, Chez Scheme 10, and Zuo 1.9 Philip McGrath
2024-03-29  5:18 ` [bug#70065] [PATCH 1/6] gnu: zuo: Update to 1.9 Philip McGrath
2024-03-30 14:31   ` Skyler Ferris via Guix-patches via
2024-03-29  5:18 ` [bug#70065] [PATCH 2/6] gnu: racket: Update to 8.12 Philip McGrath
2024-03-30 14:35   ` Skyler Ferris via Guix-patches via
2024-03-30 22:10     ` Philip McGrath
2024-03-29  5:18 ` [bug#70065] [PATCH 3/6] gnu: chez-scheme: Reorganize package definitions Philip McGrath
2024-03-30 14:35   ` Skyler Ferris via Guix-patches via
2024-03-29  5:18 ` [bug#70065] [PATCH 4/6] gnu: chez-scheme: Update to 10.0.0 Philip McGrath
2024-03-30  7:56   ` Liliana Marie Prikler
2024-03-30 14:39   ` Skyler Ferris via Guix-patches via
2024-03-30 22:49     ` Philip McGrath [this message]
2024-03-31 14:35       ` Skyler Ferris via Guix-patches via
2024-03-31 15:28       ` Skyler Ferris via Guix-patches via
2024-03-31 20:17         ` Philip McGrath
2024-04-02 14:55           ` Skyler Ferris via Guix-patches via
2024-04-01  6:51         ` [bug#70065] [PATCH v2 0/8] Update to Racket 8.12, Chez Scheme 10, and Zuo 1.9 Philip McGrath
2024-04-01  6:51           ` [bug#70065] [PATCH v2 1/8] gnu: zuo: Update to 1.9 Philip McGrath
2024-04-01  6:51           ` [bug#70065] [PATCH v2 2/8] gnu: racket: Update to 8.12 Philip McGrath
2024-04-09  8:46             ` Efraim Flashner
2024-04-11 10:44               ` Ludovic Courtès
2024-04-11 12:34                 ` Efraim Flashner
2024-04-01  6:51           ` [bug#70065] [PATCH v2 3/8] gnu: chez-scheme: Reorganize package definitions Philip McGrath
2024-04-01 15:40             ` Liliana Marie Prikler
2024-04-02  3:59               ` Philip McGrath
2024-04-01  6:51           ` [bug#70065] [PATCH v2 4/8] gnu: chez-scheme: Update to 10.0.0 Philip McGrath
2024-04-01  6:51           ` [bug#70065] [PATCH v2 5/8] gnu: Deprecate chez-scheme-for-system.in favor of chez-scheme Philip McGrath
2024-04-01  6:51           ` [bug#70065] [PATCH v2 6/8] gnu: Fix uses of deprecated chez-scheme-for-system Philip McGrath
2024-04-01 15:41             ` Liliana Marie Prikler
2024-04-01  6:51           ` [bug#70065] [PATCH v2 7/8] gnu: chez-scheme: Update and simplify machine-type handling Philip McGrath
2024-04-01 15:45             ` Liliana Marie Prikler
2024-04-02  3:59               ` Philip McGrath
2024-04-01  6:51           ` [bug#70065] [PATCH v2 8/8] gnu: chez-scheme: Bootstrap from source Philip McGrath
2024-04-11 10:55           ` bug#70065: [PATCH v2 0/8] Update to Racket 8.12, Chez Scheme 10, and Zuo 1.9 Ludovic Courtès
2024-03-29  5:18 ` [bug#70065] [PATCH 5/6] gnu: chez-scheme: Update and simplify machine-type handling Philip McGrath
2024-03-30 14:40   ` Skyler Ferris via Guix-patches via
2024-03-29  5:18 ` [bug#70065] [PATCH 6/6] gnu: chez-scheme: Bootstrap from source Philip McGrath
2024-03-30 14:41   ` Skyler Ferris via Guix-patches via
2024-03-30 14:28 ` [bug#70065] [PATCH 0/6] gnu: Update to Racket 8.12, Chez Scheme 10, and Zuo 1.9 Skyler Ferris via Guix-patches via

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=de10aef3-612e-4b6a-895f-d1dacdecaf59@philipmcgrath.com \
    --to=philip@philipmcgrath.com \
    --cc=70065@debbugs.gnu.org \
    --cc=andrew@trop.in \
    --cc=cox.katherine.e+guix@gmail.com \
    --cc=liliana.prikler@gmail.com \
    --cc=skyvine@protonmail.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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).