GNU bug report logs - #66063
[PATCH v2 0/3] Resolve a circular module dependencies in embedded modules

Previous Next

Package: guix-patches;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Mon, 18 Sep 2023 00:43:01 UTC

Severity: normal

Tags: patch

Merged with 65860

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 66063 in the body.
You can then email your comments to 66063 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#66063; Package guix-patches. (Mon, 18 Sep 2023 00:43:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 18 Sep 2023 00:43:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: [PATCH v2 0/3] Resolve a circular module dependencies in embedded
 modules
Date: Sun, 17 Sep 2023 20:41:52 -0400
This series is the culmination of at least a day of effort tracking down the
source of a module dependency cycle (!).  The last commit adds some guidelines
in the hope to avoid a repeat (perhaps 'lint' could be taught to
automate these checks).

Changes in v2:
- Use mlambda for procedures
- Fix ((make-avr-toolchain)) typo
- Use mlambda for procedures

Maxim Cournoyer (3):
  gnu: avr: Delay all cross compilation packages.
  gnu: embedded: Turn packages using top-level variables into
    procedures.
  doc: Add new 'Circular Module Dependencies' section.

 doc/contributing.texi         |   56 ++
 gnu/packages/avr-xyz.scm      |    2 +-
 gnu/packages/avr.scm          |  214 +++---
 gnu/packages/axoloti.scm      |    6 +-
 gnu/packages/embedded.scm     | 1227 ++++++++++++++++++---------------
 gnu/packages/raspberry-pi.scm |    2 +-
 6 files changed, 838 insertions(+), 669 deletions(-)


base-commit: fc1b4756e36857e66986a30a6652ee988f8f30fd
-- 
2.41.0





Merged 65860 66063. Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Mon, 25 Sep 2023 14:09:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#66063; Package guix-patches. (Mon, 25 Sep 2023 17:59:03 GMT) Full text and rfc822 format available.

Message #10 received at 66063-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Ricardo Wurmus <rekado <at> elephly.net>, 66063-done <at> debbugs.gnu.org,
 65860-done <at> debbugs.gnu.org
Subject: Re: bug#66063: [PATCH v2 0/3] Resolve a circular module
 dependencies in embedded modules
Date: Mon, 25 Sep 2023 13:58:26 -0400
Hi,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> Hi Ludovic,
>
> Ludovic Courtès <ludo <at> gnu.org> writes:
>
> [...]
>
>> I agree that this needs to be addressed.  I wondered whether/how hard we
>> should search for a different solution.
>
> OK.  I think the current situation needs to be resolved ASAP, but longer
> term I'm definitely willing to revisit our strategy when it comes to
> cross compiler toolchains.
>
> [...]
>
>> BTW, another issue with the package-returning procedures: they return a
>> fresh package object at each call, which defeats caching.  I think you
>> should be able to observe it with:
>>
>>   GUIX_PROFILING=object-cache guix build axoloti-runtime -d  --no-grafts
>>
>> The effect will be more acute on the build farms since they compute
>> derivations for everything that depends on these toolchains.
>>
>> The solution would be to make those procedures memoizing, with ‘mlambda’
>> or similar.
>
> I haven't tried measuring the impact, but I've use mlambda in the v2
> just sent; thanks for the suggesting it!

I've now pushed this series.  If we can make AVR a native
target/platform in Guix, that may make things simpler/nicer, but
otherwise, this is at least resolved.

-- 
Thanks,
Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 24 Oct 2023 11:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 198 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.