PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS
Edwin Groothuis
edwin at mavetju.org
Wed Oct 12 17:56:03 PDT 2005
On Wed, Oct 12, 2005 at 08:01:59PM -0400, Kris Kennaway wrote:
> On Thu, Oct 13, 2005 at 09:27:43AM +1000, Edwin Groothuis wrote:
> > On Wed, Oct 12, 2005 at 07:07:10PM -0400, Kris Kennaway wrote:
> > > On Thu, Oct 13, 2005 at 07:12:28AM +1000, Edwin Groothuis wrote:
> > > > On Wed, Oct 12, 2005 at 05:17:50PM +0400, Sergey Skvortsov wrote:
> > > > > >The syntax is:
> > > > > > PERL_BUILD_DEPENDS= MIME-Lite:${PORTSDIR}/mail/p5-MIME-Lite
> > > > > >It checks the for the existence of MIME::Lite with the "perl -e
> > > > > >'use MIME::Lite'" command.
> > > > > Obviously this approach will cause great performance degrade.
> > > > > stat(2) is much more faster than loading perl.
> > > >
> > > > Minimal compared with the time it takes to fetch distfiles and to
> > > > build. That's the only time it is checked.
> > >
> > > What about INDEX builds?
> >
> > "make index" are multiple "make describe"s. A "make describe" is a
> > perl script with two extra variables: prdirs and pbdirs. The splitting
> > of PERL_RUN_DEPEND and PERL_BUILD_DEPENDS was first part of the
> > split of BUILD_DEPENDS and RUN_DEPENDS.
>
> That doesn't seem to answer the question. Won't you be running
> thousands of extra perl invocations during 'make index' when your
> patch is fully deployed?
No, since "make describe" is already a perl script.
If you look at the patch, the following sections changed:
- A perl-(build|run)-depends target is added, which is only called
during the building of the ports.
- The (ALL|BUILD|RUN)-DEPENDS-LIST macros have added the
PERL_(BUILD|RUN)_DEPENDS variables in the for statement. The for
loop itself isn't longer, it is just that the order of the variables
has changed.
- The describe target has two extra lines, again no exta data, just
reordered.
Edwin
--
Edwin Groothuis | Personal website: http://www.mavetju.org
edwin at mavetju.org | Weblog: http://weblog.barnet.com.au/edwin/
More information about the freebsd-ports
mailing list