From ligges at statistik.tu-dortmund.de  Mon Sep 28 16:39:06 2009
From: ligges at statistik.tu-dortmund.de (Uwe Ligges)
Date: Mon, 28 Sep 2009 16:39:06 +0200
Subject: [Rd] build time dependency
In-Reply-To: <4AC06218.4010802@dbmail.com>
References: <4ABC8E7C.2060004@dbmail.com>	<4ABFAEAE.2030103@statistik.tu-dortmund.de>
	<4AC06218.4010802@dbmail.com>
Message-ID: <4AC0CA8A.40500@statistik.tu-dortmund.de>



Romain Francois wrote:
> On 09/27/2009 08:27 PM, Uwe Ligges wrote:
>>
>>
>>
>> Romain Francois wrote:
>>> Hello,
>>>
>>> Is there such thing as a build time dependency between packages :
>>> package B needs package A so that it can build, but once built it
>>> lives without it.
>>
>>
>> Do you mean at a) "R CMD build" time or at b) "R CMD INSTALL" time?
> 
> I meant R CMD INSTALL (but probably also R CMD build --binary), I need 
> to check the code to see where this overlaps.

Are you sure you *really* need those dependencies at INSTALL rather than 
build time? I haven't looked closely into roxygen so far, but if it is 
designed to work at INSTALL time, the task is to move this to the build 
time of the package from my point of view.

Since the roxygen author, Manuel Eugster, is in Dortmund today, I will 
discuss this point.

Best,
Uwe Ligges




> 
> 
>> For a), you probably do not need to declare it in DESCRIPTION at all
>> (untested).
>> For b), you need to declare it. I feel uncomfortable to change the
>> Depends field between source and binary version of a package. At least,
>> it is not documented to work and if it works (have you tested that?), it
>> might not work in some future release of R.
>> But since you gave at least 2 reasonable examples for a
>> INSTALL-time-only dependency, you might want to contribute some patches
>> to handle such a thing.
> 
> Sure. I'll have a look to add a "InstallDependencies" (or whatever other 
> spelling) field along the lines of Depends, but for INSTALL time.
> 
> Romain
> 
>>
>> Best wishes,
>> Uwe
>>
>>
>>> For example depending on the ant package to compile java code, or
>>> depend on roxygen to roxygenize the code, ...
>>>
>>> Adding roxygen to Depends works, but then the installed package does
>>> not depend on it and therefore loads it for nothing. Maybe I can
>>> remove roxygen from the Depends as part of the ./configure[.win] ...
>>>
>>> Romain
>>>
>



[Rd] build time dependency
Uwe Ligges