On Sat, 26 Oct 2019, Sven Schreiber wrote:
Am 21.08.2019 um 18:51 schrieb Allin Cottrell:
> On Mon, 19 Aug 2019, Sven Schreiber wrote:
>> We also discussed that the package author must specify the version
>> requirement for R itself and then specify the needed R packages (along
>> with their own versions). I would like to propose a way to put this
>> information in the package's spec file, something like this [...]
>
> Thanks, Sven for the reminder and the proposals, which make sense to
> me.
>
> Right now I'm busy finalizing native complex matrix support (to be
> paraded out before long), but will get back to this when I can.
I would like to "ping" on this issue - the idea is that we would need to
have this in place before 2019d is released (or will it be 2020a?), such
that contributed packages can start relying on this extension next year.
Otherwise it couldn't be used before 2020a (or even 2020b) comes out.
New in git:
* The function package DTD now includes an optional element named
"R-depends" to record R dependency information.
* This is now handled in the process of "compiling" a gfn file via
use of a .spec file. And it's documented in the current iteration of
the Function Package doc.
* When a package with an R dependency is loaded, a message is
printed alerting the user to this fact, with specifics on OK
versions.
At present the R information cannot be set via the packaging GUI,
but that can be added. I've settled on a simple format for the
dependency info, which should be relatively easy to parse if at some
future point we want to implement checking that the requirements are
satisfied (something we do not yet attempt). Example:
R-depends = R 3.5.3 glmnet 2.0-18
This means that the package requires R and R's glmnet, and is known
to work OK with R version 3.5.3 plus glmnet 2.0-18. The possibility
is left open that it might work with earlier or later versions of
both -- the key point is that it's tested OK with this combination.
More generally, the required format is:
R <version>
followed on the same line by zero or more instances of
<R-pkg> <version>
as needed, all separated by spaces.
Allin