[43132] trunk/dports/x11/xorg-libAppleWM/Portfile

Joshua Root jmr at macports.org
Fri Dec 5 14:50:56 PST 2008


Ryan Schmidt wrote:
> On Dec 5, 2008, at 16:09, Jeremy Huddleston wrote:
> 
>> On Dec 5, 2008, at 13:44, Ryan Schmidt wrote:
>>
>>> If you're going to run autoreconf, you need to declare a build
>>> dependency on the port that provides autoreconf...
>>> That would be the autoconf port. Probably declaring a build
>>> dependency on all three (autoconf, automake, libtool) is required.
>>
>> That's what that port:libtool dependency is for.  libtool depends on
>> automake which depends on autoconf.  I didn't realize I needed to
>> explicitly require all three. I'll update that.
> 
> libtool only has a build dependency on automake which only has a build
> dependency on autoconf. That means as soon as automake is installed, a
> user would be perfectly free to uninstall autoconf and expect no
> problems. And once libtool is installed, the user would expect to be
> able to uninstall automake with no problems. And MacPorts will allow
> uninstallation of those ports with no complaints, since those ports are
> not library or runtime dependencies but only build dependencies. So if
> you want to use those ports to build something, you need to declare
> build dependencies on them.

Not that this is only an issue with depends_build, in general there's no
policy against pulling in dependencies indirectly. Doing so can prevent
trace mode from working, however.

>>> There was quite a lot of confusion around this with the libxml2 port;
>>> see r38015, r38175, r39322, r39551.
>>>
>>> And what's "-fvi" and is it really necessary? We have a preferred
>>> method in MacPorts for running autoreconf, which currently is:
>>
>> force (assumes all files are too old and reinstalls them all)
>> verbose (better debugging output)
>> install (copies missing aux files to make autoconf not complain)
>>
>>> use_autoconf        yes
>>> autoconf.cmd        autoreconf
>>
>> Does this trigger the dependencies as well, or do I need to explicitly
>> do that?  I just copied this behavior from another port.
> 
> I'm not sure what you mean by triggering dependencies. I expect it just
> runs "autoreconf". Is there more that's needed?

"use_autoconf yes' doesn't add a dependency on autoconf, you have to add
it explicitly. There are a number of use_foo options which should really
add a dep but don't, see for example
<http://trac.macports.org/ticket/13981>.

>>> In MacPorts 1.7.0 you'll be able to just:
>>>
>>> use_autoreconf        yes
>>
>> And I assume there is a corresponding autoreconf.cmd, so I could set
>> '-fvi' if needed?

It uses the 'command' infrastructure, i.e. the 'commands' and
'command_exec' procs in port1.0/portutil.tcl. So yes, there is an
autoreconf.cmd option, but you probably want autoreconf.args. The
defaults currently set in portconfigure.tcl for autoreconf are:

default autoreconf.dir      {${worksrcpath}}
default autoreconf.pre_args {--install}

- Josh


More information about the macports-dev mailing list