guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Freezing ‘core-updates’ soon?


From: Ludovic Courtès
Subject: Re: Freezing ‘core-updates’ soon?
Date: Sun, 20 Jun 2021 18:19:23 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Hello!

Jan Nieuwenhuizen <janneke@gnu.org> skribis:

> Ludovic Courtès writes:

[...]

>>   • Reduced binary seeds—anything new?  My understanding is that the
>>     reduced binary seed bootstrap now works on ARM, but that we were
>>     waiting on a Mes release to merge those bits.  Janneke, Danny?
>
> Sadly, we are not there yet.  The gcc/glibc build is still not done.
>
> The full source bootstrap is "almost ready" and is waiting for a GNU Mes
> release.  It was wating for an M2-Planet release but that happened last
> week!  I'm not sure about a time frame here though.  A week, hmm?

Alright.  Well no rush, that can also happen on the next cycle, and we
can also work to make it shorter.  :-)

>>   • Simplified package inputs—I’ll keep working on that, and most of the
>>     work can be done without a world rebuild, so it’s not a blocker IMO.
>
> I haven't really caught-up here and am still wondering here about things
> like
>
>    ("foo-for-build" ,foo)
>    ("patch-bar" ,(search-patch ...))
>
> but that's prolly addressed.  I'll look into this.

Good points.  We’d have to look at specific examples.

In the first case, perhaps it’s enough to add ‘foo’ in ‘native-inputs’.

In both cases, you can always use gexps, like:

  (arguments
    (list #:configure-flags
          #~(list (string-append "FOO_FOR_BUILD=" #$foo))))

… though the ‘foo’ here won’t show up in the inputs fields, which is not
great because then ‘guix graph’ and related tools won’t “see” this
reference, and you can’t easily override it via inheritance.

A better approach is to still add ‘foo’ to ‘native-inputs’ but to write
something like:

  (arguments
    (list #:configure-flags
          #~(list (string-append "FOO_FOR_BUILD="
                                 #$(lookup-package-input
                                    (package-inputs this-package)
                                    "foo")))))

In the second example you give, you could have build-side code that
does, say:

  (lambda* (inputs #:allow-other-keys)
    (invoke "patch" "-p1" "-i"
            (find (cut string-suffix? ".patch") inputs)))

At any rate, I agree we need to find good idioms for these corner cases.

Thoughts?

Thanks,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]