taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis:
> l...@gnu.org (Ludovic Courtès) writes: > >> taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis: >> >>> After some tinkering around I realized that the problem is that our >>> workaround of loading files explicitly causes the package record type to >>> be redefined after some packages have already been defined. More >>> generally, we force the top-level of many files to be re-executed after >>> they've already been executed as a result of a module import... >>> >>> It would be great if the whole circular import problem could somehow be >>> solved by Guile (no idea how feasible it is). On the meanwhile, we'll >>> have to work around problems introduced by workarounds. :-) >> >> I think we’ve gone way too far in kludgeland. ;-) >> >> The other idea I had, and which is known to work, it to rely exclusively >> on auto-compilation. By definition, Guile’s auto-compilation mode will >> compile things in the right order, thereby allowing us to compile >> everything in one process. Probably not parallelizable though, since >> this is under Guile’s control, not ours. >> >> Would you like to play with that? Otherwise I can give it a try later. > > I looked around in guix/scripts/pull.scm and build-aux/build-self.scm, > but couldn't figure out how to enable auto-compilation here. I expected > there would be a place where guile is called with --no-auto-compile. > What am I missing? We could do (set! %fresh-auto-compile #t), and also set XDG_CACHE_HOME so we control where .go files go. Ludo’.