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