From romain.francois at dbmail.com  Tue Sep 29 09:13:44 2009
From: romain.francois at dbmail.com (Romain Francois)
Date: Tue, 29 Sep 2009 09:13:44 +0200
Subject: [Rd] build time dependency
In-Reply-To: <486f230c0909281936t38ed0ad8jf3c7632de33bf8fb@mail.gmail.com>
References: <4ABC8E7C.2060004@dbmail.com>	
	<4ABFAEAE.2030103@statistik.tu-dortmund.de>	
	<4AC06218.4010802@dbmail.com>	
	<4AC0CA8A.40500@statistik.tu-dortmund.de>	
	<4AC0FF86.6000504@dbmail.com>
	<486f230c0909281936t38ed0ad8jf3c7632de33bf8fb@mail.gmail.com>
Message-ID: <4AC1B3A8.5090902@dbmail.com>

On 09/29/2009 04:36 AM, Seth Falcon wrote:
>
> On Mon, Sep 28, 2009 at 11:25 AM, Romain Francois
> <romain.francois at dbmail.com>  wrote:
>> Hi Uwe,
>>
>> I think you are supposed to do this kind of sequence:
>>
>> R CMD roxygen yourRoxygenablePackage
>> R CMD build yourRoxygenablePackage_roxygen
>>
>> ... but I don't like this because what you upload to cran is not the actual
>> source but somethingalready pre-processed. (This also applies to packages
>> shipping java code, most people just compile the java code on their machine
>> and only supply a jar of compiled code, but that's another story I suppose
>> ...)
>>
>> I'd prefer the roxygenation to be part of the standard build/INSTALL system,
>> so my plan is to write configure and configure.win which would call
>> roxygenize to generate Rd.
>
> I can appreciate the desire to make the "true" sources available.  At
> the same time, I think one should very carefully consider the expense
> of external dependencies on a package.
>
> One could view doc generation along the same lines as configure script
> generation -- a compilation step that can be done once instead of by
> all those who install and as a result reduce the depencency burden of
> those wanting to install the package.  Configure scripts are almost
> universally included pre-built in distribution source packages so that
> users do not need to have the right version of autoconf/automake.

The kind of configure[.win] scripts I am using are very simplistic and 
do not come from autoconf, etc ...

something like this to compile the java source code using the ant package :

#!/bin/bash
cd inst/java_src
"${R_HOME}/bin/Rscript" -e "ant::ant()"

> In other words, are you sure you want to require folks to install
> roxygen (or whatever) in order to install your package? Making it easy
> to do so is great, but in general if you can find a way to reduce
> dependencies and have your package work, that is better. :-)

That is exactly what I am trying to do here, those who build the package 
are not necessarily the same as those who install it, so installation 
would not depend on roxygen. And Uwe is very right that what I am 
looking for is indeed __build__ time rather than __install__ time.

> + seth
>


-- 
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30
http://romainfrancois.blog.free.fr
|- http://tr.im/ztCu : RGG #158:161: examples of package IDPmisc
|- http://tr.im/yw8E : New R package : sos
`- http://tr.im/y8y0 : search the graph gallery from R



[Rd] build time dependency
Romain Francois