Hello! Nalaginrut reported that Guix fails to build with Guile 2.2, which was a bit of a shame, hence commits e465d9e19087ab150f7e31f21c09e4a147b93b36 and 9d126aa2b504bb9fad536eac186805ff623e96be. Now, the hack in build-aux/compile-all.scm doesn’t quite work with 2.2, and it was already quite fragile. So I think we need a different approach. A more robust approach that comes to mind would be to look at our module dependency graph (with help from (guix modules)), run N Guile processes (instead of threads), and have each of them build a subset of the graph. It would essentially require us to reimplement a subset of Make (or guix-daemon). I’ve tried generating makefile rules from module dependencies. That’s pretty cool, but compilation of the package modules remains damn slow (2nd patch attached). What do people think? Anyone has a better idea? The attached patch allows us to build the modules sequentially but in topologically-sorted order, which means we can avoid the ugly load-modules-first workaround. Still, it’s a bit too slow. Ludo’.