Date: Fri, 24 Feb 2012 13:33:06 +0000 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: freebsd-ports@freebsd.org Subject: Re: nevermind.Re: how do you specify a minimum lib version? Message-ID: <4F479192.8040605@infracaninophile.co.uk> In-Reply-To: <4F478892.10708@FreeBSD.org> References: <4F477B33.5020506@FreeBSD.org> <4F478892.10708@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig39523EAB0231FD4BAF805E2B Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 24/02/2012 12:54, Michael Scheidell wrote: >=20 >=20 > On 2/24/12 6:57 AM, Michael Scheidell wrote: >> in LIB_DEPENDS >> it won't take anything like: >> >> =3D boost_serialization>=3D.4 >> > I googled. > all other _DEPENDS uses >=3D > 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>=3D1.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>=3D1.0) @shlib(foo) or @shlib(foo>=3D1) 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 --=20 Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate JID: matthew@infracaninophile.co.uk Kent, CT11 9PW --------------enig39523EAB0231FD4BAF805E2B Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.16 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk9HkZkACgkQ8Mjk52CukIzGJwCfcSfKJzuMPAMNh+Ok1+XArkxZ kFoAnAk49fZRm+DEAGEjla6LpO6vyeaY =9hu4 -----END PGP SIGNATURE----- --------------enig39523EAB0231FD4BAF805E2B--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F479192.8040605>