Port dependencies on p5-Test-*

Dag-Erling Smørgrav des at des.no
Tue Feb 26 14:16:10 UTC 2008


Anton Berezin <tobez at tobez.org> writes:
> Having discussed this at a whiteboard with lth@ (ah, the advantages of
> face-to-face communication!), we came up with the following idea for
> bsd.perl.mk's implementation.
>
> PERL_DEPENDS.  This will be the one which will be used most of the time,
> since (p5-Test-* ports notwithstanding) it is actually difficult to come up
> with cases when we want BUILD_DEPENDS without accompanying RUN_DEPENDS.

Mostly correct.  Imagine the situtation if MakeMaker wasn't in core; now
imagine a Perl package that depends on something other than MakeMaker to
generate the Makefile.

> PERL_DEPENDS=	\
> 	p5-CGI.pm>3:www/p5-CGI.pm \
> 	devel/p5-Time-HiRes>=1.86 \
> 	textproc/p5-Regexp-Common

This is exactly what I was thinking of, which clearly shows that it
*was* obvious :)

> The second one, which will be good for the vast majority of cases, looses
> the package name, which is derived from the port name (by the way, the
> p5-CGI.pm case can also be written like this;  we cannot, from the top of our
> collective head, come up with a p5 port for which the package name base
> differs from the port directory name).

I can: p5-libwww installs several Perl modules, none if which is called
libwww.

> Additionally, bsd.perl.mk maintains a little database for dual-life modules,
> recording which version is present in which core.

Why?  If perl isn't installed, build that first.  If perl is installed,
use 'perl -M$MODULE -e "1;"' to check whether the module exists, or if a
certain version is required, 'perl -e "use $MODULE $VERSION;"'

> What do people think of this?  If we see positive reaction, we'll just
> temporarily switch from coding in Perl to coding in make.  :-)

I'm perfectly willing to implement this myself, if you're allergic to
make - or we can do it together at the Oslo QA Hackathon :)

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-ports mailing list