Metaport

Ryan Schmidt ryandesign at macports.org
Mon Oct 19 15:06:40 PDT 2009


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.



More information about the macports-dev mailing list