On Oct 19, 2009, at 14:20, vincent habchi wrote:

I don't know about that, but the other thing is that pre- and post- blocks can be defined multiple times. They don't override one another. So if the portgroup defines a pre-configure phase, and the portfile defines a pre-configure phase, MacPorts would happily call both of them.

Ah, that's something I was not aware of. It might be a solution. Yet, I admit I have some difficulty to understand the current structure of muniversal. What is the benefit of running a small loop for each step rather than one big loop over all steps?

MacPorts does things in phases. That's not something that can be changed by a port. In the usual case (user hasn't enabled archive mode in macports.conf) the phases are:

fetch
checksum
extract
patch
configure
build
destroot
install
activate

A port can override any phase, but there's little reason to override fetch and extract, and no reason to override checksum, install, and activate. That leaves patch, configure, build, and destroot, which is where ports typically do their distinctive work. muniversal overrides the default behavior of configure, build, and destroot, so that each phase iterates over each architecture.

As Joshua said, this is convoluted partly because it's in a portgroup, and it might be better implemented in base.

_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev

Reply via email to