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