Andreas Enge <andr...@enge.fr> skribis: > On Mon, Sep 09, 2013 at 11:35:55PM +0200, Ludovic Courtès wrote: >> The problem is that both the gnu-build-system and the >> python-build-system were getting imported, and both export a >> ‘%standard-phases’. > > That is what I thought. I tried to add a > #:use-module ((guix build-system gnu) > #:select (gnu-build-system)) > but that was not enough.
You’re mixing different things: the line above is on the host side, whereas the patch I proposed changes the modules imported on the build side. >> The fix is to use only python-build-system: > > That also does not seem to work. Could you be more specific? :-) With the patch I sent, the builder should start with: (begin (use-modules (guix build python-build-system) (guix build utils)) ...) So the global variable named ‘%standard-phases’ here is necessarily that of (guix build python-build-system). Can you try this patch to check the value of ‘phases’?
diff --git a/guix/build/python-build-system.scm b/guix/build/python-build-system.scm index 8429979..1b5eaa8 100644 --- a/guix/build/python-build-system.scm +++ b/guix/build/python-build-system.scm @@ -96,6 +96,6 @@ (define* (python-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) "Build the given Python package, applying all of PHASES in order." - (apply gnu:gnu-build #:inputs inputs #:phases phases args)) + (apply gnu:gnu-build #:inputs inputs #:phases (pk 'the-python-phases phases) args)) ;;; python-build-system.scm ends here
[...] > Maybe we should try to use a variable name %python-standard-phases instead. That would be cheating. ;-) And really, it’s unnecessary. Ludo’.