port variant requires

Ryan Schmidt ryandesign at macports.org
Wed Mar 24 17:10:58 PDT 2010


On Mar 24, 2010, at 18:47, Bradley Giesbrecht wrote:

> On Mar 24, 2010, at 4:37 PM, Ryan Schmidt wrote:
> 
>> On Mar 24, 2010, at 18:16, Bradley Giesbrecht wrote:
>> 
>>> Does foo get acted on first?
>>> 
>>> In my case foo needs to be built before bar.
>> 
>> I'm not certain the order in which they get processed. Could you show the actual variants you're writing?
> 
> Raim updated dovecot with a variant I had been working on a separate port for.
> 
> I am taking his patch to dovecot and adding another variant for another port I was working on.
> 
> I'm attaching the portfile because it's a little complex to type in an email.

As I said I'm not sure which order the variants get processed. It's either alphabetical order or the order listed in the portfile. You could of course test it if you think it's important. It's not important in this case, however, since as in most variants, you're not doing any processing in the variants; you're just defining things. In your case, you're defining private variables, adding distfiles and checksums, and defining post-phase blocks. Those post-phase blocks are probably what you're asking me about: you're wanting for the post-configure, post-build and post-destroot blocks of one of those variants to all happen before the post-configure, post-build and post-destroot blocks of another variant. That's not how MacPorts works. MacPorts operates only in a single global sequence of phases. That is to say, first the main configure phase will run, then all variants' post-configure phases will run. Then the main build phase will run, then all variants' post-build phases will run. So it doesn't sound like this will work the way you want it to.

It still seems to me like these should be separate ports, not variants in the sieve port. I know you've been back and forth on this. I looked into your sieve situation when you asked me to some weeks ago. Didn't respond because I didn't find out too much, except that the port would be relatively straightforward if you don't need those extra programs it can only build when the dovecot source is available. If this software is really so cumbersome to build, perhaps upstream needs to rethink how this all works.




More information about the macports-users mailing list