Re: nevermind.Re: how do you specify a minimum lib version?

2012-02-25 Thread Chris Rees
On 24 February 2012 12:54, Michael Scheidell scheid...@freebsd.org 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]))

If we're going to make this rigorous, we should use:

.([1-9][0-9]+|[4-9])

in order to accept .4 .  I haven't escaped the '.', because I don't
see any way it could hurt.

Or, you could depend on the lowest package version that has .so.4 (but
only if it is unique to that package).

Chris
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


how do you specify a minimum lib version?

2012-02-24 Thread Michael Scheidell

in LIB_DEPENDS
it won't take anything like:

= boost_serialization=.4

what if you needed a minimum version of the library?


--
Michael Scheidell, CTO
*| * SECNAP Network Security Corporation
d: +1.561.948.2259
w: http://people.freebsd.org/~scheidell
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


nevermind.Re: how do you specify a minimum lib version?

2012-02-24 Thread Michael Scheidell



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]))


--
Michael Scheidell, CTO
*| * SECNAP Network Security Corporation
d: +1.561.948.2259
w: http://people.freebsd.org/~scheidell
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: how do you specify a minimum lib version?

2012-02-24 Thread Denny Lin
On Fri, Feb 24, 2012 at 06:57:39AM -0500, Michael Scheidell wrote:
 in LIB_DEPENDS
 it won't take anything like:
 
 = boost_serialization=.4
 
 what if you needed a minimum version of the library?

I think it should be like this:
LIB_DEPENDS=cairo.2:${PORTSDIR}/graphics/cairo

-- 
Denny Lin
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: how do you specify a minimum lib version?

2012-02-24 Thread Michael Scheidell



On 2/24/12 7:36 AM, Denny Lin wrote:

I think it should be like this:
LIB_DEPENDS=cairo.2:${PORTSDIR}/graphics/cairo


thanks, tried that,  if lib(x) is .3, still fails. =2 gets 'redirect error'

found answer by google, needs

LIB_DEPENDS=cairo.[2-9]:${PORTSDIR}/graphics/cairo

--
Michael Scheidell, CTO
*| * SECNAP Network Security Corporation
d: +1.561.948.2259
w: http://people.freebsd.org/~scheidell
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: how do you specify a minimum lib version?

2012-02-24 Thread Boris Samorodov

Hi!

On 24.02.2012 15:57, Michael Scheidell wrote:


in LIB_DEPENDS
it won't take anything like:

= boost_serialization=.4

what if you needed a minimum version of the library?


Seems you need this:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-depend.html#AEN2138

--
WBR, Boris Samorodov (bsam)
FreeBSD Committer, http://www.FreeBSD.org The Power To Serve
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: nevermind.Re: how do you specify a minimum lib version?

2012-02-24 Thread Matthew Seaman
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-Bar1.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: matt...@infracaninophile.co.uk   Kent, CT11 9PW



signature.asc
Description: OpenPGP digital signature


Re: how do you specify a minimum lib version?

2012-02-24 Thread Mikhail T.

On -10.01.-28163 14:59, Michael Scheidell wrote:

in LIB_DEPENDS
it won't take anything like:

= boost_serialization=.4

what if you needed a minimum version of the library?


For years now the shared-library's major number is treated as a regular 
expression by bsd.port.mk.


So you could use something like:

   LIB_DEPENDS=boost_serialization.[456789]:...

this should be enough for a while -- until there appears boost_serialization.10, 
necessitating a hairier regexp. ImageMagick port uses this to depend on the 
fixed version of libfpx, for example.


You may also be able to insist on the version of the boost port being above a 
certain string, but I don't know the syntax... Yours,


   -mi

___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org