Ports and their dependencies (run deps and also versioning questions)

Tabitha McNerney tabithamc at gmail.com
Sun Jun 8 03:50:01 PDT 2008


On 6/6/08, Joshua Root <jmr at macports.org> wrote:
>
> Tabitha McNerney wrote:
>
>> But, then my script ran into this specific problem:
>>
>> $ port info --depends_lib speex @1.0.5
>>
>> -->
>>
>> depends_lib: lib:libogg:libogg
>>
>> Hmmm ... the repeat of the library dependency libogg looks to be
>> incorrect.
>> Also, the first instance of the libogg dependency is preceded by "lib:"
>> but
>> shouldn't that be "port:" instead?
>>
>
> This is not an error, but a different type of dependency. A "port:foo"
> dependency means "install the port named 'foo'", whereas "lib:foo:bar" means
> "check if the library 'foo' is present, and if not, install the port named
> 'bar'". You can also use 'bin' or 'path' instead of 'lib' to make the port
> installation conditional on the absence of executables and arbitrary files,
> respectively.


Hi, I have a followup question. I noticed that with the subversion port,
when I get information from it (along with enabling its variant, the perl
variant), for the lib_depends output, I get:

$ port info --depends_lib postgresql81 @8.1.11 +perl
>

-->

depends_lib: port:readline, port:openssl, port:zlib, bin:perl:perl5.8
>

So if I follow Josh's logic, what this means is that there is a library
dependency of a non-port type that has an executable condition which is
saying, in a paraphrase:

"the port installation of subversion plus its perl variant has library
MacPort dependencies of readline, openssl and zlib' and it has a non-MacPort
dependency baed on the perl binary executable. If this perl executable is
available on the operating system (e.g., Mac OS X) then use it, but if this
perl executable can not be found, then the MacPort perl5.8 should be
installed and once its installed its binary executable shall be used" ??

Is it not unusual to see binary executable types of non-port dependencies in
the library (depends_lib) definition of a port? It doesn't matter if binary
requirements are in fact mixed and matched (regardless of dependency type,
library, build, run)?

Thanks,


T.M.


This is only mentioned in passing in the guide: <
> http://guide.macports.org/#reference.dependencies.types>. It's documented
> a little better in the portfile(7) manual.
>
> Most of the time dependencies should be of the port: variety, but sometimes
> it is better/easier to use software that Apple ships with OS X, a common
> example being X11. You'll see lib:libX11.6:XFree86 in a lot of portfiles.
>
> - Josh
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-users/attachments/20080608/0cbef641/attachment.htm 


More information about the macports-users mailing list