[Rd] SystemRequirements (was DESCRIPTION and PACKAGES files )

Allen S. Rout asr at ufl.edu
Mon Jul 24 18:27:39 CEST 2006

Seth Falcon <sfalcon at fhcrc.org> writes:

> For the Bioconductor project, we also wanted more information to be
> programatically available regarding the packages in a repository.
> Instead of bloating the PACKAGES file, we put a separate file, VIEWS
> in our repository.  [...]
> So, if you were able to host a CRAN mirror, you could annotate it
> similarly.

Thanks, Seth; I am hoping that I will be able to avoid introducing any
new data to the PACKAGES stream.  So far, I'm doing all right with
concatenating all the DESCRIPTIONS files from the Descriptions/ subdir
of a CRAN mirror.

I'm wondering about SystemRequirements, though; I ass-u-med from its
mention in 'Writing R Extensions' that it was intended to have a
format similar to Depends.  Some package authors seem to feel the same
way, but many clearly do not.

cran2ebuild $ grep -i systemre descs/PACKAGES
SystemRequirements: currently the only supported OS is Windows, we expect to support Linux in future releases
SystemRequirements: libgd (>= 2.0.28 http://www.boutell.com/gd/), recommended: freetype2, fontconfig and msttcorefonts
SystemRequirements: GNU make
SystemRequirements: WinBUGS 1.4 on Windows
SystemRequirements: Internal files Xba.CQV, Xba.regions (or other regions file)
SystemRequirements: netcdf (>= 3.5.0), udunits (>= 1.11.7)
SystemRequirements: An ODBC driver manager and drivers. See README.
SystemRequirements: QuantLib library from http://quantlib.org, Boost library
SystemRequirements: LamMpi(>= 6.5.9) or Mpich2(>= 1.0.2), BLAS, BLACS, ScaLAPACK 
SystemRequirements: Java 1.4 or later
SystemRequirements: Windows, WinEdt
SystemRequirements: None
SystemRequirements: Platform LSF development libraries
SystemRequirements: linux: libtiff (and libtiff-devel); windows: Tiff (libtiff3.dll), zlib1.dll and jpeg62.dll; see also the topic 'SoPhy' in the documentation
SystemRequirements: libxml2 (>= 2.6.3)
SystemRequirements: gmp (>= 4.1.4)
SystemRequirements: GNOME development libraries, R built as a shared object.
SystemRequirements: ghostscript
SystemRequirements: Gnu Scientific Library version >= 1.5
SystemRequirements: SVMlight
SystemRequirements: mim (>=
SystemRequirements: Will use djmrgl or rgl packages for rendering if present
SystemRequirements: GMP (GNU MP bignum library), cddlib
SystemRequirements: for building from source: GDAL >= 1.3.1 library from http://www.gdal.org/download.html and PROJ.4 (proj >= 4.4.9) from http://www.remotesensing.org/proj/
SystemRequirements: GGobi
SystemRequirements: OpenGL, GLU Library, libpng (optional)
SystemRequirements: libtiff
SystemRequirements: xgobi must be installed additionally,

So, 30-some out of 788 packages use SystemRequirements.  Clearly, a
'Depends'-esque format is the most popular, though there are several
unparseable variants in the list.

I'm suggesting a tighter formatting to a few authors, (i.e. the
packages I happen to use right now) but I wonder if there is any
central philosophical opinion on how that field ought to look?  If the
Gods of R think that automated parsing of SystemRequirements is
unimportant, I'll have to maintain them by hand.

- Allen S. Rout

More information about the R-devel mailing list