From b9651b249ce0ad86ae3ac68f0895e7aa99d54609 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Cs=C3=A1rdi?= Date: Tue, 10 Sep 2024 23:02:49 +0200 Subject: [PATCH 1/7] Update embedded sysreqs --- inst/sysreqs/HEAD | 2 +- inst/sysreqs/rules/apparmor.json | 11 +- inst/sysreqs/rules/atk.json | 41 ++++++- inst/sysreqs/rules/automake.json | 9 ++ inst/sysreqs/rules/berkeleydb.json | 9 ++ inst/sysreqs/rules/blender.json | 10 ++ inst/sysreqs/rules/boost.json | 61 ++++++++++ inst/sysreqs/rules/cairo.json | 9 ++ inst/sysreqs/rules/chrome.json | 38 +++++- inst/sysreqs/rules/cmake.json | 9 ++ inst/sysreqs/rules/eigen.json | 128 ++++++++++++++++++++ inst/sysreqs/rules/exiftool.json | 9 ++ inst/sysreqs/rules/fftw3.json | 9 ++ inst/sysreqs/rules/flint.json | 31 +++++ inst/sysreqs/rules/fluidsynth.json | 60 ++++++++++ inst/sysreqs/rules/fontconfig.json | 9 ++ inst/sysreqs/rules/freetype.json | 9 ++ inst/sysreqs/rules/fribidi.json | 9 ++ inst/sysreqs/rules/gdal.json | 14 ++- inst/sysreqs/rules/geos.json | 9 ++ inst/sysreqs/rules/git.json | 11 +- inst/sysreqs/rules/glib.json | 9 ++ inst/sysreqs/rules/glpk.json | 14 +++ inst/sysreqs/rules/glu.json | 9 ++ inst/sysreqs/rules/gmp.json | 9 ++ inst/sysreqs/rules/gnumake.json | 9 ++ inst/sysreqs/rules/gpgme.json | 9 ++ inst/sysreqs/rules/grpcpp.json | 77 ++++++++++++ inst/sysreqs/rules/gsl.json | 9 ++ inst/sysreqs/rules/gtk.json | 9 ++ inst/sysreqs/rules/harfbuzz.json | 9 ++ inst/sysreqs/rules/haveged.json | 9 ++ inst/sysreqs/rules/hdf5.json | 9 ++ inst/sysreqs/rules/hiredis.json | 9 ++ inst/sysreqs/rules/imagemagick.json | 9 ++ inst/sysreqs/rules/java.json | 13 ++- inst/sysreqs/rules/latex.json | 9 ++ inst/sysreqs/rules/leptonica.json | 9 ++ inst/sysreqs/rules/libarchive.json | 9 ++ inst/sysreqs/rules/libavfilter.json | 11 +- inst/sysreqs/rules/libbsd.json | 9 ++ inst/sysreqs/rules/libcurl.json | 10 ++ inst/sysreqs/rules/libgit2.json | 15 ++- inst/sysreqs/rules/libicu.json | 28 ++++- inst/sysreqs/rules/libjpeg.json | 9 ++ inst/sysreqs/rules/libjq.json | 9 ++ inst/sysreqs/rules/libmagic.json | 9 ++ inst/sysreqs/rules/libmysqlclient.json | 13 ++- inst/sysreqs/rules/libpng.json | 9 ++ inst/sysreqs/rules/libprotobuf.json | 9 ++ inst/sysreqs/rules/librsvg2.json | 9 ++ inst/sysreqs/rules/libsecret.json | 9 ++ inst/sysreqs/rules/libsndfile.json | 9 ++ inst/sysreqs/rules/libsodium.json | 9 ++ inst/sysreqs/rules/libssh.json | 105 +++++++++++++++++ inst/sysreqs/rules/libssh2.json | 9 ++ inst/sysreqs/rules/libtiff.json | 9 ++ inst/sysreqs/rules/libtool.json | 61 ++++++++++ inst/sysreqs/rules/libwebp.json | 9 ++ inst/sysreqs/rules/libxml2.json | 9 ++ inst/sysreqs/rules/libxslt.json | 9 ++ inst/sysreqs/rules/libzstd.json | 83 +++++++++++++ inst/sysreqs/rules/mongodb.json | 9 ++ inst/sysreqs/rules/mpfr.json | 9 ++ inst/sysreqs/rules/mysql.json | 9 ++ inst/sysreqs/rules/netcdf4.json | 9 ++ inst/sysreqs/rules/odbc.json | 9 ++ inst/sysreqs/rules/openbabel.json | 108 +++++++++++++++++ inst/sysreqs/rules/opencl.json | 10 ++ inst/sysreqs/rules/opencv.json | 11 +- inst/sysreqs/rules/opengl.json | 9 ++ inst/sysreqs/rules/openmpi.json | 9 ++ inst/sysreqs/rules/openssl.json | 9 ++ inst/sysreqs/rules/pandoc-citeproc.json | 3 +- inst/sysreqs/rules/pandoc.json | 20 ++++ inst/sysreqs/rules/pango.json | 9 ++ inst/sysreqs/rules/perl.json | 9 ++ inst/sysreqs/rules/pkg-config.json | 9 ++ inst/sysreqs/rules/poppler.json | 11 +- inst/sysreqs/rules/postgresql.json | 35 ++---- inst/sysreqs/rules/proj.json | 11 +- inst/sysreqs/rules/protobuf-compiler.json | 11 +- inst/sysreqs/rules/protobuf-grpc.json | 88 ++++++++++++++ inst/sysreqs/rules/python.json | 9 ++ inst/sysreqs/rules/python3.json | 9 ++ inst/sysreqs/rules/redland.json | 9 ++ inst/sysreqs/rules/rust.json | 9 ++ inst/sysreqs/rules/sasl.json | 9 ++ inst/sysreqs/rules/sdl2.json | 135 ++++++++++++++++++++++ inst/sysreqs/rules/sqlite3.json | 9 ++ inst/sysreqs/rules/suitesparse.json | 9 ++ inst/sysreqs/rules/tcltk.json | 9 ++ inst/sysreqs/rules/tesseract.json | 9 ++ inst/sysreqs/rules/tk.json | 11 ++ inst/sysreqs/rules/udunits2.json | 14 +++ inst/sysreqs/rules/v8.json | 2 +- inst/sysreqs/rules/wget.json | 9 ++ inst/sysreqs/rules/xft.json | 9 ++ inst/sysreqs/rules/xz.json | 51 ++++++++ inst/sysreqs/rules/zeromq.json | 9 ++ inst/sysreqs/rules/zlib.json | 9 ++ 101 files changed, 1886 insertions(+), 48 deletions(-) create mode 100644 inst/sysreqs/rules/boost.json create mode 100644 inst/sysreqs/rules/eigen.json create mode 100644 inst/sysreqs/rules/flint.json create mode 100644 inst/sysreqs/rules/fluidsynth.json create mode 100644 inst/sysreqs/rules/grpcpp.json create mode 100644 inst/sysreqs/rules/libssh.json create mode 100644 inst/sysreqs/rules/libtool.json create mode 100644 inst/sysreqs/rules/libzstd.json create mode 100644 inst/sysreqs/rules/openbabel.json create mode 100644 inst/sysreqs/rules/protobuf-grpc.json create mode 100644 inst/sysreqs/rules/sdl2.json create mode 100644 inst/sysreqs/rules/xz.json diff --git a/inst/sysreqs/HEAD b/inst/sysreqs/HEAD index eddde3f4..c014879e 100644 --- a/inst/sysreqs/HEAD +++ b/inst/sysreqs/HEAD @@ -1 +1 @@ -bdbdad6b8ce837e306588bfb27ec185f1b9fab3a +cab2105ca4d2bdd111b37ef51f36f96aba16691f diff --git a/inst/sysreqs/rules/apparmor.json b/inst/sysreqs/rules/apparmor.json index 00804e45..a1126abc 100644 --- a/inst/sysreqs/rules/apparmor.json +++ b/inst/sysreqs/rules/apparmor.json @@ -26,6 +26,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["libapparmor-dev", "libapparmor"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] -} \ No newline at end of file +} diff --git a/inst/sysreqs/rules/atk.json b/inst/sysreqs/rules/atk.json index 825a80d6..73082cb8 100644 --- a/inst/sysreqs/rules/atk.json +++ b/inst/sysreqs/rules/atk.json @@ -35,16 +35,53 @@ } ] }, + { + "packages": ["libatk-1_0-0"], + "constraints": [ + { + "os": "linux", + "distribution": "opensuse", + "versions": ["15.6"] + }, + { + "os": "linux", + "distribution": "sle", + "versions": ["15.6"] + } + ] + }, { "packages": ["atk-devel"], "constraints": [ { "os": "linux", - "distribution": "opensuse" + "distribution": "opensuse", + "versions": ["15.3", "15.4", "15.5"] }, { "os": "linux", - "distribution": "sle" + "distribution": "sle", + "versions": ["15.3", "15.4", "15.5"] + } + ] + }, + { + "packages": ["atk-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine", + "versions": [ "3.15", "3.16" ] + } + ] + }, + { + "packages": ["atkmm-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine", + "versions": [ "3.17", "3.18", "3.19", "3.20", "edge" ] } ] } diff --git a/inst/sysreqs/rules/automake.json b/inst/sysreqs/rules/automake.json index cfa70fca..249410c5 100644 --- a/inst/sysreqs/rules/automake.json +++ b/inst/sysreqs/rules/automake.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["automake"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/berkeleydb.json b/inst/sysreqs/rules/berkeleydb.json index 43f2056f..ead3a394 100644 --- a/inst/sysreqs/rules/berkeleydb.json +++ b/inst/sysreqs/rules/berkeleydb.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["db-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/blender.json b/inst/sysreqs/rules/blender.json index 28d8cd4a..31bd8326 100644 --- a/inst/sysreqs/rules/blender.json +++ b/inst/sysreqs/rules/blender.json @@ -36,6 +36,16 @@ "versions": [ "12.3", "15.0", "15.2" ] } ] + }, + { + "packages": ["blender"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine", + "versions": [ "3.16", "3.17", "3.18", "3.19", "3.20", "edge" ] + } + ] } ] } diff --git a/inst/sysreqs/rules/boost.json b/inst/sysreqs/rules/boost.json new file mode 100644 index 00000000..c2b74c0c --- /dev/null +++ b/inst/sysreqs/rules/boost.json @@ -0,0 +1,61 @@ +{ + "patterns": ["\\Boost\\b"], + "dependencies": [ + { + "packages": ["libboost-all-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "ubuntu" + }, + { + "os": "linux", + "distribution": "debian" + } + ] + }, + { + "packages": ["boost-devel"], + "constraints": [ + { + "os": "linux", + "distribution": "fedora" + }, + { + "os": "linux", + "distribution": "centos" + }, + { + "os": "linux", + "distribution": "rockylinux" + }, + { + "os": "linux", + "distribution": "redhat" + } + ] + }, + { + "packages": ["boost-gnu-hpc-devel"], + "constraints": [ + { + "os": "linux", + "distribution": "opensuse" + }, + { + "os": "linux", + "distribution": "sle" + } + ] + }, + { + "packages": ["boost-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + } + ] + } diff --git a/inst/sysreqs/rules/cairo.json b/inst/sysreqs/rules/cairo.json index f27c0b28..8e0b7b81 100644 --- a/inst/sysreqs/rules/cairo.json +++ b/inst/sysreqs/rules/cairo.json @@ -48,6 +48,15 @@ } ] }, + { + "packages": ["cairo-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-cairo", diff --git a/inst/sysreqs/rules/chrome.json b/inst/sysreqs/rules/chrome.json index 5a913d95..d32334e0 100644 --- a/inst/sysreqs/rules/chrome.json +++ b/inst/sysreqs/rules/chrome.json @@ -37,7 +37,8 @@ "constraints": [ { "os": "linux", - "distribution": "centos" + "distribution": "centos", + "versions": ["8"] }, { "os": "linux", @@ -45,7 +46,8 @@ }, { "os": "linux", - "distribution": "redhat" + "distribution": "redhat", + "versions": ["8"] }, { "os": "linux", @@ -53,6 +55,38 @@ "versions": [ "36", "37" ] } ] + }, + { + "pre_install": [ + { "command": "yum install -y which" }, + { "command": "[ $(which google-chrome) ] || curl -fsSL -o /tmp/google-chrome.rpm https://dl.google.com/linux/chrome/rpm/stable/x86_64/google-chrome-stable-125.0.6422.141-1.x86_64.rpm" }, + { "command": "[ $(which google-chrome) ] || yum install -y /tmp/google-chrome.rpm" } + ], + "packages": [], + "post_install": [ + { "command": "rm -f /tmp/google-chrome.rpm" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "centos", + "versions": ["7"] + }, + { + "os": "linux", + "distribution": "redhat", + "versions": ["7"] + } + ] + }, + { + "packages": ["chromium"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/cmake.json b/inst/sysreqs/rules/cmake.json index e42f2ae0..8a12fe4f 100644 --- a/inst/sysreqs/rules/cmake.json +++ b/inst/sysreqs/rules/cmake.json @@ -79,6 +79,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["cmake"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/eigen.json b/inst/sysreqs/rules/eigen.json new file mode 100644 index 00000000..3772c58e --- /dev/null +++ b/inst/sysreqs/rules/eigen.json @@ -0,0 +1,128 @@ +{ + "patterns": ["\\beigen3?\\b"], + "dependencies": [ + { + "packages": ["libeigen3-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "ubuntu" + }, + { + "os": "linux", + "distribution": "debian" + } + ] + }, + { + "packages": ["eigen3-devel"], + "constraints": [ + { + "os": "linux", + "distribution": "fedora" + }, + { + "os": "linux", + "distribution": "opensuse" + }, + { + "os": "linux", + "distribution": "sle" + } + ] + }, + { + "packages": ["eigen3-devel"], + "pre_install": [ + { + "command": "yum install -y epel-release" + } + ], + "constraints": [ + { + "os": "linux", + "distribution": "centos", + "versions": ["7"] + } + ] + }, + { + "packages": ["eigen3-devel"], + "pre_install": [ + { + "command": "rpm -q epel-release || yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm" + } + ], + "constraints": [ + { + "os": "linux", + "distribution": "redhat", + "versions": ["7"] + } + ] + }, + { + "packages": ["eigen3-devel"], + "pre_install": [ + { "command": "dnf install -y dnf-plugins-core" }, + { "command": "dnf config-manager --set-enabled powertools" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "centos", + "versions": ["8"] + } + ] + }, + { + "packages": ["eigen3-devel"], + "pre_install": [ + { "command": "subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "redhat", + "versions": ["8"] + } + ] + }, + { + "packages": ["eigen3-devel"], + "pre_install": [ + { "command": "dnf install -y dnf-plugins-core" }, + { "command": "dnf config-manager --set-enabled crb" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["9"] + } + ] + }, + { + "packages": ["eigen3-devel"], + "pre_install": [ + { "command": "subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "redhat", + "versions": ["9"] + } + ] + }, + { + "packages": ["eigen-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + } + ] +} diff --git a/inst/sysreqs/rules/exiftool.json b/inst/sysreqs/rules/exiftool.json index 80564f0f..eda1648e 100644 --- a/inst/sysreqs/rules/exiftool.json +++ b/inst/sysreqs/rules/exiftool.json @@ -107,6 +107,15 @@ "distribution": "opensuse" } ] + }, + { + "packages": ["perl-image-exiftool"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/fftw3.json b/inst/sysreqs/rules/fftw3.json index 1baf9f30..0b3571bc 100644 --- a/inst/sysreqs/rules/fftw3.json +++ b/inst/sysreqs/rules/fftw3.json @@ -48,6 +48,15 @@ } ] }, + { + "packages": ["fftw-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-fftw", diff --git a/inst/sysreqs/rules/flint.json b/inst/sysreqs/rules/flint.json new file mode 100644 index 00000000..68a3142e --- /dev/null +++ b/inst/sysreqs/rules/flint.json @@ -0,0 +1,31 @@ +{ + "patterns": ["\\bflint\\b"], + "dependencies": [ + { + "packages": ["libflint-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "ubuntu" + }, + { + "os": "linux", + "distribution": "debian" + } + ] + }, + { + "packages": ["flint-devel"], + "constraints": [ + { + "os": "linux", + "distribution": "opensuse" + }, + { + "os": "linux", + "distribution": "fedora" + } + ] + } + ] +} diff --git a/inst/sysreqs/rules/fluidsynth.json b/inst/sysreqs/rules/fluidsynth.json new file mode 100644 index 00000000..26ceba39 --- /dev/null +++ b/inst/sysreqs/rules/fluidsynth.json @@ -0,0 +1,60 @@ +{ + "patterns": ["\\bfluidsynth\\b"], + "dependencies": [ + { + "packages": ["libfluidsynth-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "ubuntu" + }, + { + "os": "linux", + "distribution": "debian" + } + ] + }, + { + "packages": ["fluidsynth-devel"], + "constraints": [ + { + "os": "linux", + "distribution": "opensuse" + }, + { + "os": "linux", + "distribution": "fedora" + } + ] + }, + { + "packages": ["fluidsynth-devel"], + "pre_install": [ + { "command": "yum install -y epel-release" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "centos" + }, + { + "os": "linux", + "distribution": "rockylinux" + }, + { + "os": "linux", + "distribution": "redhat" + } + ] + }, + { + "packages": ["fluidsynth-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + } + ] +} diff --git a/inst/sysreqs/rules/fontconfig.json b/inst/sysreqs/rules/fontconfig.json index 8d0b9e5c..b732dcc7 100644 --- a/inst/sysreqs/rules/fontconfig.json +++ b/inst/sysreqs/rules/fontconfig.json @@ -48,6 +48,15 @@ "distribution": "opensuse" } ] + }, + { + "packages": ["fontconfig-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/freetype.json b/inst/sysreqs/rules/freetype.json index be3a6118..9cc02833 100644 --- a/inst/sysreqs/rules/freetype.json +++ b/inst/sysreqs/rules/freetype.json @@ -48,6 +48,15 @@ } ] }, + { + "packages": ["freetype-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-freetype", diff --git a/inst/sysreqs/rules/fribidi.json b/inst/sysreqs/rules/fribidi.json index 37a22dda..de717ddc 100644 --- a/inst/sysreqs/rules/fribidi.json +++ b/inst/sysreqs/rules/fribidi.json @@ -38,6 +38,15 @@ "distribution": "fedora" } ] + }, + { + "packages": ["fribidi-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/gdal.json b/inst/sysreqs/rules/gdal.json index 01af0336..53847862 100644 --- a/inst/sysreqs/rules/gdal.json +++ b/inst/sysreqs/rules/gdal.json @@ -113,7 +113,7 @@ }, { "pre_install": [ - { "command": "subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms" }, + { "command": "subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms" }, { "command": "dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm" } ], "packages": [ @@ -190,6 +190,18 @@ "versions": ["12.3"] } ] + }, + { + "packages": [ + "gdal-dev", + "gdal-tools" + ], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/geos.json b/inst/sysreqs/rules/geos.json index 42afe000..49e41ec4 100644 --- a/inst/sysreqs/rules/geos.json +++ b/inst/sysreqs/rules/geos.json @@ -134,6 +134,15 @@ } ] }, + { + "packages": ["geos-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-geos", diff --git a/inst/sysreqs/rules/git.json b/inst/sysreqs/rules/git.json index 15aa91f5..9c9a3a2c 100644 --- a/inst/sysreqs/rules/git.json +++ b/inst/sysreqs/rules/git.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["git"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] - } +} diff --git a/inst/sysreqs/rules/glib.json b/inst/sysreqs/rules/glib.json index eba6e0d8..409ff33b 100644 --- a/inst/sysreqs/rules/glib.json +++ b/inst/sysreqs/rules/glib.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["glib-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/glpk.json b/inst/sysreqs/rules/glpk.json index 89662626..565b8ebd 100644 --- a/inst/sysreqs/rules/glpk.json +++ b/inst/sysreqs/rules/glpk.json @@ -64,6 +64,8 @@ { "packages": ["glpk-devel"], "pre_install": [ + { "command": "dnf install -y dnf-plugins-core" }, + { "command": "dnf config-manager --set-enabled crb" }, { "command": "dnf install -y epel-release" } ], "constraints": [ @@ -106,6 +108,7 @@ { "packages": ["glpk-devel"], "pre_install": [ + { "command": "subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms" }, { "command": "dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm" } ], "constraints": [ @@ -116,6 +119,17 @@ } ] }, + { + "packages": [ + "glpk-dev" + ], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-glpk", diff --git a/inst/sysreqs/rules/glu.json b/inst/sysreqs/rules/glu.json index 9e3bf87f..c716605e 100644 --- a/inst/sysreqs/rules/glu.json +++ b/inst/sysreqs/rules/glu.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["glu-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/gmp.json b/inst/sysreqs/rules/gmp.json index 5ea7615c..81ace29d 100644 --- a/inst/sysreqs/rules/gmp.json +++ b/inst/sysreqs/rules/gmp.json @@ -48,6 +48,15 @@ } ] }, + { + "packages": ["gmp-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-gmp", diff --git a/inst/sysreqs/rules/gnumake.json b/inst/sysreqs/rules/gnumake.json index ad3bcee1..557df08f 100644 --- a/inst/sysreqs/rules/gnumake.json +++ b/inst/sysreqs/rules/gnumake.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["make"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/gpgme.json b/inst/sysreqs/rules/gpgme.json index be5619c8..d504566a 100644 --- a/inst/sysreqs/rules/gpgme.json +++ b/inst/sysreqs/rules/gpgme.json @@ -90,6 +90,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["gpgme-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/grpcpp.json b/inst/sysreqs/rules/grpcpp.json new file mode 100644 index 00000000..5102cdc7 --- /dev/null +++ b/inst/sysreqs/rules/grpcpp.json @@ -0,0 +1,77 @@ +{ + "patterns": ["\\blibgrpc\\+\\+"], + "dependencies": [ + { + "packages": ["libgrpc++-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "ubuntu" + }, + { + "os": "linux", + "distribution": "debian" + } + ] + }, + { + "packages": ["grpc-devel", "pkgconf"], + "constraints": [ + { + "os": "linux", + "distribution": "fedora" + } + ] + }, + { + "pre_install": [ + { "command": "yum install -y epel-release" }, + { "command": "dnf install -y dnf-plugins-core" }, + { "command": "dnf config-manager --set-enabled crb" } + ], + "packages": ["grpc-devel", "pkgconf"], + "constraints": [ + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["9"] + } + ] + }, + { + "packages": ["grpc-devel"], + "constraints": [ + { + "os": "linux", + "distribution": "opensuse" + }, + { + "os": "linux", + "distribution": "sle" + } + ] + }, + { + "packages": ["grpc-devel", "pkgconf"], + "pre_install": [ + { "command": "subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "redhat", + "versions": ["9"] + } + ] + }, + { + "packages": ["grpc-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + } + ] +} diff --git a/inst/sysreqs/rules/gsl.json b/inst/sysreqs/rules/gsl.json index f968120d..8e589436 100644 --- a/inst/sysreqs/rules/gsl.json +++ b/inst/sysreqs/rules/gsl.json @@ -71,6 +71,15 @@ } ] }, + { + "packages": ["gsl-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-gsl", diff --git a/inst/sysreqs/rules/gtk.json b/inst/sysreqs/rules/gtk.json index fdf4c113..9f75a10e 100644 --- a/inst/sysreqs/rules/gtk.json +++ b/inst/sysreqs/rules/gtk.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["gtk+2.0-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/harfbuzz.json b/inst/sysreqs/rules/harfbuzz.json index 02f6cce8..5d521f01 100644 --- a/inst/sysreqs/rules/harfbuzz.json +++ b/inst/sysreqs/rules/harfbuzz.json @@ -38,6 +38,15 @@ "distribution": "fedora" } ] + }, + { + "packages": ["harfbuzz-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/haveged.json b/inst/sysreqs/rules/haveged.json index 1e87ec54..29c283de 100644 --- a/inst/sysreqs/rules/haveged.json +++ b/inst/sysreqs/rules/haveged.json @@ -127,6 +127,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["haveged-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/hdf5.json b/inst/sysreqs/rules/hdf5.json index c2170b52..2e2549b5 100644 --- a/inst/sysreqs/rules/hdf5.json +++ b/inst/sysreqs/rules/hdf5.json @@ -129,6 +129,15 @@ } ] }, + { + "packages": ["hdf5-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-hdf5", diff --git a/inst/sysreqs/rules/hiredis.json b/inst/sysreqs/rules/hiredis.json index 68bb8548..8a5d387a 100644 --- a/inst/sysreqs/rules/hiredis.json +++ b/inst/sysreqs/rules/hiredis.json @@ -108,6 +108,15 @@ "distribution": "opensuse" } ] + }, + { + "packages": ["hiredis-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/imagemagick.json b/inst/sysreqs/rules/imagemagick.json index 5d2806a1..f0431f9c 100644 --- a/inst/sysreqs/rules/imagemagick.json +++ b/inst/sysreqs/rules/imagemagick.json @@ -105,6 +105,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["imagemagick-dev", "imagemagick-c++"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/java.json b/inst/sysreqs/rules/java.json index 981fdac0..928afd29 100644 --- a/inst/sysreqs/rules/java.json +++ b/inst/sysreqs/rules/java.json @@ -90,12 +90,21 @@ { "os": "linux", "distribution": "opensuse", - "versions": ["15.4"] + "versions": ["15.4", "15.5", "15.6"] }, { "os": "linux", "distribution": "sle", - "versions": ["15.4"] + "versions": ["15.4", "15.5", "15.6"] + } + ] + }, + { + "packages": ["java-jdk"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" } ] } diff --git a/inst/sysreqs/rules/latex.json b/inst/sysreqs/rules/latex.json index 68939662..83c97b1d 100644 --- a/inst/sysreqs/rules/latex.json +++ b/inst/sysreqs/rules/latex.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["texlive"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/leptonica.json b/inst/sysreqs/rules/leptonica.json index 4d74f31f..99f4109e 100644 --- a/inst/sysreqs/rules/leptonica.json +++ b/inst/sysreqs/rules/leptonica.json @@ -112,6 +112,15 @@ } ] }, + { + "packages": ["leptonica-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-leptonica", diff --git a/inst/sysreqs/rules/libarchive.json b/inst/sysreqs/rules/libarchive.json index 41cbf407..ce874bb9 100644 --- a/inst/sysreqs/rules/libarchive.json +++ b/inst/sysreqs/rules/libarchive.json @@ -106,6 +106,15 @@ } ] }, + { + "packages": ["libarchive-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-libarchive", diff --git a/inst/sysreqs/rules/libavfilter.json b/inst/sysreqs/rules/libavfilter.json index 07c68a68..c4e18aa9 100644 --- a/inst/sysreqs/rules/libavfilter.json +++ b/inst/sysreqs/rules/libavfilter.json @@ -97,7 +97,7 @@ }, { "pre_install": [ - { "command": "subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms" }, + { "command": "subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms" }, { "command": "dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm" }, { "command": "dnf install -y --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm" } ], @@ -122,6 +122,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["ffmpeg-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/libbsd.json b/inst/sysreqs/rules/libbsd.json index deb12e8f..2f3f9cd1 100644 --- a/inst/sysreqs/rules/libbsd.json +++ b/inst/sysreqs/rules/libbsd.json @@ -123,6 +123,15 @@ "distribution": "opensuse" } ] + }, + { + "packages": ["libbsd-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/libcurl.json b/inst/sysreqs/rules/libcurl.json index 20665811..35bffa54 100644 --- a/inst/sysreqs/rules/libcurl.json +++ b/inst/sysreqs/rules/libcurl.json @@ -3,6 +3,7 @@ "dependencies": [ { "packages": ["libcurl4-openssl-dev"], + "apt_satisfy": ["libcurl4-openssl-dev | libcurl4-dev"], "constraints": [ { "os": "linux", @@ -48,6 +49,15 @@ } ] }, + { + "packages": ["curl-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-curl", diff --git a/inst/sysreqs/rules/libgit2.json b/inst/sysreqs/rules/libgit2.json index 3ebd91ed..6fb265a1 100644 --- a/inst/sysreqs/rules/libgit2.json +++ b/inst/sysreqs/rules/libgit2.json @@ -22,7 +22,7 @@ { "os": "linux", "distribution": "ubuntu", - "versions": ["20.04", "22.04"] + "versions": ["20.04", "22.04", "24.04"] }, { "os": "linux", @@ -114,7 +114,7 @@ { "pre_install": [ { - "command": "subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms" + "command": "subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms" } ], "packages": ["libgit2-devel"], @@ -149,7 +149,7 @@ { "os": "linux", "distribution": "sle", - "versions": ["15.0", "15.2", "15.3", "15.4"] + "versions": ["15.0", "15.2", "15.3", "15.4", "15.5", "15.6"] } ] }, @@ -162,6 +162,15 @@ "versions": ["12.3"] } ] + }, + { + "packages": ["libgit2-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/libicu.json b/inst/sysreqs/rules/libicu.json index 4d599fea..fb292543 100644 --- a/inst/sysreqs/rules/libicu.json +++ b/inst/sysreqs/rules/libicu.json @@ -66,12 +66,27 @@ { "os": "linux", "distribution": "opensuse", - "versions": ["15.3", "15.4"] + "versions": ["15.3", "15.4", "15.5"] }, { "os": "linux", "distribution": "sle", - "versions": ["15.3", "15.4"] + "versions": ["15.3", "15.4", "15.5"] + } + ] + }, + { + "packages": ["libicu73_2-devel"], + "constraints": [ + { + "os": "linux", + "distribution": "opensuse", + "versions": ["15.6"] + }, + { + "os": "linux", + "distribution": "sle", + "versions": ["15.6"] } ] }, @@ -85,6 +100,15 @@ "os": "windows" } ] + }, + { + "packages": ["icu-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/libjpeg.json b/inst/sysreqs/rules/libjpeg.json index afd31915..5a3c2164 100644 --- a/inst/sysreqs/rules/libjpeg.json +++ b/inst/sysreqs/rules/libjpeg.json @@ -48,6 +48,15 @@ } ] }, + { + "packages": ["jpeg-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-libjpeg", diff --git a/inst/sysreqs/rules/libjq.json b/inst/sysreqs/rules/libjq.json index 382a81f1..18d66a53 100644 --- a/inst/sysreqs/rules/libjq.json +++ b/inst/sysreqs/rules/libjq.json @@ -101,6 +101,15 @@ "distribution": "opensuse" } ] + }, + { + "packages": ["jq-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/libmagic.json b/inst/sysreqs/rules/libmagic.json index 122a8fe1..ef7643df 100644 --- a/inst/sysreqs/rules/libmagic.json +++ b/inst/sysreqs/rules/libmagic.json @@ -100,6 +100,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["file-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/libmysqlclient.json b/inst/sysreqs/rules/libmysqlclient.json index 129a97ad..873d8021 100644 --- a/inst/sysreqs/rules/libmysqlclient.json +++ b/inst/sysreqs/rules/libmysqlclient.json @@ -100,12 +100,21 @@ { "os": "linux", "distribution": "opensuse", - "versions": ["15.0", "15.2", "15.3", "15.4"] + "versions": ["15.0", "15.2", "15.3", "15.4", "15.5", "15.6"] }, { "os": "linux", "distribution": "sle", - "versions": ["15.0", "15.2", "15.3", "15.4"] + "versions": ["15.0", "15.2", "15.3", "15.4", "15.5", "15.6"] + } + ] + }, + { + "packages": ["mariadb-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" } ] } diff --git a/inst/sysreqs/rules/libpng.json b/inst/sysreqs/rules/libpng.json index 2a876f89..3d14b458 100644 --- a/inst/sysreqs/rules/libpng.json +++ b/inst/sysreqs/rules/libpng.json @@ -58,6 +58,15 @@ "os": "windows" } ] + }, + { + "packages": ["libpng-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/libprotobuf.json b/inst/sysreqs/rules/libprotobuf.json index b45ec3a6..b347393c 100644 --- a/inst/sysreqs/rules/libprotobuf.json +++ b/inst/sysreqs/rules/libprotobuf.json @@ -124,6 +124,15 @@ } ] }, + { + "packages": ["protobuf-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-protobuf", diff --git a/inst/sysreqs/rules/librsvg2.json b/inst/sysreqs/rules/librsvg2.json index 52b735b0..10abc822 100644 --- a/inst/sysreqs/rules/librsvg2.json +++ b/inst/sysreqs/rules/librsvg2.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["librsvg-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/libsecret.json b/inst/sysreqs/rules/libsecret.json index 7ecb4fbf..c67e1a77 100644 --- a/inst/sysreqs/rules/libsecret.json +++ b/inst/sysreqs/rules/libsecret.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["libsecret-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/libsndfile.json b/inst/sysreqs/rules/libsndfile.json index 94be022e..d37797ed 100644 --- a/inst/sysreqs/rules/libsndfile.json +++ b/inst/sysreqs/rules/libsndfile.json @@ -95,6 +95,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["libsndfile-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/libsodium.json b/inst/sysreqs/rules/libsodium.json index 332ab761..ff435d24 100644 --- a/inst/sysreqs/rules/libsodium.json +++ b/inst/sysreqs/rules/libsodium.json @@ -123,6 +123,15 @@ "distribution": "opensuse" } ] + }, + { + "packages": ["libsodium-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/libssh.json b/inst/sysreqs/rules/libssh.json new file mode 100644 index 00000000..5c6f007c --- /dev/null +++ b/inst/sysreqs/rules/libssh.json @@ -0,0 +1,105 @@ +{ + "patterns": ["\\blibssh\\b"], + "dependencies": [ + { + "packages": ["libssh-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "ubuntu" + }, + { + "os": "linux", + "distribution": "debian" + } + ] + }, + { + "packages": ["libssh-devel"], + "constraints": [ + { + "os": "linux", + "distribution": "fedora" + } + ] + }, + { + "packages": ["libssh-devel"], + "constraints": [ + { + "os": "linux", + "distribution": "centos", + "versions": ["6", "7"] + } + ] + }, + { + "packages": ["libssh-devel"], + "pre_install": [ + { "command": "dnf install -y epel-release" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "rockylinux" + } + ] + }, + { + "packages": ["libssh"], + "constraints": [ + { + "os": "linux", + "distribution": "redhat", + "versions": ["7", "8"] + } + ] + }, + { + "packages": ["libssh-devel"], + "pre_install": [ + { "command": "dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "redhat", + "versions": ["9"] + } + ] + }, + { + "packages": ["libssh-devel"], + "constraints": [ + { + "os": "linux", + "distribution": "opensuse" + }, + { + "os": "linux", + "distribution": "sle" + } + ] + }, + { + "packages": ["libssh-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, + { + "packages": [ + "mingw-w64-x86_64-libssh", + "mingw-w64-i686-libssh" + ], + "constraints": [ + { + "os": "windows" + } + ] + } + ] +} diff --git a/inst/sysreqs/rules/libssh2.json b/inst/sysreqs/rules/libssh2.json index 4f99f458..005c2eb8 100644 --- a/inst/sysreqs/rules/libssh2.json +++ b/inst/sysreqs/rules/libssh2.json @@ -81,6 +81,15 @@ } ] }, + { + "packages": ["libssh2-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-libssh2", diff --git a/inst/sysreqs/rules/libtiff.json b/inst/sysreqs/rules/libtiff.json index f3eb62c6..44166024 100644 --- a/inst/sysreqs/rules/libtiff.json +++ b/inst/sysreqs/rules/libtiff.json @@ -48,6 +48,15 @@ } ] }, + { + "packages": ["tiff-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-libtiff", diff --git a/inst/sysreqs/rules/libtool.json b/inst/sysreqs/rules/libtool.json new file mode 100644 index 00000000..dabdba9d --- /dev/null +++ b/inst/sysreqs/rules/libtool.json @@ -0,0 +1,61 @@ +{ + "patterns": ["\\blibtool\\b"], + "dependencies": [ + { + "packages": ["libtool"], + "constraints": [ + { + "os": "linux", + "distribution": "ubuntu" + }, + { + "os": "linux", + "distribution": "debian" + } + ] + }, + { + "packages": ["libtool"], + "constraints": [ + { + "os": "linux", + "distribution": "centos" + }, + { + "os": "linux", + "distribution": "rockylinux" + }, + { + "os": "linux", + "distribution": "redhat" + }, + { + "os": "linux", + "distribution": "fedora" + } + ] + }, + { + "packages": ["libtool"], + "constraints": [ + { + "os": "linux", + "distribution": "opensuse" + }, + { + "os": "linux", + "distribution": "sle" + } + ] + }, + { + "packages": ["libtool"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + } + ] +} diff --git a/inst/sysreqs/rules/libwebp.json b/inst/sysreqs/rules/libwebp.json index 2fe0a19b..b7f38736 100644 --- a/inst/sysreqs/rules/libwebp.json +++ b/inst/sysreqs/rules/libwebp.json @@ -99,6 +99,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["libwebp-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/libxml2.json b/inst/sysreqs/rules/libxml2.json index 0d9a65de..9150e907 100644 --- a/inst/sysreqs/rules/libxml2.json +++ b/inst/sysreqs/rules/libxml2.json @@ -48,6 +48,15 @@ } ] }, + { + "packages": ["libxml2-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-libxml2", diff --git a/inst/sysreqs/rules/libxslt.json b/inst/sysreqs/rules/libxslt.json index 4d6db623..11b932bf 100644 --- a/inst/sysreqs/rules/libxslt.json +++ b/inst/sysreqs/rules/libxslt.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["libxslt-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/libzstd.json b/inst/sysreqs/rules/libzstd.json new file mode 100644 index 00000000..544939ef --- /dev/null +++ b/inst/sysreqs/rules/libzstd.json @@ -0,0 +1,83 @@ +{ + "patterns": ["\\blibzstd\\b"], + "dependencies": [ + { + "packages": ["libzstd-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "ubuntu" + }, + { + "os": "linux", + "distribution": "debian" + } + ] + }, + { + "pre_install": [ + { + "command": "rpm -q epel-release || yum install -y epel-release" + } + ], + "packages": [ "libzstd-devel" ], + "constraints": [ + { + "os": "linux", + "distribution": "centos", + "versions": [ "7"] + } + ] + }, + { + "packages": ["libzstd-devel"], + "pre_install": [ + { + "command": "rpm -q epel-release || yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm" + } + ], + "constraints": [ + { + "os": "linux", + "distribution": "redhat", + "versions": ["7"] + } + ] + }, + { + "packages": ["libzstd-devel"], + "constraints": [ + { + "os": "linux", + "distribution": "rockylinux" + }, + { + "os": "linux", + "distribution": "redhat", + "versions": [ "8", "9" ] + }, + { + "os": "linux", + "distribution": "fedora" + }, + { + "os": "linux", + "distribution": "opensuse" + }, + { + "os": "linux", + "distribution": "sle" + } + ] + }, + { + "packages": ["zstd-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + } + ] +} diff --git a/inst/sysreqs/rules/mongodb.json b/inst/sysreqs/rules/mongodb.json index 72748f19..a821da66 100644 --- a/inst/sysreqs/rules/mongodb.json +++ b/inst/sysreqs/rules/mongodb.json @@ -50,6 +50,15 @@ "versions": ["42.3"] } ] + }, + { + "packages": ["mongodb-tools"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/mpfr.json b/inst/sysreqs/rules/mpfr.json index 2f1cbb16..9beb2107 100644 --- a/inst/sysreqs/rules/mpfr.json +++ b/inst/sysreqs/rules/mpfr.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["mpfr-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/mysql.json b/inst/sysreqs/rules/mysql.json index db3b0634..d8961086 100644 --- a/inst/sysreqs/rules/mysql.json +++ b/inst/sysreqs/rules/mysql.json @@ -69,6 +69,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["mariadb"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/netcdf4.json b/inst/sysreqs/rules/netcdf4.json index 60cdf220..ae15ef9b 100644 --- a/inst/sysreqs/rules/netcdf4.json +++ b/inst/sysreqs/rules/netcdf4.json @@ -133,6 +133,15 @@ "versions": ["12.3"] } ] + }, + { + "packages": ["netcdf-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/odbc.json b/inst/sysreqs/rules/odbc.json index ee0ffe1a..2e466a7b 100644 --- a/inst/sysreqs/rules/odbc.json +++ b/inst/sysreqs/rules/odbc.json @@ -70,6 +70,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["unixodbc-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/openbabel.json b/inst/sysreqs/rules/openbabel.json new file mode 100644 index 00000000..1dc08fcd --- /dev/null +++ b/inst/sysreqs/rules/openbabel.json @@ -0,0 +1,108 @@ +{ + "patterns": ["\\bopenbabel\\b"], + "dependencies": [ + { + "packages": ["libopenbabel-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "ubuntu" + }, + { + "os": "linux", + "distribution": "debian" + } + ] + }, + { + "packages": ["openbabel-devel"], + "constraints": [ + { + "os": "linux", + "distribution": "fedora" + }, + { + "os": "linux", + "distribution": "opensuse" + }, + { + "os": "linux", + "distribution": "sle" + } + ] + }, + { + "packages": ["openbabel-devel"], + "pre_install": [ + { + "command": "yum install -y epel-release" + } + ], + "constraints": [ + { + "os": "linux", + "distribution": "centos", + "versions": ["7"] + } + ] + }, + { + "packages": ["openbabel-devel"], + "pre_install": [ + { + "command": "rpm -q epel-release || yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm" + } + ], + "constraints": [ + { + "os": "linux", + "distribution": "redhat", + "versions": ["7"] + } + ] + }, + { + "packages": ["openbabel-devel"], + "pre_install": [ + { "command": "dnf install -y epel-release" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "centos", + "versions": ["8"] + }, + { + "os": "linux", + "distribution": "rockylinux" + } + ] + }, + { + "packages": ["openbabel-devel"], + "pre_install": [ + { "command": "dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "redhat", + "versions": ["8"] + } + ] + }, + { + "packages": ["openbabel-devel"], + "pre_install": [ + { "command": "dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "redhat", + "versions": ["9"] + } + ] + } + ] +} diff --git a/inst/sysreqs/rules/opencl.json b/inst/sysreqs/rules/opencl.json index a9af43bc..b1d23ad3 100644 --- a/inst/sysreqs/rules/opencl.json +++ b/inst/sysreqs/rules/opencl.json @@ -104,6 +104,16 @@ "distribution": "opensuse" } ] + }, + { + "packages": ["opencl-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine", + "versions": [ "3.16", "3.17", "3.18", "3.19", "3.20", "edge" ] + } + ] } ] } diff --git a/inst/sysreqs/rules/opencv.json b/inst/sysreqs/rules/opencv.json index 8fdde5d9..4db7c90d 100644 --- a/inst/sysreqs/rules/opencv.json +++ b/inst/sysreqs/rules/opencv.json @@ -75,7 +75,7 @@ }, { "pre_install": [ - { "command": "subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms" }, + { "command": "subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms" }, { "command": "dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm" } ], "packages": ["opencv-devel"], @@ -114,6 +114,15 @@ "versions": ["9"] } ] + }, + { + "packages": ["opencv-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/opengl.json b/inst/sysreqs/rules/opengl.json index 307ec386..20d0b1da 100644 --- a/inst/sysreqs/rules/opengl.json +++ b/inst/sysreqs/rules/opengl.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["mesa-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/openmpi.json b/inst/sysreqs/rules/openmpi.json index b8d1fc72..3b67d6cd 100644 --- a/inst/sysreqs/rules/openmpi.json +++ b/inst/sysreqs/rules/openmpi.json @@ -64,6 +64,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["openmpi-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/openssl.json b/inst/sysreqs/rules/openssl.json index cb8c49fa..baf71c04 100644 --- a/inst/sysreqs/rules/openssl.json +++ b/inst/sysreqs/rules/openssl.json @@ -48,6 +48,15 @@ } ] }, + { + "packages": ["openssl-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-openssl", diff --git a/inst/sysreqs/rules/pandoc-citeproc.json b/inst/sysreqs/rules/pandoc-citeproc.json index 0604d0c1..56f0d35c 100644 --- a/inst/sysreqs/rules/pandoc-citeproc.json +++ b/inst/sysreqs/rules/pandoc-citeproc.json @@ -6,7 +6,8 @@ "constraints": [ { "os": "linux", - "distribution": "ubuntu" + "distribution": "ubuntu", + "versions": ["14.04", "16.04", "18.04", "20.04", "22.04"] }, { "os": "linux", diff --git a/inst/sysreqs/rules/pandoc.json b/inst/sysreqs/rules/pandoc.json index 575b27b2..3c2455e1 100644 --- a/inst/sysreqs/rules/pandoc.json +++ b/inst/sysreqs/rules/pandoc.json @@ -90,6 +90,26 @@ "distribution": "opensuse" } ] + }, + { + "packages": ["pandoc"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine", + "versions": ["3.17"] + } + ] + }, + { + "packages": ["pandoc-cli"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine", + "versions": ["3.18"] + } + ] } ] } diff --git a/inst/sysreqs/rules/pango.json b/inst/sysreqs/rules/pango.json index 18b69fb2..f67dd3d6 100644 --- a/inst/sysreqs/rules/pango.json +++ b/inst/sysreqs/rules/pango.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["pango-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/perl.json b/inst/sysreqs/rules/perl.json index d5f8794d..b91ddf9f 100644 --- a/inst/sysreqs/rules/perl.json +++ b/inst/sysreqs/rules/perl.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["perl"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/pkg-config.json b/inst/sysreqs/rules/pkg-config.json index 80b0dd33..0ce19622 100644 --- a/inst/sysreqs/rules/pkg-config.json +++ b/inst/sysreqs/rules/pkg-config.json @@ -64,6 +64,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["pkgconf"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/poppler.json b/inst/sysreqs/rules/poppler.json index 62610e9f..f6092331 100644 --- a/inst/sysreqs/rules/poppler.json +++ b/inst/sysreqs/rules/poppler.json @@ -63,7 +63,7 @@ { "packages": ["poppler-cpp-devel"], "pre_install": [ - { "command": "subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms" } + { "command": "subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms" } ], "constraints": [ { @@ -98,6 +98,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["poppler-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/postgresql.json b/inst/sysreqs/rules/postgresql.json index a94a9896..1a0e65cf 100644 --- a/inst/sysreqs/rules/postgresql.json +++ b/inst/sysreqs/rules/postgresql.json @@ -30,7 +30,7 @@ ] }, { - "packages": ["postgresql-server-devel"], + "packages": ["libpq-devel"], "constraints": [ { "os": "linux", @@ -40,55 +40,42 @@ { "os": "linux", "distribution": "redhat", - "versions": ["8"] + "versions": ["8", "9"] }, { "os": "linux", - "distribution": "fedora" - } - ] - }, - { - "packages": ["postgresql-server-devel"], - "pre_install": [ - { "command": "dnf install -y dnf-plugins-core" }, - { "command": "dnf config-manager --set-enabled crb" } - ], - "constraints": [ + "distribution": "rockylinux" + }, { "os": "linux", - "distribution": "rockylinux" + "distribution": "fedora" } ] }, { - "packages": ["postgresql-server-devel"], - "pre_install": [ - { "command": "subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms" } - ], + "packages": ["postgresql-devel"], "constraints": [ { "os": "linux", - "distribution": "redhat", - "versions": ["9"] + "distribution": "opensuse" } ] }, { - "packages": ["postgresql-devel"], + "packages": ["postgresql10-devel"], "constraints": [ { "os": "linux", - "distribution": "opensuse" + "distribution": "sle" } ] }, { - "packages": ["postgresql10-devel"], + "packages": ["libpq-dev"], "constraints": [ { "os": "linux", - "distribution": "sle" + "distribution": "alpine" } ] }, diff --git a/inst/sysreqs/rules/proj.json b/inst/sysreqs/rules/proj.json index 07c40d39..655fb93b 100644 --- a/inst/sysreqs/rules/proj.json +++ b/inst/sysreqs/rules/proj.json @@ -131,7 +131,7 @@ { "os": "linux", "distribution": "opensuse", - "versions": ["15.2", "15.3", "15.4"] + "versions": ["15.2", "15.3", "15.4", "15.5", "15.6"] } ] }, @@ -152,6 +152,15 @@ "versions": ["12.3"] } ] + }, + { + "packages": ["proj-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/protobuf-compiler.json b/inst/sysreqs/rules/protobuf-compiler.json index 34d6308f..fb3b3950 100644 --- a/inst/sysreqs/rules/protobuf-compiler.json +++ b/inst/sysreqs/rules/protobuf-compiler.json @@ -2,7 +2,7 @@ "patterns": ["\\bprotobuf-compiler\\b"], "dependencies": [ { - "packages": ["protobuf-compiler"], + "packages": ["protobuf-compiler", "libprotoc-dev"], "constraints": [ { "os": "linux", @@ -115,6 +115,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["protobuf-c-compiler"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/protobuf-grpc.json b/inst/sysreqs/rules/protobuf-grpc.json new file mode 100644 index 00000000..9e25ad9f --- /dev/null +++ b/inst/sysreqs/rules/protobuf-grpc.json @@ -0,0 +1,88 @@ +{ + "patterns": ["\\bgrpc/protobuf\\b"], + "dependencies": [ + { + "packages": ["protobuf-compiler-grpc"], + "constraints": [ + { + "os": "linux", + "distribution": "ubuntu" + }, + { + "os": "linux", + "distribution": "debian" + } + ] + }, + { + "packages": ["grpc-plugins"], + "constraints": [ + { + "os": "linux", + "distribution": "fedora" + } + ] + }, + { + "pre_install": [ + { "command": "yum install -y epel-release" }, + { "command": "dnf install -y dnf-plugins-core" }, + { "command": "dnf config-manager --set-enabled crb" } + ], + "packages": ["grpc-plugins"], + "constraints": [ + { + "os": "linux", + "distribution": "rockylinux", + "versions": ["9"] + } + ] + }, + { + "packages": ["grpc-devel"], + "constraints": [ + { + "os": "linux", + "distribution": "opensuse" + }, + { + "os": "linux", + "distribution": "sle" + } + ] + }, + { + "packages": ["grpc-plugins"], + "pre_install": [ + { "command": "subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms" } + ], + "constraints": [ + { + "os": "linux", + "distribution": "redhat", + "versions": ["9"] + } + ] + }, + { + "packages": ["grpc-plugins"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine", + "versions": ["3.17", "3.18", "3.19", "3.20", "edge"] + } + ] + }, + { + "packages": ["grpc-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine", + "versions": ["3.16"] + } + ] + } + ] +} diff --git a/inst/sysreqs/rules/python.json b/inst/sysreqs/rules/python.json index 02034251..49b054b8 100644 --- a/inst/sysreqs/rules/python.json +++ b/inst/sysreqs/rules/python.json @@ -74,6 +74,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["python3"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/python3.json b/inst/sysreqs/rules/python3.json index c738b614..d95bd03c 100644 --- a/inst/sysreqs/rules/python3.json +++ b/inst/sysreqs/rules/python3.json @@ -105,6 +105,15 @@ } ] }, + { + "packages": ["python3"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-python3", diff --git a/inst/sysreqs/rules/redland.json b/inst/sysreqs/rules/redland.json index 0e9e2167..0237a8d5 100644 --- a/inst/sysreqs/rules/redland.json +++ b/inst/sysreqs/rules/redland.json @@ -91,6 +91,15 @@ } ] }, + { + "packages": ["redland-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-redland", diff --git a/inst/sysreqs/rules/rust.json b/inst/sysreqs/rules/rust.json index 0bc006e7..d1cac313 100644 --- a/inst/sysreqs/rules/rust.json +++ b/inst/sysreqs/rules/rust.json @@ -85,6 +85,15 @@ "distribution": "opensuse" } ] + }, + { + "packages": ["rust", "cargo"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/sasl.json b/inst/sysreqs/rules/sasl.json index 33da5b65..861a87d1 100644 --- a/inst/sysreqs/rules/sasl.json +++ b/inst/sysreqs/rules/sasl.json @@ -43,6 +43,15 @@ "distribution": "opensuse" } ] + }, + { + "packages": ["cyrus-sasl-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/sdl2.json b/inst/sysreqs/rules/sdl2.json new file mode 100644 index 00000000..9fb5e807 --- /dev/null +++ b/inst/sysreqs/rules/sdl2.json @@ -0,0 +1,135 @@ +{ + "patterns": [ + "\\bsdl2\\b" + ], + "dependencies": [ + { + "packages": [ + "libsdl2-dev" + ], + "constraints": [ + { + "os": "linux", + "distribution": "ubuntu" + }, + { + "os": "linux", + "distribution": "debian" + } + ] + }, + { + "packages": [ + "SDL2-devel" + ], + "constraints": [ + { + "os": "linux", + "distribution": "rockylinux" + }, + { + "os": "linux", + "distribution": "redhat" + }, + { + "os": "linux", + "distribution": "fedora" + }, + { + "os": "linux", + "distribution": "sle" + } + ] + }, + { + "pre_install": [ + { + "command": "yum install -y epel-release" + } + ], + "packages": [ + "SDL2-devel" + ], + "constraints": [ + { + "os": "linux", + "distribution": "centos", + "versions": [ + "6", + "7" + ] + } + ] + }, + { + "pre_install": [ + { + "command": "dnf install -y dnf-plugins-core" + }, + { + "command": "dnf config-manager --set-enabled powertools" + }, + { + "command": "dnf install -y epel-release" + } + ], + "packages": [ + "SDL2-devel" + ], + "constraints": [ + { + "os": "linux", + "distribution": "centos", + "versions": [ + "8" + ] + } + ] + }, + { + "packages": [ + "SDL2-devel" + ], + "constraints": [ + { + "os": "linux", + "distribution": "opensuse", + "versions": ["15.6"] + }, + { + "os": "linux", + "distribution": "sle", + "versions": ["15.6"] + } + ] + }, + { + "packages": [ + "libSDL2-devel" + ], + "constraints": [ + { + "os": "linux", + "distribution": "opensuse", + "versions": ["15.0", "15.2", "15.3", "15.4", "15.5"] + }, + { + "os": "linux", + "distribution": "sle", + "versions": ["15.0", "15.2", "15.3", "15.4", "15.5"] + } + ] + }, + { + "packages": [ + "sdl2-dev" + ], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + } + ] +} \ No newline at end of file diff --git a/inst/sysreqs/rules/sqlite3.json b/inst/sysreqs/rules/sqlite3.json index 468b9109..bc84bd60 100644 --- a/inst/sysreqs/rules/sqlite3.json +++ b/inst/sysreqs/rules/sqlite3.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["sqlite-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/suitesparse.json b/inst/sysreqs/rules/suitesparse.json index 67b14637..99189bc7 100644 --- a/inst/sysreqs/rules/suitesparse.json +++ b/inst/sysreqs/rules/suitesparse.json @@ -93,6 +93,15 @@ "versions": ["9"] } ] + }, + { + "packages": ["suitesparse-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/tcltk.json b/inst/sysreqs/rules/tcltk.json index fe478541..3c8303c1 100644 --- a/inst/sysreqs/rules/tcltk.json +++ b/inst/sysreqs/rules/tcltk.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["tcl", "tk"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/tesseract.json b/inst/sysreqs/rules/tesseract.json index 02741394..96af678c 100644 --- a/inst/sysreqs/rules/tesseract.json +++ b/inst/sysreqs/rules/tesseract.json @@ -114,6 +114,15 @@ "distribution": "opensuse" } ] + }, + { + "packages": ["tesseract-ocr-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/tk.json b/inst/sysreqs/rules/tk.json index 4c356819..09f05d34 100644 --- a/inst/sysreqs/rules/tk.json +++ b/inst/sysreqs/rules/tk.json @@ -48,6 +48,17 @@ "distribution": "fedora" } ] + }, + { + "packages": [ + "tk-dev" + ], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/udunits2.json b/inst/sysreqs/rules/udunits2.json index 8be4c864..c82c8fcd 100644 --- a/inst/sysreqs/rules/udunits2.json +++ b/inst/sysreqs/rules/udunits2.json @@ -114,6 +114,20 @@ "distribution": "rockylinux" } ] + }, + { + "packages": ["udunits-dev"], + "pre_install": [ + { + "command": "apk add udunits-dev --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community" + } + ], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/v8.json b/inst/sysreqs/rules/v8.json index 177ea274..0a2eca06 100644 --- a/inst/sysreqs/rules/v8.json +++ b/inst/sysreqs/rules/v8.json @@ -7,7 +7,7 @@ { "os": "linux", "distribution": "ubuntu", - "versions": ["20.04", "22.04"] + "versions": ["20.04", "22.04", "24.04"] }, { "os": "linux", diff --git a/inst/sysreqs/rules/wget.json b/inst/sysreqs/rules/wget.json index 5b32ddd0..70f986f9 100644 --- a/inst/sysreqs/rules/wget.json +++ b/inst/sysreqs/rules/wget.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["wget"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/xft.json b/inst/sysreqs/rules/xft.json index edd498ee..f35ea93a 100644 --- a/inst/sysreqs/rules/xft.json +++ b/inst/sysreqs/rules/xft.json @@ -47,6 +47,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["libxft-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/xz.json b/inst/sysreqs/rules/xz.json new file mode 100644 index 00000000..f4854401 --- /dev/null +++ b/inst/sysreqs/rules/xz.json @@ -0,0 +1,51 @@ +{ + "patterns": ["\\bxz\\b"], + "dependencies": [ + { + "packages": ["xz-utils"], + "constraints": [ + { + "os": "linux", + "distribution": "ubuntu" + }, + { + "os": "linux", + "distribution": "debian" + } + ] + }, + { + "packages": ["xz"], + "constraints": [ + { + "os": "linux", + "distribution": "centos" + }, + { + "os": "linux", + "distribution": "rockylinux" + }, + { + "os": "linux", + "distribution": "redhat" + }, + { + "os": "linux", + "distribution": "opensuse" + }, + { + "os": "linux", + "distribution": "sle" + }, + { + "os": "linux", + "distribution": "fedora" + }, + { + "os": "linux", + "distribution": "alpine" + } + ] + } + ] +} \ No newline at end of file diff --git a/inst/sysreqs/rules/zeromq.json b/inst/sysreqs/rules/zeromq.json index 21a52108..16ebe516 100644 --- a/inst/sysreqs/rules/zeromq.json +++ b/inst/sysreqs/rules/zeromq.json @@ -135,6 +135,15 @@ "distribution": "sle" } ] + }, + { + "packages": ["zeromq-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] } ] } diff --git a/inst/sysreqs/rules/zlib.json b/inst/sysreqs/rules/zlib.json index 74c752c9..f5f653a0 100644 --- a/inst/sysreqs/rules/zlib.json +++ b/inst/sysreqs/rules/zlib.json @@ -48,6 +48,15 @@ } ] }, + { + "packages": ["zlib-dev"], + "constraints": [ + { + "os": "linux", + "distribution": "alpine" + } + ] + }, { "packages": [ "mingw-w64-x86_64-zlib", From 39803c99d44f20b94c9c54bb65b9d05139c49d13 Mon Sep 17 00:00:00 2001 From: pat-s Date: Wed, 11 Sep 2024 09:34:14 +0200 Subject: [PATCH 2/7] add alpine support --- R/sysreqs2.R | 1 + R/system-packages.R | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/R/sysreqs2.R b/R/sysreqs2.R index c630329f..66df5fa8 100644 --- a/R/sysreqs2.R +++ b/R/sysreqs2.R @@ -21,6 +21,7 @@ sysreqs2_cmds <- utils::read.table( 'Fedora Linux' linux fedora * NA 'dnf install -y' rpm 'openSUSE Linux' linux opensuse * NA 'zypper --non-interactive install' rpm 'SUSE Linux Enterprise' linux sle * NA 'zypper --non-interactive install' rpm + 'Alpine Linux' linux alpine * NA 'apk add --no-cache' apk ")) find_sysreqs_platform <- function(sysreqs_platform = NULL) { diff --git a/R/system-packages.R b/R/system-packages.R index 434751c8..bc2abee9 100644 --- a/R/system-packages.R +++ b/R/system-packages.R @@ -5,6 +5,8 @@ async_system_list_packages <- function(config = NULL) { pkgtool <- sysreqs2_command(sysreqs_platform, "query") if (pkgtool == "dpkg-query") { async_system_list_packages_dpkg_query(config) + } else if (pkgtool == "apk") { + async_system_list_packages_apk(config) } else { async_system_list_packages_rpm(config) } @@ -124,3 +126,43 @@ parse_rpm_output <- function(lines) { pkgs <- pkgs[order(tolower(pkgs$package)), ] pkgs } + +# For APK, we need this query: + +async_system_list_packages_apk <- function(config) { + args <- c( + "list", + "-I" + ) + stdout <- tempfile() + external_process(function(...) { + processx::process$new( + "apk", + stdout = stdout, + stderr = stdout, + args = args, + ... + ) + })$ + then(function(ret) { + parse_apk_output(strsplit(ret$stdout, "\n")[[1]]) + })$ + finally(function() unlink(stdout)) +} + +parse_apk_output <- function(lines) { + + package = sub("-[0-9].*", "", lines) + version = sub(".*?-([0-9][^ ]*).*", "\\1", lines) + provides = "" + + pkgs <- data_frame( + status = "ii", + package = package, + version = version, + provides = provides + ) + + pkgs <- pkgs[order(tolower(pkgs$package)), ] + pkgs +} \ No newline at end of file From bd772ce13f0a67643416e484d05f3d411d6567f1 Mon Sep 17 00:00:00 2001 From: pat-s Date: Wed, 11 Sep 2024 09:37:48 +0200 Subject: [PATCH 3/7] align HEAD --- inst/sysreqs/HEAD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/sysreqs/HEAD b/inst/sysreqs/HEAD index c014879e..eddde3f4 100644 --- a/inst/sysreqs/HEAD +++ b/inst/sysreqs/HEAD @@ -1 +1 @@ -cab2105ca4d2bdd111b37ef51f36f96aba16691f +bdbdad6b8ce837e306588bfb27ec185f1b9fab3a From 7775361ff9a15dd834052a14dd1f8d8fded68bfe Mon Sep 17 00:00:00 2001 From: pat-s Date: Wed, 11 Sep 2024 11:04:41 +0200 Subject: [PATCH 4/7] remove `--no-cache` --- R/sysreqs2.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/sysreqs2.R b/R/sysreqs2.R index 66df5fa8..1ca914bd 100644 --- a/R/sysreqs2.R +++ b/R/sysreqs2.R @@ -21,7 +21,7 @@ sysreqs2_cmds <- utils::read.table( 'Fedora Linux' linux fedora * NA 'dnf install -y' rpm 'openSUSE Linux' linux opensuse * NA 'zypper --non-interactive install' rpm 'SUSE Linux Enterprise' linux sle * NA 'zypper --non-interactive install' rpm - 'Alpine Linux' linux alpine * NA 'apk add --no-cache' apk + 'Alpine Linux' linux alpine * NA 'apk add' apk ")) find_sysreqs_platform <- function(sysreqs_platform = NULL) { From 774964de3ca2dc9aca809a72e19ad1753897f71f Mon Sep 17 00:00:00 2001 From: pat-s Date: Wed, 11 Sep 2024 11:07:55 +0200 Subject: [PATCH 5/7] update snapshot test --- tests/testthat/_snaps/sysreqs.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/testthat/_snaps/sysreqs.md b/tests/testthat/_snaps/sysreqs.md index 8dd67f53..66fcece4 100644 --- a/tests/testthat/_snaps/sysreqs.md +++ b/tests/testthat/_snaps/sysreqs.md @@ -3,7 +3,7 @@ Code sysreqs_platforms() Output - # A data frame: 10 x 7 + # A data frame: 11 x 7 name os distribution version update_command install_command query_command 1 Ubun~ linux ubuntu * apt-get -y up~ apt-get -y ins~ dpkg-query @@ -16,6 +16,7 @@ 8 Fedo~ linux fedora * dnf install -y rpm 9 open~ linux opensuse * zypper --non-i~ rpm 10 SUSE~ linux sle * zypper --non-i~ rpm + 11 Alpi~ linux alpine * apk add apk # sysreqs_db_list From 337e5998b37cd973dd9278593a6ebeb0b3c797c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Cs=C3=A1rdi?= Date: Wed, 11 Sep 2024 12:03:15 +0200 Subject: [PATCH 6/7] Revert "remove `--no-cache`" This reverts commit 7775361ff9a15dd834052a14dd1f8d8fded68bfe. --- R/sysreqs2.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/sysreqs2.R b/R/sysreqs2.R index 1ca914bd..66df5fa8 100644 --- a/R/sysreqs2.R +++ b/R/sysreqs2.R @@ -21,7 +21,7 @@ sysreqs2_cmds <- utils::read.table( 'Fedora Linux' linux fedora * NA 'dnf install -y' rpm 'openSUSE Linux' linux opensuse * NA 'zypper --non-interactive install' rpm 'SUSE Linux Enterprise' linux sle * NA 'zypper --non-interactive install' rpm - 'Alpine Linux' linux alpine * NA 'apk add' apk + 'Alpine Linux' linux alpine * NA 'apk add --no-cache' apk ")) find_sysreqs_platform <- function(sysreqs_platform = NULL) { From b894789e1132fbd06305e8e5d72efc7e8501b3ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Cs=C3=A1rdi?= Date: Wed, 11 Sep 2024 12:04:05 +0200 Subject: [PATCH 7/7] Update snapshot test --- tests/testthat/_snaps/sysreqs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/_snaps/sysreqs.md b/tests/testthat/_snaps/sysreqs.md index 66fcece4..45ce5bbe 100644 --- a/tests/testthat/_snaps/sysreqs.md +++ b/tests/testthat/_snaps/sysreqs.md @@ -16,7 +16,7 @@ 8 Fedo~ linux fedora * dnf install -y rpm 9 open~ linux opensuse * zypper --non-i~ rpm 10 SUSE~ linux sle * zypper --non-i~ rpm - 11 Alpi~ linux alpine * apk add apk + 11 Alpi~ linux alpine * apk add --no-c~ apk # sysreqs_db_list