From owner-freebsd-ports@FreeBSD.ORG Thu Oct 13 00:56:03 2005 Return-Path: X-Original-To: ports@freebsd.org Delivered-To: freebsd-ports@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 073AB16A41F for ; Thu, 13 Oct 2005 00:56:03 +0000 (GMT) (envelope-from edwin@mavetju.org) Received: from mail3out.barnet.com.au (mail3out.barnet.com.au [202.83.176.17]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7D7AD43D46 for ; Thu, 13 Oct 2005 00:56:01 +0000 (GMT) (envelope-from edwin@mavetju.org) Received: by mail3out.barnet.com.au (Postfix, from userid 27) id 8EB80877C30; Thu, 13 Oct 2005 10:56:00 +1000 (EST) X-Viruscan-Id: <434DB0A00000DFA009995D@BarNet> Received: from mail3-auth.barnet.com.au (mail3.barnet.com.au [202.83.176.16]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.barnet.com.au", Issuer "BarNet Root Certificate Authority" (verified OK)) by mail3.barnet.com.au (Postfix) with ESMTP id 63260877C1E; Thu, 13 Oct 2005 10:56:00 +1000 (EST) Received: from k7.mavetju (edwin-3.int.barnet.com.au [10.10.12.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "edwin.adsl.barnet.com.au", Issuer "BarNet Root Certificate Authority" (not verified)) by mail3-auth.barnet.com.au (Postfix) with ESMTP id E42FD877CB0; Thu, 13 Oct 2005 10:55:59 +1000 (EST) Received: by k7.mavetju (Postfix, from userid 1001) id B3DB66129; Thu, 13 Oct 2005 10:55:58 +1000 (EST) Date: Thu, 13 Oct 2005 10:55:58 +1000 From: Edwin Groothuis To: Kris Kennaway Message-ID: <20051013005558.GF1278@k7.mavetju> References: <20051012114222.GD1278@k7.mavetju> <434D0CFE.9090007@protey.ru> <20051012211228.GE1278@k7.mavetju> <20051012230710.GA88133@xor.obsecurity.org> <20051012232743.GC1265@k7.mavetju> <20051013000159.GA9092@xor.obsecurity.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20051013000159.GA9092@xor.obsecurity.org> User-Agent: Mutt/1.5.9i Cc: ports@freebsd.org Subject: Re: PERL_RUN_DEPENDS and PERL_BUILD_DEPENDS X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Oct 2005 00:56:03 -0000 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@mavetju.org | Weblog: http://weblog.barnet.com.au/edwin/