Skip to content
Prev 12155 / 21307 Next

[Bioc-devel] EXTERNAL: R version dependence of a new package

I lean to agree with Yaoyong, because I find it helpful to specify (or read):

Depends: R (>= 3.0.0)

which sends a message that "the code is relying on features in R that
was not available prior to R 3.0.0".  Also, if that's the only
dependency you have, then if it passed R CMD check on R 3.0.0 in the
past, it will keep doing so in the future.  On the other hand, if the
package depends on other packages, which it's likely to do, then that
"R (>= 3.0.0)" sends a message about what the lower bound is - it does
not necessarily guarantee that it will work with R 3.0.0.  I think
that is a valid specification (for R and packages) because otherwise,
what is the "(>= x.y.z)" specification meant to be used for otherwise?

The alternative is to, as Stephanie proposes, to not specify "R (>=
x.y.z)" or just "R", which is an unfortunate workaround.

Somewhat related to this, couldn't there be a place-holder R package
called 'Bioconductor' whose version corresponds to the Bioconductor
release/devel version?  Then a package could specify "Imports:
Bioconductor (>= 3.6)" to clarify/specify that the package "depends
on/is for" a particular version of the Bioconductor.  The Bioconductor
3.6 package could in turn specify "R (>= 3.4.0)".  BTW, unfortunately,
R does not support specify a lower and an upper range, e.g. neither "R
(>= 3.4.0 & < 3.5.0)" nor "R (>= 3.4.0), R (< 3.5.0)" is accepted
which also means it's not possible to depend on "Bioconductor (==
3.6.*)".

Henrik
On Tue, Oct 24, 2017 at 10:27 AM, Stephanie M. Gogarten <sdmorris at uw.edu> wrote: