Federico Beffa <be...@ieee.org> skribis: > The build does finish as I've tested it on my machine before > committing the package. However, for some reason, guix needs very long > to generate the derivation. On my machine (quad-core Xeon E5520) > python2-matplotlib takes ca. 31 mins to start building. > Python2-scipy, which includes python2-matplotlib, takes ca. 80 mins.!
Eric Bavier <ericbav...@gmail.com> skribis: > I wonder if this could this be a result of package-with-python2's > behavior of recursively creating new package objects for each input in a > package. As Ludovic suggested, this could easily create very large DAGs > that then need to be processed. > > This behavior of package-with-python2 was giving me a nightmare when > trying to code some improvements to `guix refresh -l`, since there would > easily become tens or hundreds of logically identical python package > objects floating through the package dependency DAG. Ouch, thanks for putting me on the right track. Basically ‘package-with-explicit-python’ was recursing way too much, leading to hundreds of unique package objects, and thus defeating memoization of ‘package-derivation’. Commit 78a2745 fixes that. ‘guix build python2-matplotlib -n --no-substitutes’ takes ~5 seconds on my laptop (which is still too much IMO, but that’s another story.) I’ve thus reinstated numpy, scipy, etc. In the future, don’t hesitate to report a bug when computing a derivation takes more than a few seconds. Eric: the good news is that you can now resume work on ‘guix refresh -l’. ;-) Ludo’.