unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Skyler Ferris via Guix-patches via <guix-patches@gnu.org>
To: Philip McGrath <philip@philipmcgrath.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: Sun, 31 Mar 2024 15:28:29 +0000	[thread overview]
Message-ID: <aa26e895-4326-44ba-b15d-4609370d4bc3@protonmail.com> (raw)
In-Reply-To: <de10aef3-612e-4b6a-895f-d1dacdecaf59@philipmcgrath.com>

Hi again! I stepped away from my desk to do something else and as often 
happens the answer came to me. I'll include full steps to reproduce the 
issue below, in order to build confidence in my explanation, but the 
TLDR is that your definition is correct and it was a problem on my end. 
Additionally, I confirmed that loko-scheme still builds and runs. I'll 
keep this situation in mind for future reviews. Thank you for all your 
hard work!

Explanation:

The loko.scm file was not recompiled so it searched chez.scm for a 
variable named chez-scheme-for-system, which is now a syntax 
transformer. But compiled files have already completed the expansion 
phase, so this means that a syntax transformer is invalid. This will not 
cause a problem for `guix pull` because guix rebuilds itself from 
scratch when it gets updated.

Reproduction:

1. Build the tree without patch 4/6 applied
    `guix shell -D guix -CPW -- make`
2. Apply the patch
    `git apply /path/to/patch`
3. Build the tree again
    `guix shell -D guix -CPW -- make`
4. Try to build loko-scheme
    `./pre-inst-env guix build loko-scheme`
5. Delete the compiled loko file
    `rm gnu/packages/loko.go`
6. Build the tree again
    `guix shell -D guix -CPW -- make`
7. Build loko-scheme
    `./pre-inst-env guix build loko-scheme`

On 3/31/24 07:35, Skyler Ferris wrote:
> On 3/30/24 15:49, Philip McGrath wrote:
>> 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.
>
> So, I started poking at this and ran into something strange. I removed 
> the surrounding parentheses from chez-scheme-for-system in loko.scm, 
> and it gave me the expected error about an invalid package, where the 
> value was a procedure rather than a package. Which sounds like what I 
> would expect if it was working, except that it didn't work with the 
> parentheses. Then, after adding the parentheses back it stopped giving 
> me the error, even after running make again.
>
> I haven't worked with define-deprecated before. It's a macro, and I 
> know that the guile compiler misses recompiling macro dependencies 
> sometimes, so maybe it was a problem on my end with having mismatching 
> build artifacts. I'll try a clean build with these patches and a 
> simulated guix pull within the next couple of days (hopefully today), 
> and if those both work then the definition is probably correct.... but 
> I'd be more comfortable if we could explain exactly why that error 
> occurred. I'll also look more at the definitions, but I think it will 
> be a little difficult to be confident in any explanation if I can't 
> reproduce the error. Here's the full error output, in case it's 
> helpful to anyone:
>
> Backtrace:
> In ice-9/boot-9.scm:
>   1752:10 19 (with-exception-handler _ _ #:unwind? _ # _)
> In guix/ui.scm:
>     485:6 18 (_)
> In guix/scripts/build.scm:
>     711:5 17 (_)
> In srfi/srfi-1.scm:
>    673:15 16 (append-map #<procedure 7fef052ecdc0 at guix/scripts/b…> …)
>    586:17 15 (map1 ("x86_64-linux"))
> In guix/scripts/build.scm:
>    713:21 14 (_ _)
> In guix/store.scm:
>   1382:11 13 (map/accumulate-builds #<store-connection 256.100 7fef…> …)
>    1300:8 12 (call-with-build-handler #<procedure 7fef06f90990 at g…> …)
> In guix/scripts/build.scm:
>    667:16 11 (_ #<package loko-scheme@0.12.0 gnu/packages/loko.scm:3…>)
>    656:24 10 (_ #<package loko-scheme@0.12.0 gnu/packages/loko.scm:…> …)
> In guix/packages.scm:
>   1378:17  9 (supported-package? #<package loko-scheme@0.12.0 gnu/p…> …)
> In guix/memoization.scm:
>     101:0  8 (_ #<hash-table 7fef036b2120 0/31> #<package loko-sche…> …)
> In guix/packages.scm:
>   1356:39  7 (_)
>   1618:16  6 (package->bag _ _ _ #:graft? _)
>   1722:47  5 (thunk)
> In gnu/packages/loko.scm:
>     77:11  4 (native-inputs #<package loko-scheme@0.12.0 gnu/package…>)
>     77:11  3 (native-inputs _)
> In ice-9/boot-9.scm:
>   1685:16  2 (raise-exception _ #:continuable? _)
>   1685:16  1 (raise-exception _ #:continuable? _)
>   1685:16  0 (raise-exception _ #:continuable? _)
>
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> Wrong type to apply: #<syntax-transformer chez-scheme-for-system>
>






  parent reply	other threads:[~2024-03-31 15:29 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
2024-03-31 14:35       ` Skyler Ferris via Guix-patches via
2024-03-31 15:28       ` Skyler Ferris via Guix-patches via [this message]
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=aa26e895-4326-44ba-b15d-4609370d4bc3@protonmail.com \
    --to=guix-patches@gnu.org \
    --cc=70065@debbugs.gnu.org \
    --cc=andrew@trop.in \
    --cc=cox.katherine.e+guix@gmail.com \
    --cc=liliana.prikler@gmail.com \
    --cc=philip@philipmcgrath.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).