[86846] trunk/dports

Ryan Schmidt ryandesign at macports.org
Sun Nov 6 07:58:11 PST 2011


On Nov 5, 2011, at 23:56, Hiroshi Umemoto wrote:
> On Sun, Nov 6, 2011 at 2:55 AM, Ryan Schmidt wrote:
>> On Nov 5, 2011, at 11:42, hum at macports.org wrote:
>> 
>>> p5-mecab, py-mecab, rb-mecab, rb19-mecab: correct depends_lib.
>>> 
>>> if {${perl5.major} != ""} {
>>> -    depends_lib-append  lib:libmecab:mecab-utf8
>>> +    depends_lib-append  bin:mecab-config:mecab-utf8
>> 
>> Is there a reason why this isn't using a normal port:-style dependency? lib:- and bin:-style dependencies should only be used if we want to allow the user to use a program or library installed outside of MacPorts to satisfy the dependency, but we don't usually want to allow that.
> 
> There are three ports for MeCab (mecab, mecab-utf8, mecab-sjis), each
> of which utilizes a different character encoding dictionary and
> conflicts with one another. Ports for scripting languages with MeCab
> are applicable to any type of encoding mecab port. I would like to
> specify a dependency on at least one of the mecab ports, that is
> "depends_lib (port:mecab OR port:mecab-utf8 OR port:mecab-sjis)".
> However, bin:-style dependencies are used instead of disjunctive
> port:-style.

Then what you want is a path:-style dependency:

depends_lib-append path:bin/mecab-config:mecab-utf8

This means if ${prefix}/bin/mecab-config is already there, do nothing; otherwise install the mecab-utf8 port. mecab-config files in directories outside of ${prefix} will NOT satisfy the dependency, which is what we want and is the difference between path:-style and bin:- and lib:-style.




More information about the macports-dev mailing list