From owner-freebsd-ports@FreeBSD.ORG Fri Feb 24 13:33:18 2012 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 28617106566B for ; Fri, 24 Feb 2012 13:33:18 +0000 (UTC) (envelope-from m.seaman@infracaninophile.co.uk) Received: from smtp.infracaninophile.co.uk (smtp6.infracaninophile.co.uk [IPv6:2001:8b0:151:1:3cd3:cd67:fafa:3d78]) by mx1.freebsd.org (Postfix) with ESMTP id 7B3588FC0C for ; Fri, 24 Feb 2012 13:33:17 +0000 (UTC) Received: from seedling.black-earth.co.uk (seedling.black-earth.co.uk [IPv6:2001:8b0:151:1:fa1e:dfff:feda:c0bb]) (authenticated bits=0) by smtp.infracaninophile.co.uk (8.14.5/8.14.5) with ESMTP id q1ODXDGN095785 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO) for ; Fri, 24 Feb 2012 13:33:13 GMT (envelope-from m.seaman@infracaninophile.co.uk) X-DKIM: OpenDKIM Filter v2.4.3 smtp.infracaninophile.co.uk q1ODXDGN095785 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=infracaninophile.co.uk; s=201001-infracaninophile; t=1330090393; bh=bvSR5EIWavg7ElU/10/zgs1vqJ0AfyPbBapnyLw9RRI=; h=Message-ID:Date:From:MIME-Version:To:Subject:References: In-Reply-To:Content-Type:Cc; b=wgKIkHuo+O74cWCnAI0jDybUbcbNF6pn/mcVwZ3flCWw92wdKCc2j8Aef2oaA3CxN KgF5X1SMGPCPNUAu9C95C8D4R2J0Id9LPnPbuIRUaGbfhHA5Fmr8cjj9HqrW9iOzl8 XA1nOO7pyL2ZhdjH+GAgDQPE6Fyor0Zil+vcGAgI= Message-ID: <4F479192.8040605@infracaninophile.co.uk> Date: Fri, 24 Feb 2012 13:33:06 +0000 From: Matthew Seaman User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 MIME-Version: 1.0 To: freebsd-ports@freebsd.org References: <4F477B33.5020506@FreeBSD.org> <4F478892.10708@FreeBSD.org> In-Reply-To: <4F478892.10708@FreeBSD.org> X-Enigmail-Version: 1.3.5 OpenPGP: id=60AE908C Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig39523EAB0231FD4BAF805E2B" X-Virus-Scanned: clamav-milter 0.97.3 at lucid-nonsense.infracaninophile.co.uk X-Virus-Status: Clean X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on lucid-nonsense.infracaninophile.co.uk Subject: Re: nevermind.Re: how do you specify a minimum lib version? X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Feb 2012 13:33:18 -0000 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--