├── .gitignore ├── cran ├── webp.json ├── xml2.json ├── pdftools.json ├── RPostgreSQL.json └── cairoDevice.json ├── platforms ├── osx-x86_64-clang.json ├── linux-x86_64-centos6-epel.json ├── linux-x86_64-fedora-clang.json ├── linux-x86_64-fedora-gcc.json ├── linux-x86_64-arch-gcc.json ├── linux-x86_64-debian-gcc.json ├── linux-x86_64-ubuntu-gcc.json └── linux-x86_64-debian-clang.json ├── sysreqs ├── jri.json ├── domino.json ├── bayescan.json ├── saint.json ├── nvcc.json ├── openmp.json ├── apparmor.json ├── qgis.json ├── coin-or-clp.json ├── jags.json ├── ffmpeg.json ├── libbsd.json ├── saga.json ├── libbi.json ├── perl.json ├── swftools.json ├── tktable.json ├── bowtie2.json ├── ggobi.json ├── git.json ├── dcraw.json ├── fftw.json ├── gdal.json ├── libjq.json ├── v8.json ├── atk.json ├── imagej.json ├── libav.json ├── libgdal.json ├── libmpfr.json ├── pari-gp.json ├── webp.json ├── bwidget.json ├── glib.json ├── gnumake.json ├── gtkplus.json ├── libpq.json ├── netcdf4.json ├── zlib.json ├── automake.json ├── glu.json ├── libssh.json ├── mongodb.json ├── opengl.json ├── pango.json ├── rust.json ├── zeromq.json ├── libcurl.json ├── libgit2.json ├── libmagic.json ├── libpng.json ├── libxml2.json ├── openssl.json ├── librsvg2.json ├── libssh2.json ├── libtiff.json ├── libxslt.json ├── sasl.json ├── gpgme.json ├── libgeos.json ├── pkgconfig.json ├── poppler.json ├── tcltk.json ├── redland.json ├── sodium.json ├── exiftool.json ├── freetype.json ├── glpk.json ├── hdf5.json ├── libprotobuf.json ├── libudunits2.json ├── udunits.json ├── imagemagick.json ├── java.json ├── libsecret.json ├── libsndfile.json ├── magick++.json ├── monetdb.json ├── odbc.json ├── pdflatex.json ├── libproj.json ├── fftw3.json ├── libgmp.json ├── mysql.json ├── mariadb.json ├── hiredis.json ├── cxx11.json ├── libarchive.json ├── protobuf-compiler.json ├── pandoc.json ├── protobuf3.json ├── tesseract.json ├── itk.json ├── postgresql-client.json ├── libxft.json ├── cairo.json ├── openmpi.json ├── python.json ├── cmake.json ├── wget.json ├── libdb_stl.json ├── mysql-client.json └── libgsl.json ├── .travis.yml ├── scripts ├── protobuf-installer.sh └── pandoc-installer.sh ├── Gruntfile.js ├── package.json └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | -------------------------------------------------------------------------------- /cran/webp.json: -------------------------------------------------------------------------------- 1 | { 2 | "webp": "webp" 3 | } 4 | -------------------------------------------------------------------------------- /cran/xml2.json: -------------------------------------------------------------------------------- 1 | { 2 | "xml2": "libxml2" 3 | } 4 | -------------------------------------------------------------------------------- /cran/pdftools.json: -------------------------------------------------------------------------------- 1 | { 2 | "pdftools": "poppler" 3 | } 4 | -------------------------------------------------------------------------------- /cran/RPostgreSQL.json: -------------------------------------------------------------------------------- 1 | { 2 | "RPostgreSQL": "postgresql-client" 3 | } 4 | -------------------------------------------------------------------------------- /cran/cairoDevice.json: -------------------------------------------------------------------------------- 1 | { 2 | "cairoDevice": ["gtkplus", "cairo"] 3 | } 4 | -------------------------------------------------------------------------------- /platforms/osx-x86_64-clang.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "osx-x86_64-clang", 3 | "name": "OSX/brew" 4 | } 5 | -------------------------------------------------------------------------------- /sysreqs/jri.json: -------------------------------------------------------------------------------- 1 | { 2 | "jri": { 3 | "sysreqs": "JRI", 4 | "platforms": { 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /sysreqs/domino.json: -------------------------------------------------------------------------------- 1 | { 2 | "domino-1.7.1": { 3 | "sysreqs": "domino (~>1.7.1)", 4 | "platforms": { } 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | sudo: false 4 | 5 | install: 6 | - npm install 7 | 8 | script: 9 | # JSON Lint: 10 | - grunt 11 | -------------------------------------------------------------------------------- /sysreqs/bayescan.json: -------------------------------------------------------------------------------- 1 | { 2 | "bayescan": { 3 | "sysreqs": "/Bayescan/", 4 | "platforms": { 5 | "PKGBUILD": "bayescan" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /sysreqs/saint.json: -------------------------------------------------------------------------------- 1 | { 2 | "saint-2.3.4": { 3 | "sysreqs": "SAINT_v2.3.4", 4 | "platforms": { 5 | "DEB": "saint" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /sysreqs/nvcc.json: -------------------------------------------------------------------------------- 1 | { 2 | "nvcc": { 3 | "sysreqs": "nvcc", 4 | "platforms": { 5 | "DEB": "nvidia-cuda-toolkit", 6 | "PKGBUILD": "cuda" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /sysreqs/openmp.json: -------------------------------------------------------------------------------- 1 | { 2 | "openmp": { 3 | "sysreqs": "OpenMP", 4 | "platforms": { 5 | "DEB": "libomp-dev", 6 | "RPM": "libomp-devel" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /sysreqs/apparmor.json: -------------------------------------------------------------------------------- 1 | { 2 | "apparmor": { 3 | "sysreqs": "/apparmor/i", 4 | "platforms": { 5 | "DEB": "libapparmor-dev", 6 | "PKGBUILD": "apparmor" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /sysreqs/qgis.json: -------------------------------------------------------------------------------- 1 | { 2 | "qgis": { 3 | "sysreqs": "/QGIS/", 4 | "platforms": { 5 | "DEB": "qgis", 6 | "PKGBUILD": "qgis", 7 | "OSX/brew": "qgis2" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /sysreqs/coin-or-clp.json: -------------------------------------------------------------------------------- 1 | { 2 | "coin-or-clp": { 3 | "sysreqs": "/COIN-OR Clp/i", 4 | "platforms": { 5 | "DEB": "coinor-clp", 6 | "PKGBUILD": "coinor-csdp" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /sysreqs/jags.json: -------------------------------------------------------------------------------- 1 | { 2 | "jags": { 3 | "sysreqs": "/jags\\b/i", 4 | "platforms": { 5 | "DEB": "jags", 6 | "OSX/brew": "jags", 7 | "PKGBUILD": "jags" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /sysreqs/ffmpeg.json: -------------------------------------------------------------------------------- 1 | { 2 | "ffmpeg": { 3 | "sysreqs": "/FFmpeg/", 4 | "platforms": { 5 | "DEB": "ffmpeg", 6 | "OSX/brew": "ffmpeg", 7 | "PKGBUILD": "ffmpeg" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /sysreqs/libbsd.json: -------------------------------------------------------------------------------- 1 | { 2 | "libbsd": { 3 | "sysreqs": "libbsd", 4 | "platforms": { 5 | "DEB": "libbsd-dev", 6 | "PKGBUILD": "libbsd", 7 | "RPM": "libbsd-devel" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /sysreqs/saga.json: -------------------------------------------------------------------------------- 1 | { 2 | "saga": { 3 | "sysreqs": "/SAGA GIS/", 4 | "platforms": { 5 | "DEB": "saga", 6 | "PKGBUILD": "saga-gis", 7 | "OSX/brew": "saga-gis-lts" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /platforms/linux-x86_64-centos6-epel.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "linux-x86_64-centos6-epel", 3 | "name": "RPM", 4 | "distribution": "CentOS", 5 | "release": "6", 6 | "install-commands": "yum install -y ${sysreqs}" 7 | } 8 | -------------------------------------------------------------------------------- /platforms/linux-x86_64-fedora-clang.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "linux-x86_64-fedora-clang", 3 | "name": "RPM", 4 | "distribution": "Fedora", 5 | "release": "22", 6 | "install-commands": "dnf install -y ${sysreqs}" 7 | } 8 | -------------------------------------------------------------------------------- /platforms/linux-x86_64-fedora-gcc.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "linux-x86_64-fedora-gcc", 3 | "name": "RPM", 4 | "distribution": "Fedora", 5 | "release": "22", 6 | "install-commands": "dnf install -y ${sysreqs}" 7 | } 8 | -------------------------------------------------------------------------------- /sysreqs/libbi.json: -------------------------------------------------------------------------------- 1 | { 2 | "libbi": { 3 | "sysreqs": "libbi", 4 | "platforms": { 5 | "DEB": null, 6 | "OSX/brew": "libbi", 7 | "PKGBUILD": null, 8 | "RPM": null 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/perl.json: -------------------------------------------------------------------------------- 1 | { 2 | "perl": { 3 | "sysreqs": "Perl (>=5)", 4 | "platforms": { 5 | "DEB": "perl", 6 | "PKGBUILD": "perl", 7 | "OSX/brew": null, 8 | "RPM": "perl" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/swftools.json: -------------------------------------------------------------------------------- 1 | { 2 | "swftools": { 3 | "sysreqs": "/SWF Tools/", 4 | "platforms": { 5 | "DEB": "swftools", 6 | "PKGBUILD": "swftools", 7 | "OSX/brew": "swftools" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /sysreqs/tktable.json: -------------------------------------------------------------------------------- 1 | { 2 | "tktable": { 3 | "sysreqs": ["Tktable", "tktable"], 4 | "platforms": { 5 | "DEB": "tk-table", 6 | "PKGBUILD": "tktable", 7 | "RPM": "tktable" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /sysreqs/bowtie2.json: -------------------------------------------------------------------------------- 1 | { 2 | "bowtie2": { 3 | "sysreqs": "bowtie2", 4 | "platforms": { 5 | "DEB": "bowtie2", 6 | "OSX/brew": "homebrew/science/bowtie2", 7 | "PKGBUILD": "bowtie2" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /sysreqs/ggobi.json: -------------------------------------------------------------------------------- 1 | { 2 | "ggobi": { 3 | "sysreqs": "/ggobi/", 4 | "platforms": { 5 | "DEB": "ggobi", 6 | "OSX/brew": "ggobi", 7 | "PKGBUILD": "ggobi", 8 | "RPM": "ggobi" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/git.json: -------------------------------------------------------------------------------- 1 | { 2 | "git": { 3 | "sysreqs": "/\\bgit\\b/i", 4 | "platforms": { 5 | "DEB": "git-core", 6 | "RPM": "git", 7 | "PKGBUILD": "git", 8 | "OSX/brew": "git" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/dcraw.json: -------------------------------------------------------------------------------- 1 | { 2 | "dcraw": { 3 | "sysreqs": "/dcraw/i", 4 | "platforms": { 5 | "DEB": "dcraw", 6 | "RPM": "dcraw", 7 | "OSX/brew": "dcraw", 8 | "PKGBUILD": "dcraw" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/fftw.json: -------------------------------------------------------------------------------- 1 | { 2 | "fftw": { 3 | "sysreqs": "fftw", 4 | "platforms": { 5 | "DEB": "libfftw3-dev", 6 | "OSX/brew": "fftw", 7 | "PKGBUILD": "fftw", 8 | "RPM": "fftw-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/gdal.json: -------------------------------------------------------------------------------- 1 | { 2 | "gdal": { 3 | "sysreqs": "/\\bGDAL\\b/", 4 | "platforms": { 5 | "DEB": "gdal-bin", 6 | "OSX/brew": "gdal", 7 | "PKGBUILD": "gdal", 8 | "RPM": "gdal" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libjq.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "libjq": { 4 | "sysreqs": "libjq", 5 | "platforms": { 6 | "DEB": "libjq-dev", 7 | "RPM": "jq-devel", 8 | "PKGBUILD": "jq", 9 | "OSX/brew": "jq" 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /sysreqs/v8.json: -------------------------------------------------------------------------------- 1 | { 2 | "v8": { 3 | "sysreqs": "/\\bV8\\b/", 4 | "platforms": { 5 | "DEB": "libv8-dev", 6 | "OSX/brew": "v8", 7 | "PKGBUILD": "v8", 8 | "RPM": "v8-314-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/atk.json: -------------------------------------------------------------------------------- 1 | { 2 | "atk": { 3 | "sysreqs": "/\\bATK\\b/", 4 | "platforms": { 5 | "DEB": "libatk1.0-dev", 6 | "OSX/brew": "atk", 7 | "PKGBUILD": "atk", 8 | "RPM": "atk-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/imagej.json: -------------------------------------------------------------------------------- 1 | { 2 | "imagej": { 3 | "sysreqs": "imagej", 4 | "platforms": { 5 | "DEB": "imagej", 6 | "OSX/brew": "imagej", 7 | "PKGBUILD": "imagej", 8 | "RPM": "imagej" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libav.json: -------------------------------------------------------------------------------- 1 | { 2 | "libav": { 3 | "sysreqs": "libav", 4 | "platforms": { 5 | "DEB": "libav-tools", 6 | "OSX/brew": "libav", 7 | "PKGBUILD": "gst-libav", 8 | "RPM": null 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libgdal.json: -------------------------------------------------------------------------------- 1 | { 2 | "libgdal": { 3 | "sysreqs": "GDAL", 4 | "platforms": { 5 | "DEB": "libgdal-dev", 6 | "OSX/brew": "gdal", 7 | "PKGBUILD": "gdal", 8 | "RPM": "gdal-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libmpfr.json: -------------------------------------------------------------------------------- 1 | { 2 | "libmpfr": { 3 | "sysreqs": "mpfr", 4 | "platforms": { 5 | "DEB": "libmpfr-dev", 6 | "PKGBUILD": "mpfr", 7 | "OSX/brew": "mpfr", 8 | "RPM": "mpfr-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/pari-gp.json: -------------------------------------------------------------------------------- 1 | { 2 | "pari-gp": { 3 | "sysreqs": "pari-gp", 4 | "platforms": { 5 | "DEB": "pari-gp", 6 | "PKGBUILD": "pari", 7 | "OSX/brew": "pari", 8 | "RPM": "pari-gp" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/webp.json: -------------------------------------------------------------------------------- 1 | { 2 | "webp": { 3 | "sysreqs": "webp", 4 | "platforms": { 5 | "DEB": "libwebp-dev", 6 | "OSX/brew": "webp", 7 | "PKGBUILD": "libwebp", 8 | "RPM": "libwebp-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /platforms/linux-x86_64-arch-gcc.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "linux-x86_64-arch-gcc", 3 | "name": "PKGBUILD", 4 | "distribution": "Arch", 5 | "release": "2019.04.01", 6 | "install-commands": "pacman -Syu && pacman -S --noconfirm ${sysreqs}" 7 | } 8 | -------------------------------------------------------------------------------- /sysreqs/bwidget.json: -------------------------------------------------------------------------------- 1 | { 2 | "bwidget": { 3 | "sysreqs": "/bwidget/i", 4 | "platforms": { 5 | "DEB": "bwidget", 6 | "OSX/brew": "TODO", 7 | "PKGBUILD": "bwidget", 8 | "RPM": "bwidget" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/glib.json: -------------------------------------------------------------------------------- 1 | { 2 | "glib": { 3 | "sysreqs": "/\\bGLib\\b/", 4 | "platforms": { 5 | "DEB": "libglib2.0-dev", 6 | "OSX/brew": "glib", 7 | "PKGBUILD": "glib2", 8 | "RPM": "glib2-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/gnumake.json: -------------------------------------------------------------------------------- 1 | { 2 | "gnumake": { 3 | "sysreqs": ["GNU make", "GNU Make"], 4 | "platforms": { 5 | "DEB": "make", 6 | "OSX/brew": null, 7 | "PKGBUILD": "make", 8 | "RPM": "make" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/gtkplus.json: -------------------------------------------------------------------------------- 1 | { 2 | "gtkplus": { 3 | "sysreqs": "/\\bGTK\\+/", 4 | "platforms": { 5 | "DEB": "libgtk2.0-dev", 6 | "OSX/brew": "gtk+", 7 | "PKGBUILD": "gtk2", 8 | "RPM": "gtk2-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libpq.json: -------------------------------------------------------------------------------- 1 | { 2 | "libpq": { 3 | "sysreqs": "libpq", 4 | "platforms": { 5 | "DEB": "libpq-dev", 6 | "PKGBUILD": "libpqxx", 7 | "OSX/brew": "libpq", 8 | "RPM": "postgresql-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/netcdf4.json: -------------------------------------------------------------------------------- 1 | { 2 | "netcdf4": { 3 | "sysreqs": "netcdf", 4 | "platforms": { 5 | "DEB": "libnetcdf-dev", 6 | "PKGBUILD": "netcdf", 7 | "OSX/brew": "netcdf", 8 | "RPM": "netcdf-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/zlib.json: -------------------------------------------------------------------------------- 1 | { 2 | "zlib": { 3 | "sysreqs": "/\\bzlib\\b/i", 4 | "platforms": { 5 | "DEB": "zlib1g-dev", 6 | "OSX/brew": "zlib", 7 | "PKGBUILD": "zlib", 8 | "RPM": "zlib-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/automake.json: -------------------------------------------------------------------------------- 1 | { 2 | "automake": { 3 | "sysreqs": "automake", 4 | "platforms": { 5 | "DEB": "automake", 6 | "RPM": "automake", 7 | "OSX/brew": "automake", 8 | "PKGBUILD": "automake" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/glu.json: -------------------------------------------------------------------------------- 1 | { 2 | "glu": { 3 | "sysreqs": "/\\bGLU\\b/i", 4 | "platforms": { 5 | "DEB": "libglu1-mesa-dev", 6 | "OSX/brew": null, 7 | "PKGBUILD": "glu", 8 | "RPM": "mesa-libGLU-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libssh.json: -------------------------------------------------------------------------------- 1 | { 2 | "libssh": { 3 | "sysreqs": "/libssh /i", 4 | "platforms": { 5 | "DEB": "libssh-dev", 6 | "RPM": "libssh-devel", 7 | "PKGBUILD": "libssh", 8 | "OSX/brew": "libssh" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/mongodb.json: -------------------------------------------------------------------------------- 1 | { 2 | "mongodb": { 3 | "sysreqs": "mongodb", 4 | "platforms": { 5 | "DEB": "mongodb", 6 | "PKGBUILD": "mongodb", 7 | "OSX/brew": "mongodb", 8 | "RPM": "mongodb-org" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/opengl.json: -------------------------------------------------------------------------------- 1 | { 2 | "opengl": { 3 | "sysreqs": "OpenGL", 4 | "platforms": { 5 | "DEB": "libgl1-mesa-dev", 6 | "PKGBUILD": "mesa", 7 | "OSX/brew": null, 8 | "RPM": "mesa-libGL-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/pango.json: -------------------------------------------------------------------------------- 1 | { 2 | "pango": { 3 | "sysreqs": "/\\bPango\\b/i", 4 | "platforms": { 5 | "DEB": "libpango1.0-dev", 6 | "PKGBUILD": "pango", 7 | "OSX/brew": "pango", 8 | "RPM": "pango-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/rust.json: -------------------------------------------------------------------------------- 1 | { 2 | "rust": { 3 | "sysreqs": ["cargo", "rust", "rustc"], 4 | "platforms": { 5 | "DEB": "cargo", 6 | "RPM": "cargo", 7 | "PKGBUILD": "rust", 8 | "OSX/brew": "rust" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/zeromq.json: -------------------------------------------------------------------------------- 1 | { 2 | "zeromq": { 3 | "sysreqs": "/zeromq/i", 4 | "platforms": { 5 | "DEB": "libzmq3-dev", 6 | "OSX/brew": "zeromq", 7 | "PKGBUILD": "zeromq", 8 | "RPM": "zeromq-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libcurl.json: -------------------------------------------------------------------------------- 1 | { 2 | "libcurl": { 3 | "sysreqs": "libcurl", 4 | "platforms": { 5 | "DEB": "libcurl4-openssl-dev", 6 | "OSX/brew": null, 7 | "PKGBUILD": "curl", 8 | "RPM": "libcurl-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libgit2.json: -------------------------------------------------------------------------------- 1 | { 2 | "libgit2": { 3 | "sysreqs": "/libgit2/i", 4 | "platforms": { 5 | "DEB": "libgit2-dev", 6 | "RPM": "libgit2-devel", 7 | "PKGBUILD": "libgit2", 8 | "OSX/brew": "libgit2" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libmagic.json: -------------------------------------------------------------------------------- 1 | { 2 | "libmagic": { 3 | "sysreqs": "libmagic", 4 | "platforms": { 5 | "DEB": "libmagic-dev", 6 | "PKGBUILD": "file", 7 | "OSX/brew": "libmagic", 8 | "RPM": "file-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libpng.json: -------------------------------------------------------------------------------- 1 | { 2 | "libpng": { 3 | "sysreqs": "/\\blibpng\\b/", 4 | "platforms": { 5 | "DEB": "libpng-dev", 6 | "PKGBUILD": "libpng", 7 | "OSX/brew": "libpng", 8 | "RPM": "libpng-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libxml2.json: -------------------------------------------------------------------------------- 1 | { 2 | "libxml2": { 3 | "sysreqs": "libxml2", 4 | "platforms": { 5 | "DEB": "libxml2-dev", 6 | "PKGBUILD": "libxml2", 7 | "OSX/brew": null, 8 | "RPM": "libxml2-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/openssl.json: -------------------------------------------------------------------------------- 1 | { 2 | "openssl": { 3 | "sysreqs": "OpenSSL", 4 | "platforms": { 5 | "DEB": "libssl-dev", 6 | "PKGBUILD": "openssl", 7 | "OSX/brew": "openssl@1.1", 8 | "RPM": "openssl-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/librsvg2.json: -------------------------------------------------------------------------------- 1 | { 2 | "librsvg2": { 3 | "sysreqs": "librsvg2", 4 | "platforms": { 5 | "DEB": "librsvg2-dev", 6 | "PKGBUILD": "librsvg", 7 | "OSX/brew": "librsvg", 8 | "RPM": "librsvg2-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libssh2.json: -------------------------------------------------------------------------------- 1 | { 2 | "libssh2": { 3 | "sysreqs": "/libssh2/i", 4 | "platforms": { 5 | "DEB": "libssh2-1-dev", 6 | "RPM": "libssh2-devel", 7 | "PKGBUILD": "libssh2", 8 | "OSX/brew": "libssh2" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libtiff.json: -------------------------------------------------------------------------------- 1 | { 2 | "libtiff": { 3 | "sysreqs": "/\\blibtiff\\b/", 4 | "platforms": { 5 | "DEB": "libtiff-dev", 6 | "PKGBUILD": "libtiff", 7 | "OSX/brew": "libtiff", 8 | "RPM": "libtiff-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libxslt.json: -------------------------------------------------------------------------------- 1 | { 2 | "libxslt": { 3 | "sysreqs": "libxslt", 4 | "platforms": { 5 | "DEB": "libxslt1-dev", 6 | "PKGBUILD": "libxslt", 7 | "OSX/brew": "libxslt", 8 | "RPM": "libxslt-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/sasl.json: -------------------------------------------------------------------------------- 1 | { 2 | "sasl": { 3 | "sysreqs": ["Cyrus", "SASL"], 4 | "platforms": { 5 | "DEB": "libsasl2-dev", 6 | "OSX/brew": null, 7 | "PKGBUILD": "libsasl", 8 | "RPM": "cyrus-sasl-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/gpgme.json: -------------------------------------------------------------------------------- 1 | { 2 | "gpgme": { 3 | "sysreqs": "/gpgme/i", 4 | "platforms": { 5 | "DEB": "libgpgme11-dev haveged", 6 | "OSX/brew": "gpgme", 7 | "PKGBUILD": "gpgme", 8 | "RPM": "gpgme-devel haveged" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libgeos.json: -------------------------------------------------------------------------------- 1 | { 2 | "libgeos": { 3 | "sysreqs": "/\\bGEOS\\b/", 4 | "platforms": { 5 | "DEB": "libgeos-dev libgeos++-dev", 6 | "OSX/brew": "geos", 7 | "PKGBUILD": "geos", 8 | "RPM": "geos-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/pkgconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "pkgconfig": { 3 | "sysreqs": "/pkg(:-|)config/", 4 | "platforms": { 5 | "DEB": "pkg-config", 6 | "OSX/brew": "pkg-config", 7 | "PKGBUILD": "pkgconf", 8 | "RPM": "pkgconfig" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/poppler.json: -------------------------------------------------------------------------------- 1 | { 2 | "poppler": { 3 | "sysreqs": "poppler", 4 | "platforms": { 5 | "DEB": "libpoppler-cpp-dev", 6 | "PKGBUILD": "poppler", 7 | "OSX/brew": "poppler", 8 | "RPM": "poppler-cpp-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/tcltk.json: -------------------------------------------------------------------------------- 1 | { 2 | "tcltk": { 3 | "sysreqs": "Tcl/Tk (>= 8.5)", 4 | "platforms": { 5 | "DEB": ["tcl8.5", "tk8.6"], 6 | "OSX/brew": "tcl-tk", 7 | "PKGBUILD": ["tcl", "tk"], 8 | "RPM": ["tcl", "tk"] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /scripts/protobuf-installer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | curl -OL https://github.com/google/protobuf/releases/download/v3.5.1/protobuf-cpp-3.5.1.zip 4 | unzip protobuf-cpp-3.5.1.zip -d proto 5 | cd proto/protobuf-3.5.1/ 6 | ./configure 7 | make 8 | make install 9 | ldconfig 10 | -------------------------------------------------------------------------------- /sysreqs/redland.json: -------------------------------------------------------------------------------- 1 | { 2 | "redland": { 3 | "sysreqs": ["/redland/", "/librdf/"], 4 | "platforms": { 5 | "DEB": "librdf0-dev", 6 | "PKGBUILD": "redland", 7 | "OSX/brew": "redland", 8 | "RPM": "redland-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/sodium.json: -------------------------------------------------------------------------------- 1 | { 2 | "sodium": { 3 | "sysreqs": "/\\blibsodium\\b/", 4 | "platforms": { 5 | "DEB": "libsodium-dev", 6 | "OSX/brew": "libsodium", 7 | "PKGBUILD": "libsodium", 8 | "RPM": "libsodium-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/exiftool.json: -------------------------------------------------------------------------------- 1 | { 2 | "exiftool": { 3 | "sysreqs": "exiftool", 4 | "platforms": { 5 | "DEB": "libimage-exiftool-perl", 6 | "OSX/brew": "exiftool", 7 | "PKGBUILD": "perl-image-exiftool", 8 | "RPM": null 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/freetype.json: -------------------------------------------------------------------------------- 1 | { 2 | "freetype": { 3 | "sysreqs": "\\bfreetype\\b/i", 4 | "platforms": { 5 | "DEB": "libfreetype6-dev", 6 | "OSX/brew": "freetype", 7 | "PKGBUILD": "freetype2", 8 | "RPM": "freetype-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/glpk.json: -------------------------------------------------------------------------------- 1 | { 2 | "libglpk": { 3 | "sysreqs": "/\\bglpk\\b/", 4 | "platforms": { 5 | "DEB": { 6 | "runtime": "libglpk-dev", 7 | "buildtime": "libglpk-dev" 8 | } 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/hdf5.json: -------------------------------------------------------------------------------- 1 | { 2 | "hdf5": { 3 | "sysreqs": "hdf5", 4 | "platforms": { 5 | "DEB": "libhdf5-dev", 6 | "OSX/brew": "hdf5", 7 | "PKGBUILD": "hdf5", 8 | "RPM": "hdf5-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libprotobuf.json: -------------------------------------------------------------------------------- 1 | { 2 | "libprotobuf": { 3 | "sysreqs": "libprotobuf", 4 | "platforms": { 5 | "DEB": "libprotobuf-dev", 6 | "PKGBUILD": "protobuf", 7 | "OSX/brew": "protobuf", 8 | "RPM": "protobuf-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libudunits2.json: -------------------------------------------------------------------------------- 1 | { 2 | "libudunits2": { 3 | "sysreqs": "/\\budunits-2\\b/", 4 | "platforms": { 5 | "DEB": "libudunits2-dev", 6 | "PKGBUILD": "udunits", 7 | "OSX/brew": "udunits", 8 | "RPM": "udunits2-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/udunits.json: -------------------------------------------------------------------------------- 1 | { 2 | "udunits": { 3 | "sysreqs": "/(?:[^-])\\budunits\\b(?![-_.])/", 4 | "platforms": { 5 | "DEB": "udunits", 6 | "OSX/brew": "udunits", 7 | "PKGBUILD": "udunits", 8 | "RPM": "udunits" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/imagemagick.json: -------------------------------------------------------------------------------- 1 | { 2 | "imagemagick": { 3 | "sysreqs": "/Image[ ]?Magick/i", 4 | "platforms": { 5 | "DEB": "imagemagick", 6 | "OSX/brew": "imagemagick@6", 7 | "PKGBUILD": "imagemagick", 8 | "RPM": "ImageMagick" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/java.json: -------------------------------------------------------------------------------- 1 | { 2 | "java": { 3 | "sysreqs": [ "Java", "java" ], 4 | "platforms": { 5 | "DEB": "default-jre-headless", 6 | "OSX/brew": null, 7 | "PKGBUILD": "jre-openjdk-headless", 8 | "RPM": "java-1.8.0-openjdk" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libsecret.json: -------------------------------------------------------------------------------- 1 | { 2 | "libsecret": { 3 | "sysreqs": "/\\blibsecret\\b/", 4 | "platforms": { 5 | "DEB": "libsecret-1-dev", 6 | "PKGBUILD": "libsecret", 7 | "OSX/brew": "libsecret", 8 | "RPM": "libsecret-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/libsndfile.json: -------------------------------------------------------------------------------- 1 | { 2 | "libsndfile": { 3 | "sysreqs": "libsndfile", 4 | "platforms": { 5 | "DEB": "libsndfile1-dev", 6 | "PKGBUILD": "libsndfile", 7 | "OSX/brew": "libsndfile", 8 | "RPM": "libsndfile-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/magick++.json: -------------------------------------------------------------------------------- 1 | { 2 | "magick++": { 3 | "sysreqs": "Magick++", 4 | "platforms": { 5 | "DEB": "libmagick++-dev", 6 | "PKGBUILD": "imagemagick", 7 | "OSX/brew": "imagemagick@6", 8 | "RPM": "ImageMagick-c++-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/monetdb.json: -------------------------------------------------------------------------------- 1 | { 2 | "monetdb": { 3 | "sysreqs": "monetdb", 4 | "platforms": { 5 | "DEB": "monetdb5-sql", 6 | "PKGBUILD": "moneydb", 7 | "OSX/brew": "monetdb", 8 | "RPM": "MonetDB-SQL-server5 MonetDB-client" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/odbc.json: -------------------------------------------------------------------------------- 1 | { 2 | "ODBC": { 3 | "sysreqs": "/\\bODBC3?\\b/i", 4 | "platforms": { 5 | "DEB": "unixodbc-dev", 6 | "PKGBUILD": "unixodbc", 7 | "OSX/brew": "unixodbc", 8 | "RPM": "unixODBC-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/pdflatex.json: -------------------------------------------------------------------------------- 1 | { 2 | "pdflatex": { 3 | "sysreqs": "/(PDF)LaTeX/i", 4 | "platforms": { 5 | "DEB": "texlive-latex-base", 6 | "PKGBUILD": "texlive-core", 7 | "OSX/brew": null, 8 | "RPM": "texlive-collection-basic" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /platforms/linux-x86_64-debian-gcc.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "linux-x86_64-debian-gcc", 3 | "name": "DEB", 4 | "distribution": "Debian", 5 | "release": "buster", 6 | "install-commands": "export DEBIAN_FRONTEND=noninteractive; apt-get -y update && apt-get install -y ${sysreqs}" 7 | } 8 | -------------------------------------------------------------------------------- /platforms/linux-x86_64-ubuntu-gcc.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "linux-x86_64-ubuntu-gcc", 3 | "name": "DEB", 4 | "distribution": "Ubuntu", 5 | "release": "xenial", 6 | "install-commands": "export DEBIAN_FRONTEND=noninteractive; apt-get -y update && apt-get install -y ${sysreqs}" 7 | } 8 | -------------------------------------------------------------------------------- /sysreqs/libproj.json: -------------------------------------------------------------------------------- 1 | { 2 | "libproj": { 3 | "sysreqs": ["PROJ.4", "proj.maptools.org"], 4 | "platforms": { 5 | "DEB": "libproj-dev", 6 | "PKGBUILD": "proj", 7 | "OSX/brew": "proj", 8 | "RPM": "proj-devel proj-epsg proj-nad" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /platforms/linux-x86_64-debian-clang.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "linux-x86_64-debian-clang", 3 | "name": "DEB", 4 | "distribution": "Debian", 5 | "release": "buster", 6 | "install-commands": "export DEBIAN_FRONTEND=noninteractive; apt-get -y update && apt-get install -y ${sysreqs}" 7 | } 8 | -------------------------------------------------------------------------------- /sysreqs/fftw3.json: -------------------------------------------------------------------------------- 1 | { 2 | "fftw3": { 3 | "sysreqs": "fftw3", 4 | "platforms": { 5 | "DEB": { 6 | "runtime": "libfftw3-3", 7 | "buildtime": "libfftw3-dev" 8 | }, 9 | "PKGBUILD": "fftw", 10 | "RPM": "fftw-devel" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /sysreqs/libgmp.json: -------------------------------------------------------------------------------- 1 | { 2 | "libgmp": { 3 | "sysreqs": "/\\bgmp\\b/", 4 | "platforms": { 5 | "DEB": { 6 | "runtime": "libgmp10", 7 | "buildtime": "libgmp-dev" 8 | }, 9 | "PKGBUILD": "gmp", 10 | "OSX/brew": "gmp" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /sysreqs/mysql.json: -------------------------------------------------------------------------------- 1 | { 2 | "mysql": { 3 | "sysreqs": "MySQL (>=5.6)", 4 | "platforms": { 5 | "DEB": ["mysql-server-5.6", "mysql-client-5.6"], 6 | "PKGBUILD": "mysql", 7 | "OSX/brew": "mysql", 8 | "RPM": ["mysql-server", "mysql"] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/mariadb.json: -------------------------------------------------------------------------------- 1 | { 2 | "mysql": { 3 | "sysreqs": "MySQL (>=5.6)", 4 | "platforms": { 5 | "DEB": ["mysql-server-5.6", "mysql-client-5.6"], 6 | "PKGBUILD": "mariadb", 7 | "OSX/brew": "mysql", 8 | "RPM": ["mysql-server", "mysql"] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/hiredis.json: -------------------------------------------------------------------------------- 1 | { 2 | "hiredis": { 3 | "sysreqs": "hiredis", 4 | "platforms": { 5 | "DEB": "libhiredis-dev", 6 | "OSX/brew": "hiredis", 7 | "PKGBUILD": "hiredis", 8 | "RPM": "libhiredis-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/cxx11.json: -------------------------------------------------------------------------------- 1 | { 2 | "cxx11": { 3 | "sysreqs": "C++11", 4 | "platforms": { 5 | "DEB": null, 6 | "OSX/brew": null, 7 | "RPM": null, 8 | "PKGBUILD": null, 9 | "Windows": null 10 | }, 11 | "comment": "We don't do anything special for C++-11" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /sysreqs/libarchive.json: -------------------------------------------------------------------------------- 1 | { 2 | "libarchive": { 3 | "sysreqs": "libarchive", 4 | "platforms": { 5 | "DEB": "libarchive-dev", 6 | "OSX/brew": "libarchive", 7 | "PKGBUILD": "libarchive", 8 | "RPM": "libarchive-devel", 9 | "CSW": "libarchive_dev" 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /sysreqs/protobuf-compiler.json: -------------------------------------------------------------------------------- 1 | { 2 | "protobuf-compiler": { 3 | "sysreqs": "protobuf-compiler", 4 | "platforms": { 5 | "DEB": "protobuf-compiler libprotoc-dev", 6 | "PKGBUILD": "protobuf", 7 | "OSX/brew": "protobuf", 8 | "RPM": "protobuf-compiler" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/pandoc.json: -------------------------------------------------------------------------------- 1 | { 2 | "pandoc": { 3 | "sysreqs": ["pandoc", "Pandoc"], 4 | "platforms": { 5 | "DEB": "pandoc pandoc-citeproc", 6 | "RPM": "pandoc pandoc-citeproc", 7 | "PKGBUILD": "pandoc pandoc-citeproc", 8 | "OSX/brew": "pandoc pandoc-citeproc" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/protobuf3.json: -------------------------------------------------------------------------------- 1 | { 2 | "protobuf3": { 3 | "sysreqs": ["protobuf3"], 4 | "platforms": { 5 | "DEB": {"script": "protobuf-installer.sh"}, 6 | "RPM": {"script": "protobuf-installer.sh"}, 7 | "PKGBUILD": "protobuf", 8 | "OSX/brew": "protobuf" 9 | } 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /sysreqs/tesseract.json: -------------------------------------------------------------------------------- 1 | { 2 | "tesseract": { 3 | "sysreqs": "tesseract", 4 | "platforms": { 5 | "DEB": "libtesseract-dev libleptonica-dev tesseract-ocr-eng", 6 | "OSX/brew": "tesseract", 7 | "PKGBUILD": "tesseract", 8 | "RPM": "tesseract-devel leptonica-devel" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/itk.json: -------------------------------------------------------------------------------- 1 | { 2 | "itk": { 3 | "sysreqs": "itk", 4 | "platforms": { 5 | "DEB": "insighttoolkit4-python libinsighttoolkit4-dev", 6 | "RPM": "InsightToolkit-devel InsightToolkit-vtk-devel", 7 | "OSX/brew": "insighttoolkit", 8 | "PKGBUILD": "insight-toolkit" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sysreqs/postgresql-client.json: -------------------------------------------------------------------------------- 1 | { 2 | "postgresql-client": { 3 | "sysreqs": "PostgreSQL client library", 4 | "platforms": { 5 | "DEB": { 6 | "runtime": "libpq5", 7 | "buildtime": "libpq-dev" 8 | }, 9 | "PKGBUILD": "libpqxx", 10 | "OSX/brew": "libpq" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /sysreqs/libxft.json: -------------------------------------------------------------------------------- 1 | { 2 | "libxft": { 3 | "sysreqs": "Xft", 4 | "platforms": { 5 | "DEB": { 6 | "runtime": "libxft2", 7 | "buildtime": "libxft-dev" 8 | }, 9 | "PKGBUILD": "libxft", 10 | "RPM": { 11 | "runtime": "libXft", 12 | "buildtime": "libXft-devel" 13 | } 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /sysreqs/cairo.json: -------------------------------------------------------------------------------- 1 | { 2 | "cairo": { 3 | "sysreqs": ["cairo", "Cairo"], 4 | "platforms": { 5 | "DEB": { 6 | "runtime": "libcairo2", 7 | "buildtime": "libcairo2-dev" 8 | }, 9 | "OSX/brew": "cairo", 10 | "PKGBUILD": "cairo", 11 | "RPM": { 12 | "runtime": "cairo", 13 | "buildtime": "cairo-devel" 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /sysreqs/openmpi.json: -------------------------------------------------------------------------------- 1 | { 2 | "openmpi": { 3 | "sysreqs": ["OpenMPI or MPICH2", "OpenMPI"], 4 | "platforms": { 5 | "DEB": { 6 | "runtime": "libopenmpi1.6", 7 | "buildtime": "libopenmpi-dev" 8 | }, 9 | "PKGBUILD": "openmpi", 10 | "OSX/brew": "openmpi", 11 | "RPM": { 12 | "runtime": "openmpi", 13 | "buildtime": "openmpi-devel" 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /sysreqs/python.json: -------------------------------------------------------------------------------- 1 | { 2 | "python-2.7": { 3 | "sysreqs": [ "python (>= 2.7", "python (>= 2.4)", "Python (>=2.76)", "Python 2.7", 4 | "Python (= 2.7)", "Python 2.7.x", "Python (>= 2.7.0)", 5 | "Python (>= 2.4.0)", "Python (>=2.6)", "Python (>= 2.7" ], 6 | "platforms": { 7 | "DEB": "python-minimal", 8 | "PKGBUILD": "python2", 9 | "OSX/brew": null, 10 | "RPM": "python" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function (grunt) { 4 | 5 | grunt.loadNpmTasks('grunt-jsonlint'); 6 | 7 | grunt.initConfig({ 8 | 9 | jsonlint: { 10 | sample: { 11 | src: [ 'cran/*.json', 'platforms/*.json', 'sysreqs/*.json' ] 12 | } 13 | } 14 | 15 | }); 16 | 17 | // Default task. 18 | grunt.registerTask('default', 'jsonlint'); 19 | 20 | // Travis CI task. 21 | grunt.registerTask('travis', 'jsonlint'); 22 | 23 | }; 24 | -------------------------------------------------------------------------------- /sysreqs/cmake.json: -------------------------------------------------------------------------------- 1 | { 2 | "cmake": { 3 | "sysreqs": "cmake", 4 | "platforms": { 5 | "DEB": "cmake", 6 | "RPM": "cmake", 7 | "OSX/brew": "cmake", 8 | "PKGBUILD": "cmake", 9 | "Windows": { 10 | "32bit": [ 11 | "https://cmake.org/files/v3.9/cmake-3.9.0-win32-x86.zip" 12 | ], 13 | "64bit": [ 14 | "https://cmake.org/files/v3.9/cmake-3.9.0-win64-x64.zip" 15 | ] 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /sysreqs/wget.json: -------------------------------------------------------------------------------- 1 | { 2 | "wget": { 3 | "sysreqs": "wget", 4 | "platforms": { 5 | "DEB": "wget", 6 | "RPM": "wget", 7 | "OSX/brew": "wget", 8 | "PKGBUILD": "wget", 9 | "Windows": { 10 | "32bit": [ 11 | "http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-bin.zip" 12 | ], 13 | "64bit": [ 14 | "http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-bin.zip" 15 | ] 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sysreqsdb", 3 | "version": "1.0.0", 4 | "description": "System requirements for R packages", 5 | "devDependencies": { 6 | "grunt": "^0.4.3", 7 | "grunt-jsonlint": "^1.0.4", 8 | "grunt-cli": "^0.1.13" 9 | }, 10 | "scripts": { 11 | "test": "grunt travis --verbose" 12 | }, 13 | "repository": { 14 | "type": "git", 15 | "url": "https://github.com/r-hub/sysreqsdb.git" 16 | }, 17 | "author": "Gabor Csardi", 18 | "bugs": { 19 | "url": "https://github.com/r-hub/sysreqsdb/issues" 20 | }, 21 | "homepage": "https://github.com/r-hub/sysreqsdb" 22 | } 23 | -------------------------------------------------------------------------------- /sysreqs/libdb_stl.json: -------------------------------------------------------------------------------- 1 | { 2 | "libdb_stl": { 3 | "sysreqs": ["/libdb_stl/"], 4 | "platforms": { 5 | "DEB": [ 6 | { 7 | "distribution": "Ubuntu", 8 | "releases": ["bionic", "cosmic", "artful", "xenial", "trusty"], 9 | "runtime": "libdb5.3-stl-dev", 10 | "buildtime": "libdb5.3-stl" 11 | }, 12 | { 13 | "distribution": "Debian", 14 | "releases": ["jessie", "stretch", "buster", "sid"], 15 | "runtime": "libdb5.3-stl-dev", 16 | "buildtime": "libdb5.3-stl" 17 | } 18 | ], 19 | "OSX/brew": "berkeley-db", 20 | "PKGBUILD": "db" 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /sysreqs/mysql-client.json: -------------------------------------------------------------------------------- 1 | { 2 | "mysql-client": { 3 | "sysreqs": [ 4 | "/MySQL.MariaDB client headers/", 5 | "libmariadb-client-dev", 6 | "mariadb-connector-c", 7 | "mysql-connector-c" 8 | ], 9 | "platforms": { 10 | "DEB": [ 11 | { 12 | "distribution": "Ubuntu", 13 | "releases": ["precise", "trusty"], 14 | "runtime": "libmysqlclient18", 15 | "buildtime": "libmysqlclient-dev" 16 | }, 17 | { 18 | "distribution": "Debian", 19 | "releases": ["squeeze", "wheezy"], 20 | "runtime": "libmysqlclient18", 21 | "buildtime": "libmysqlclient-dev" 22 | }, 23 | { 24 | "buildtime": "libmariadb-client-lgpl-dev", 25 | "runtime": "libmariadb2" 26 | } 27 | ], 28 | "PKGBUILD": "mariadb-clients", 29 | "OSX/brew": "mariadb-connector-c" 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /sysreqs/libgsl.json: -------------------------------------------------------------------------------- 1 | { 2 | "libgsl": { 3 | "sysreqs": ["/Gnu Scientific Library/i", "/\\bgsl\\b/"], 4 | "platforms": { 5 | "DEB": [ 6 | { 7 | "distribution": "Ubuntu", 8 | "releases": ["precise", "trusty", "vivid", "wily"], 9 | "runtime": "libgsl0ldbl", 10 | "buildtime": "libgsl0-dev" 11 | }, 12 | { 13 | "distribution": "Ubuntu", 14 | "runtime": "libgsl2", 15 | "buildtime": "libgsl-dev" 16 | }, 17 | { 18 | "distribution": "Debian", 19 | "releases": ["squeeze", "wheezy", "jessie"], 20 | "runtime": "libgsl0ldbl", 21 | "buildtime": "libgsl0-dev" 22 | }, 23 | { 24 | "distribution": "Debian", 25 | "runtime": "libgsl2", 26 | "buildtime": "libgsl-dev" 27 | } 28 | ], 29 | "PKGBUILD": "gsl", 30 | "OSX/brew": "gsl", 31 | "RPM": { 32 | "runtime": "gsl", 33 | "buildtime": "gsl-devel" 34 | } 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /scripts/pandoc-installer.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | URL="https://files.r-hub.io/pandoc/pandoc-latest" 4 | TARGET="/usr/local/bin" 5 | mkdir -p $TARGET 6 | 7 | # Download and install Pandoc binaries, works on Linux and OSX, for now 8 | 9 | if uname > /dev/null && [ $(uname) == 'Darwin' ]; then 10 | >&2 echo "macOS detected" 11 | type="OSX" 12 | PANDOC="${URL}/mac/pandoc" 13 | PANDOC_CITEPROC="${URL}/mac/pandoc-citeproc" 14 | 15 | elif uname > /dev/null && [ $(uname) == 'Linux' ] ;then 16 | >&2 echo "Linux detected" 17 | if [ -f /etc/debian_version ]; then 18 | >&2 echo "DEB distro detected" 19 | distro=debian 20 | arch=$(uname -p) 21 | elif [ -f /etc/redhat-release ]; then 22 | >&2 echo "RPM distro detected" 23 | distro=rpm 24 | arch=$(uname -p) 25 | elif [ -f "/etc/arch-release" ]; then 26 | >&2 echo "PKGBUILD distro detected" 27 | distro=arch 28 | arch=$(uname -p) 29 | else 30 | >&2 echo "Unknown distro, try DEB" 31 | distro=debian 32 | arch=$(uname -p) 33 | fi 34 | 35 | # Some Docker images report unknown, try to use 64 bit then 36 | if [ "$arch" == "unknown" ]; then 37 | arch="x86_64" 38 | fi 39 | 40 | PANDOC="${URL}/linux/${distro}/${arch}/pandoc" 41 | PANDOC_CITEPROC="${URL}/linux/${distro}/${arch}/pandoc-citeproc" 42 | else 43 | >&2 echo "Unknown OS type." 44 | exit 1 45 | fi 46 | 47 | cd $TARGET 48 | curl -O ${PANDOC} 49 | curl -O ${PANDOC_CITEPROC} 50 | 51 | chmod +x pandoc 52 | chmod +x pandoc-citeproc 53 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # sysreqs 3 | 4 | > SystemRequirements for R packages 5 | 6 | ## Introduction 7 | 8 | Many R packages require system libraries or other external software to build 9 | or run. The `SystemRequirements` field in the package `DESCRIPTION` file should 10 | declare these dependencies, as free form text. This makes it difficult to 11 | automate building and checking of R packages, since we need to guess which 12 | software should be installed on the build machine. 13 | 14 | The `sysreqs` project formalizes these requirements, and provides a database 15 | with API to quickly find out which Homebrew, Debian, Ubuntu, RHEL/Centos, etc 16 | packages or other software needs to be available to build and use R packages. 17 | 18 | In this README: 19 | 20 | * [supported platforms](#supported-platforms) 21 | * [the database format](#database-format) 22 | * [how to contribute](#contributing) 23 | * [how to access the data](#database-access) 24 | * [where the `sysreqs` project is used](#use-cases-of-the-database) 25 | 26 | ## Supported platforms 27 | 28 | Distributions using `deb` package format: 29 | * Ubuntu Linux 30 | * Debian Linux 31 | 32 | Distributions using `rpm` package format: 33 | * Fedora Linux (recent releases) 34 | * RedHat and CentOS Linux (recent releases) 35 | 36 | Distributions using the `PKGBUILD` package format: 37 | * Arch Linux 38 | 39 | Non-native package formats: 40 | * HomeBrew package manager on MacOS 41 | * Pacman/Rtools on Windows (forthcoming) 42 | 43 | ## Database format 44 | 45 | The `sysreqs` database is a JSON document store. Each document contains 46 | mappings for a single canonical system requirement. It contains both 47 | the mappings to `SystemRequirements` fields, and platform dependent packages 48 | or URLs. 49 | 50 | Below an example to make this clear. Several R packages require the libxml2 51 | library. For building these packages from source, the libxml2 development 52 | headers are needed as well. The R packages refer to libxml2 in different 53 | ways. E.g. [`igraph`](https://cran.r-project.org/web/packages/igraph/index.html) has simply `libxml2` and [`XML`](https://cran.r-project.org/web/packages/XML/index.html) has `libxml2 (>= 2.6.3)` 54 | in their `SystemRequirements` fields. 55 | 56 | ```json 57 | { 58 | "libxml2": { 59 | "sysreqs": "libxml2", 60 | "platforms": { 61 | "DEB": "libxml2-dev", 62 | "OSX/brew": null, 63 | "RPM": "libxml2-devel" 64 | } 65 | } 66 | } 67 | ``` 68 | 69 | Some notes: 70 | * The `sysreqs` field can be a string or array, and its entries can be fixed 71 | strings or regular expressions (when starting and ending with a forward slash, only [JavaScript RegExp](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) are supported. [Example of a list `sysreqs` field](https://github.com/r-hub/sysreqsdb/blob/9c0acc932a11b1eb9f1600e27ca39a4d7deb0425/sysreqs/cairo.json#L3), [example of a `sysreqs` field with a regular expression](https://github.com/r-hub/sysreqsdb/blob/9c0acc932a11b1eb9f1600e27ca39a4d7deb0425/sysreqs/imagemagick.json#L3). 72 | * Not all platforms have the same information, For `DEB` based Linux 73 | flavours (Debian, Ubuntu, etc.) packages that can be installed via the 74 | host package manager are listed: [`DEB` line example](https://github.com/r-hub/sysreqsdb/blob/9c0acc932a11b1eb9f1600e27ca39a4d7deb0425/sysreqs/cmake.json#L5). For Windows, typically URLs that have 75 | to be downloaded and installed: [Windows lines example](https://github.com/r-hub/sysreqsdb/blob/9c0acc932a11b1eb9f1600e27ca39a4d7deb0425/sysreqs/cmake.json#L8). 76 | * `null` for `OSX/brew` means that nothing is needed, the system includes 77 | the requirement(s) by default. [Example](https://github.com/r-hub/sysreqsdb/blob/92ab711e2ddd5aa8ebb93f6a1fdc1d2b9012bc75/sysreqs/libbi.json#L5). 78 | 79 | ## Database access 80 | 81 | See API docs at 82 | 83 | ## Contributing 84 | 85 | Your contributions are welcome! More details below. 86 | 87 | ### Adding or completing entries 88 | 89 | Please read about [the data format](#database-format) first. Entries should be added or improved via pull requests. 90 | 91 | * If a package (of yours or not) has a dependency that's not listed here yet, open a pull request to add it. You don't need to have it mapped to all platforms yet. [Example of such a PR](https://github.com/r-hub/sysreqsdb/pull/46). 92 | 93 | * You can also make a pull request to add a mapping to a platform. [Example of such a PR](https://github.com/r-hub/sysreqsdb/pull/47). 94 | 95 | ### Reporting your use case 96 | 97 | If you maintain a public platform/tool using sysreqsdb, make a PR to this repo updating the [section below](#use-cases-of-the-database). Please put your tool at the very end of the list. 98 | 99 | ## Use cases of the database 100 | 101 | * [R-hub](https://builder.r-hub.io/) 102 | 103 | * The [`codemetar` package](https://github.com/ropensci/codemetar), R package for the [CodeMeta project](https://codemeta.github.io/), uses the sysreqs API to parse the SystemRequirements field. 104 | 105 | * The [`containerit` package](https://github.com/o2r-project/containerit) uses the sysreqs API to derive system requirements of packages for automatically creating a Dockerfile based on a collection of packages. 106 | 107 | ## License 108 | 109 | MIT © The R Consortium 110 | --------------------------------------------------------------------------------