[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#46650: Extending package transformation options
From: |
zimoun |
Subject: |
bug#46650: Extending package transformation options |
Date: |
Wed, 24 Feb 2021 14:43:56 +0100 |
Hi Ludo,
On Wed, 24 Feb 2021 at 12:11, Ludovic Courtès <ludo@gnu.org> wrote:
> > On Sat, 20 Feb 2021 at 14:57, Ludovic Courtès <ludo@gnu.org> wrote:
> >
> >> Guix as returned by ‘guix pull’ and ‘guix time-machine’ depends on
> >> GnuTLS. So here, we have a special case: to build Guix itself, you need
> >> to build GnuTLS first, and there’s no way to pass ‘--without-tests’ at
> >> that level.
> >>
> >> I’m not sure how to change that because unfortunately, ‘guix pull’ and
> >> ‘time-machine’ don’t even know that Guix depends on GnuTLS; only the
> >> target Guix knows about this. :-/
> >
> > If «“guix pull” and ’time-machine’ don’t even know that Guix depends on
> > GnuTLS» and «to build Guix itself, you need to build GnuTLS first», how
> > does it work? How does «you» know that they needs to build GnuTLS
> > first?
>
> ‘guix pull’ builds Guix using the method implemented in (guix self).
> The entry point there is ‘compiled-guix’, which returns a compiled Guix.
Thanks. It perfectly answer to my question. :-)
> It’s not a package so the package API doesn’t apply.
I am confused. The 'specification->package' returns a regular
package, right?. And then,
--8<---------------cut here---------------start------------->8---
(define gnutls
(specification->package "gnutls"))
(define dependencies
(append-map transitive-package-dependencies
(list guile-gcrypt gnutls guile-git guile-avahi
guile-json guile-semver guile-ssh guile-sqlite3
guile-zlib guile-lzlib guile-zstd)))
--8<---------------cut here---------------end--------------->8---
So here, a transformation could be applied. For example, build all
the dependencies without testing them; at the 'define gnutls' (&co)
step or in the map. Why not?
Well, just to be able to travel back in time if some expiration changed.
Cheers,
simon