r-hub/sysreqsdb

Name: sysreqsdb

Owner: The R-hub project of the R Consortium

Description: SystemRequirements mappings for R packages

Created: 2015-03-27 21:02:29.0

Updated: 2018-01-09 21:12:59.0

Pushed: 2018-01-16 23:32:33.0

Homepage: null

Size: 64

Language: Shell

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

sysreqs

SystemRequirements for R packages

Introduction

Many R packages require external libraries or other external software to run. The SystemRequirements field in the DESCRIPTION file should declare these dependencies, as free form text. This makes it somewhat hard to create automatic builds of R packages, since it is hard to guess what software needs to be installed on the build machine.

The sysreqs project formalizes these requirements, and provides a database with API, that can be used to quickly find out what Debian, Ubuntu, RedHat, brew, etc. packages or other external software needs to be installed to run or build R packages.

Database access

TODO

Supported platforms

Planned:

Database format

The sysreqs database is a JSON document store. Each document contains mappings for a single canonical system requirement. It contains both the mappings to SystemRequirements fields, and platform dependent packages or URLs.

Here is an example to make this clear. Many R packages require the libxml2 library. For installing these packages from source, the libxml2 development headers are also needed. Various R packages refer to libxml2 in different ways. E.g. igraph has simply libxml2 and XML has libxml2 (>= 2.6.3) in their SystemRequirements fields.


ibxml2": {
"sysreqs": "/libxml2/",
"platforms": {
  "DEB": {
    "runtime": "libxml2",
    "buildtime": "libxml2-dev"
  },
  "OSX/brew": null,
  "RPM": "libxml2",
  "Windows": {
    "32bit": [
      "ftp://ftp.zlatkovic.com/libxml/zlib-1.2.5.win32.zip",
      "ftp://ftp.zlatkovic.com/libxml/iconv-1.9.2.win32.zip",
      "ftp://ftp.zlatkovic.com/libxml/libxml2-2.7.8.win32.zip",
    ],
    "64bit": [
      "ftp://ftp.zlatkovic.com/libxml/64bit/zlib-1.2.8-win32-x86_64.7z",
      "ftp://ftp.zlatkovic.com/libxml/64bit/iconv-1.14-win32-x86_64.7z",
      "ftp://ftp.zlatkovic.com/libxml/64bit/libxml2-2.9.3-win32-x86_64.7z"
    ]
  }
}


Some notes:

API

TODO

Contributing

TODO

License

MIT © The R Consortium


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.