Hi Ludo, On Wed, 24 Feb 2021 at 12:11, Ludovic Courtès <l...@gnu.org> wrote: > > On Sat, 20 Feb 2021 at 14:57, Ludovic Courtès <l...@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