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