Hi Ludo, > After quite a bit of tweaking I’ve finally pushed this patch series to > master. So if you run ‘guix pull’ now, you’ll get the new > multiple-derivation build.
This is really great! I’m very happy that this is finally in the master branch. Thank you! As discussed on IRC, there is a problem when running “guix pull” with an older version of Guix that is still using Guile 2.0, which seems to be adequately fixed by your patch: --8<---------------cut here---------------start------------->8--- diff --git a/guix/self.scm b/guix/self.scm index c9e4a4250..c19b0f6fb 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -88,7 +88,11 @@ GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the packages matches." ("bzip2" (ref '(gnu packages compression) 'bzip2)) ("xz" (ref '(gnu packages compression) 'xz)) ("guix" (ref '(gnu packages package-management) - 'guix-register))))) + 'guix-register)) + ("guile2.0-json" (ref '(gnu packages guile) 'guile2.0-json)) + ("guile2.0-ssh" (ref '(gnu packages ssh) 'guile2.0-ssh)) + ("guile2.0-git" (ref '(gnu packages guile) 'guile2.0-git)) + (_ #f)))) ;no such package ;;; --8<---------------cut here---------------end--------------->8--- A remaining problem for me was that “(guix docker)” could not be built because “(json)” was supposedly not available. None of this seems to be a problem when using Guile 2.2. > • The “guix-packages” derivation is coarse-grain. We could perhaps > automatically split it in clusters of modules by analyzing the (gnu > packages …) module graph. I think we should do this anyway and try to split up large modules and reduce inter-module dependencies. > This works unlocks some of the stuff in <https://bugs.gnu.org/22629>, so > I’ll try to focus on that now. Exciting! -- Ricardo