nevermind.Re: how do you specify a minimum lib version?
Matthew Seaman
m.seaman at infracaninophile.co.uk
Fri Feb 24 13:33:18 UTC 2012
On 24/02/2012 12:54, Michael Scheidell wrote:
>
>
> On 2/24/12 6:57 AM, Michael Scheidell wrote:
>> in LIB_DEPENDS
>> it won't take anything like:
>>
>> = boost_serialization>=.4
>>
> I googled.
> all other _DEPENDS uses >=
> LIB_DEPENDS uses .[4-9]
> (i assume .(1[0-9]|[4-9]))
Saying 'all other _DEPENDS' is slightly misleading. LIB_DEPENDS is
itself conceptually different to all the other
{FETCH,EXTRACT,PATCH,BUILD,RUN,TEST,PKG}_DEPENDS in that it doesn't list
dependencies that are required at a specific stage of building a port
(LIB_DEPENDS is added to both BUILD_DEPENDS and RUN_DEPENDS), and it
also implies a different way of testing that a dependency is fulfilled.
So, there are four different styles for dependency lines:
1) ${LOCALBASE}/bin/foo:${PORTSDIR}/bar/baz
Says 'unless the file ${LOCALBASE}/bin/foo exists, install the bar/baz
port' (All dependency variables except LIB_DEPENDS)
2) foo:${PORTSDIR}/bar/baz
Says 'unless there is an executable program foo on $PATH, install the
bar/baz port' *for anything except LIB_DEPENDS* where it means 'unless
there is a shared library -lfoo listed in the output of 'ldconfig -r',
install the bar/baz port'
3) foo>=1.0:${PORTSDIR}/bar/baz
Says 'unless a package foo-1.0 (or any higher version) is installed,
install the bar/baz port' (All dependency variables except LIB_DEPENDS)
4) foo.[1-3]:${PORTSDIR}/bar/baz
Says 'unless foo.[1-3] is matched in the output of 'ldconfig -r',
install the bar/baz port' (Only for LIB_DEPENDS)
ie. do: ldconfig -r | grep '-lfoo.[1-3]'
This somewhat irritates my inner pedant, who would prefer it if _DEPENDS
variables referred strictly to the different phases of building and
installing ports, and there was some other syntax to indicate what test
should be done to decide if a dependency had been fulfilled. Maybe
something like:
@exists(${LOCALBASE}/bin/foo)
@package(foo>=1.0)
@shlib(foo) or @shlib(foo>=1)
which implies the possibility of adding other sorts of tests, say:
@perlmod(Foo-Bar>1.0)
equivalent to testing that
perl -M'Foo::Bar 1.0' -e ''
exits successfully. (Meaning you could install modules from CPAN and
have them fulfil versioned dependencies in the ports.)
Cheers,
Matthew
--
Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard
Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate
JID: matthew at infracaninophile.co.uk Kent, CT11 9PW
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 267 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20120224/e8304cab/signature.pgp
More information about the freebsd-ports
mailing list