├── .Rbuildignore ├── .github ├── .gitignore ├── CODE_OF_CONDUCT.md └── workflows │ ├── R-CMD-check.yaml │ ├── pkgdown.yaml │ └── pr-commands.yaml ├── .gitignore ├── .vscode ├── extensions.json └── settings.json ├── DESCRIPTION ├── LICENSE ├── LICENSE.md ├── NAMESPACE ├── NEWS.md ├── R ├── aaa-rstudio-detect.R ├── assertions.R ├── assertthat.R ├── build.R ├── builder.R ├── cleancall.R ├── compat-vctrs.R ├── config.R ├── dep-utils.R ├── docs.R ├── download-progress-bar.R ├── download.R ├── errors.R ├── files.R ├── find-package-root.R ├── gh-app.R ├── gh-mirror.R ├── gh-releases.R ├── gh-repo.R ├── ghcr.R ├── git-app.R ├── git-auth.R ├── git-protocol.R ├── git-submodules.R ├── install-binary.R ├── install-plan.R ├── install-progress-bar.R ├── install-tar.R ├── install-utils.R ├── install-verify-binary.R ├── install-zip.R ├── integrity.R ├── iso-date.R ├── name-check.R ├── onload.R ├── parse-remotes.R ├── pkg-dependencies.R ├── pkg-downloads.R ├── pkg-installation.R ├── pkg-lockfile.R ├── pkg-plan.R ├── pkgdepends-errors.R ├── pkgdepends.R ├── platform.R ├── print.R ├── progress-bars.R ├── rematch2.R ├── repo.R ├── resolution-df.R ├── resolution-progress-bar.R ├── resolution.R ├── rstudio-detect.R ├── rx.R ├── satisfies.R ├── scan-deps-dep-types.R ├── scan-deps-print.R ├── scan-deps-queries.R ├── scan-deps.R ├── sizes.R ├── snapshot.R ├── solve.R ├── sysreqs.R ├── sysreqs2.R ├── sysreqsdocs.R ├── system-packages.R ├── time.R ├── tojson.R ├── tree-sitter.R ├── tree.R ├── type-any.R ├── type-bioc.R ├── type-cran.R ├── type-deps.R ├── type-git.R ├── type-github.R ├── type-gitlab.R ├── type-installed.R ├── type-local.R ├── type-param.R ├── type-standard.R ├── type-url.R ├── type.R ├── utils.R ├── valid-name.R ├── versions.R ├── withr.R └── zzz-pkgdepends-config.R ├── README.Rmd ├── README.md ├── _pkgdown.yml ├── air.toml ├── cleanup ├── configure ├── configure.win ├── inst ├── WORDLIST ├── docs │ ├── deps.rds │ ├── download-result.rds │ ├── lib-status-return.rds │ ├── pak-config-docs.rds │ ├── pkg-refs.rds │ └── resolution-result.rds ├── exdata │ └── biocpackages.rds ├── sysreqs │ ├── HEAD │ ├── VERSION │ └── rules │ │ ├── QuantLib.json │ │ ├── apparmor.json │ │ ├── atk.json │ │ ├── automake.json │ │ ├── berkeleydb.json │ │ ├── blender.json │ │ ├── boost.json │ │ ├── bowtie2.json │ │ ├── bwidget.json │ │ ├── cairo.json │ │ ├── chrome.json │ │ ├── cmake.json │ │ ├── coin-or-clp.json │ │ ├── coinor-symphony.json │ │ ├── cuda.json │ │ ├── dcraw.json │ │ ├── eigen.json │ │ ├── exiftool.json │ │ ├── fftw3.json │ │ ├── flint.json │ │ ├── fluidsynth.json │ │ ├── fontconfig.json │ │ ├── freetype.json │ │ ├── fribidi.json │ │ ├── gdal.json │ │ ├── geos.json │ │ ├── ggobi.json │ │ ├── git.json │ │ ├── glib.json │ │ ├── glpk.json │ │ ├── glu.json │ │ ├── gmp.json │ │ ├── gnumake.json │ │ ├── gpgme.json │ │ ├── grpcpp.json │ │ ├── gsl.json │ │ ├── gtk.json │ │ ├── harfbuzz.json │ │ ├── haveged.json │ │ ├── hdf5.json │ │ ├── hiredis.json │ │ ├── imagej.json │ │ ├── imagemagick.json │ │ ├── jags.json │ │ ├── java.json │ │ ├── latex.json │ │ ├── leptonica.json │ │ ├── libarchive.json │ │ ├── libavfilter.json │ │ ├── libbsd.json │ │ ├── libbz2.json │ │ ├── libcurl.json │ │ ├── libgit2.json │ │ ├── libicu.json │ │ ├── libjpeg.json │ │ ├── libjq.json │ │ ├── liblzma.json │ │ ├── libmagic.json │ │ ├── libmecab.json │ │ ├── libmysqlclient.json │ │ ├── libpng.json │ │ ├── libprotobuf.json │ │ ├── librsvg2.json │ │ ├── libsecret.json │ │ ├── libsndfile.json │ │ ├── libsodium.json │ │ ├── libssh.json │ │ ├── libssh2.json │ │ ├── libtiff.json │ │ ├── libtool.json │ │ ├── libwebp.json │ │ ├── libxml2.json │ │ ├── libxslt.json │ │ ├── libzstd.json │ │ ├── mongodb.json │ │ ├── mpfr.json │ │ ├── mysql.json │ │ ├── netcdf4.json │ │ ├── nlopt.json │ │ ├── odbc.json │ │ ├── openbabel.json │ │ ├── opencl.json │ │ ├── opencv.json │ │ ├── opengl.json │ │ ├── openmpi.json │ │ ├── openmpt.json │ │ ├── openssl.json │ │ ├── osmium-tool.json │ │ ├── pandoc-citeproc.json │ │ ├── pandoc.json │ │ ├── pango.json │ │ ├── pari-gp.json │ │ ├── patch.json │ │ ├── perl.json │ │ ├── pkg-config.json │ │ ├── poppler-glib.json │ │ ├── poppler.json │ │ ├── postgresql.json │ │ ├── proj.json │ │ ├── protobuf-compiler.json │ │ ├── protobuf-grpc.json │ │ ├── python.json │ │ ├── python3.json │ │ ├── qgis.json │ │ ├── redland.json │ │ ├── rust.json │ │ ├── saga.json │ │ ├── saint.json │ │ ├── sasl.json │ │ ├── sdl2.json │ │ ├── sqlite3.json │ │ ├── suitesparse.json │ │ ├── swftools.json │ │ ├── tcltk.json │ │ ├── tesseract.json │ │ ├── tk.json │ │ ├── tktable.json │ │ ├── udunits2.json │ │ ├── v8.json │ │ ├── wget.json │ │ ├── x11.json │ │ ├── xft.json │ │ ├── xz.json │ │ ├── zeromq.json │ │ └── zlib.json └── tools │ ├── pkg_1.0.0.tgz │ ├── xxx │ ├── xxx.bz2 │ ├── xxx.gz │ ├── xxx.tar.gz │ ├── xxx.xz │ └── xxx.zip ├── man ├── as_pkg_dependencies.Rd ├── config.Rd ├── default_platforms.Rd ├── figures │ └── README │ │ ├── deps-dark.svg │ │ ├── deps.svg │ │ ├── download-dark.svg │ │ ├── download.svg │ │ ├── install-dark.svg │ │ └── install.svg ├── ghr.Rd ├── ghrepo.Rd ├── git-protocol.Rd ├── git_download_file.Rd ├── git_fetch.Rd ├── git_list_files.Rd ├── git_list_refs.Rd ├── install_package_plan.Rd ├── install_plans.Rd ├── is_valid_package_name.Rd ├── lib_status.Rd ├── macros │ └── eval.Rd ├── parse_pkg_refs.Rd ├── pkg_build.Rd ├── pkg_config.Rd ├── pkg_dep_types.Rd ├── pkg_deps.Rd ├── pkg_download_proposal.Rd ├── pkg_downloads.Rd ├── pkg_installation_plan.Rd ├── pkg_installation_proposal.Rd ├── pkg_name_check.Rd ├── pkg_refs.Rd ├── pkg_resolution.Rd ├── pkg_rx.Rd ├── pkg_solution.Rd ├── pkgdepends-package.Rd ├── repo.Rd ├── roxygen │ └── meta.R ├── scan_deps.Rd ├── sysreqs_check_installed.Rd ├── sysreqs_db_list.Rd ├── sysreqs_db_match.Rd ├── sysreqs_db_update.Rd ├── sysreqs_install_plan.Rd ├── sysreqs_is_supported.Rd ├── sysreqs_list_system_packages.Rd └── sysreqs_platforms.Rd ├── pkgdepends.Rproj ├── src ├── .gitignore ├── Makevars ├── cleancall.c ├── cleancall.h ├── init.c ├── tree-sitter.c ├── tree-sitter │ ├── lib │ │ ├── include │ │ │ └── tree_sitter │ │ │ │ └── api.h │ │ └── src │ │ │ ├── alloc.c │ │ │ ├── alloc.h │ │ │ ├── array.h │ │ │ ├── atomic.h │ │ │ ├── clock.h │ │ │ ├── error_costs.h │ │ │ ├── get_changed_ranges.c │ │ │ ├── get_changed_ranges.h │ │ │ ├── host.h │ │ │ ├── language.c │ │ │ ├── language.h │ │ │ ├── length.h │ │ │ ├── lexer.c │ │ │ ├── lexer.h │ │ │ ├── lib.c │ │ │ ├── node.c │ │ │ ├── parser.c │ │ │ ├── parser.h │ │ │ ├── point.h │ │ │ ├── query.c │ │ │ ├── reduce_action.h │ │ │ ├── reusable_node.h │ │ │ ├── stack.c │ │ │ ├── stack.h │ │ │ ├── subtree.c │ │ │ ├── subtree.h │ │ │ ├── tree.c │ │ │ ├── tree.h │ │ │ ├── tree_cursor.c │ │ │ ├── tree_cursor.h │ │ │ ├── unicode.h │ │ │ ├── unicode │ │ │ ├── ICU_SHA │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── ptypes.h │ │ │ ├── umachine.h │ │ │ ├── urename.h │ │ │ ├── utf.h │ │ │ ├── utf16.h │ │ │ └── utf8.h │ │ │ ├── wasm │ │ │ ├── stdlib-symbols.txt │ │ │ ├── stdlib.c │ │ │ └── wasm-stdlib.h │ │ │ ├── wasm_store.c │ │ │ └── wasm_store.h │ ├── markdown-inline │ │ ├── grammar.json │ │ ├── node-types.json │ │ ├── parser.c │ │ ├── scanner.c │ │ └── tree_sitter │ │ │ ├── alloc.h │ │ │ ├── array.h │ │ │ └── parser.h │ ├── markdown │ │ ├── grammar.json │ │ ├── node-types.json │ │ ├── parser.c │ │ ├── scanner.c │ │ └── tree_sitter │ │ │ ├── alloc.h │ │ │ ├── array.h │ │ │ └── parser.h │ ├── r │ │ ├── grammar.json │ │ ├── node-types.json │ │ ├── parser.c │ │ ├── scanner.c │ │ └── tree_sitter │ │ │ ├── alloc.h │ │ │ ├── array.h │ │ │ └── parser.h │ └── yaml │ │ ├── grammar.json │ │ ├── node-types.json │ │ ├── parser.c │ │ ├── scanner.c │ │ ├── schema.core.c │ │ └── tree_sitter │ │ ├── alloc.h │ │ ├── array.h │ │ └── parser.h ├── yaml.c └── yaml │ ├── api.c │ ├── dumper.c │ ├── emitter.c │ ├── loader.c │ ├── parser.c │ ├── reader.c │ ├── scanner.c │ ├── writer.c │ ├── yaml.h │ └── yaml_private.h ├── tests ├── testthat.R └── testthat │ ├── _fixtures │ ├── 01ca05e7e503765b871858b0a893ae85.rds │ ├── 0468c02ed8cc959d7380ea172a55e336.rds │ ├── 13205944297f7f4f50e756b13397c0e5.rds │ ├── 1e01504bf366a3d1d8a30a1bbfe42923.rds │ ├── 4e90ad0d1fde0217f9683ea1f804af97.rds │ ├── 51e4c0280615fb2fc232bea02081489b.rds │ ├── 75e1ebbe71ff2fe03ab19fff1d668396.rds │ ├── 936aece313cdae39b02cde924e52eeb9.rds │ ├── 976e3d01a855e39ebd71c60482a1cac9.rds │ ├── aa4b0a131ad85ee937ac2fa09743c560.rds │ ├── c6ad8510dbbba26e1ee8e9e21bcee98f.rds │ ├── c9f7a9df91de392d775dbe895fbcbe9d.rds │ ├── e75a63f773735c1255b5fc8e3b40c83a.rds │ └── pkg-name-check.md │ ├── _snaps │ ├── assertions.md │ ├── assertthat.md │ ├── build.md │ ├── dep-utils.md │ ├── download-progress-bar.md │ ├── find-package-root.md │ ├── git-protocol.md │ ├── git-submodules.md │ ├── github-tools.md │ ├── install-binary.md │ ├── install-metadata.md │ ├── install-plan-errors.md │ ├── install-plan-parts.md │ ├── install-plan.md │ ├── install-tar.md │ ├── install-verify.md │ ├── install.md │ ├── new-r │ │ ├── type-bioc.md │ │ └── type-standard.md │ ├── old-r │ │ ├── type-bioc.md │ │ └── type-standard.md │ ├── package-names.md │ ├── parameters.md │ ├── parse-remotes.md │ ├── pillar-1.10.0 │ │ ├── dep-utils.md │ │ ├── type-bioc.md │ │ ├── type-git.md │ │ └── type-standard.md │ ├── pillar-1.10.1 │ │ ├── dep-utils.md │ │ ├── type-bioc.md │ │ ├── type-git.md │ │ └── type-standard.md │ ├── pillar-1.8.1 │ │ ├── dep-utils.md │ │ ├── type-bioc.md │ │ ├── type-git.md │ │ └── type-standard.md │ ├── pillar-1.9.0 │ │ ├── dep-utils.md │ │ ├── type-bioc.md │ │ ├── type-git.md │ │ └── type-standard.md │ ├── pkg-dependencies.md │ ├── pkg-downloads.md │ ├── pkg-installation.md │ ├── pkg-lockfile.md │ ├── pkg-name-check.md │ ├── pkgdepends-config.md │ ├── resolution.md │ ├── scan-deps-dep-types.md │ ├── scan-deps-queries.md │ ├── scan-deps.md │ ├── solve-binaries.md │ ├── solve-conflicts.md │ ├── solve-deps.md │ ├── solve-describe.md │ ├── solve-ignored-failures.md │ ├── solve-pieces.md │ ├── solve-prefer-installed.md │ ├── solve-r-version.md │ ├── sysreqs.md │ ├── sysreqs2.md │ ├── system-packages.md │ ├── tojson.md │ ├── tree-sitter.md │ ├── tree.md │ ├── type-any.md │ ├── type-cran.md │ ├── type-deps.md │ ├── type-git.md │ ├── type-github.md │ ├── type-gitlab.md │ ├── type-local.md │ ├── type-url.md │ ├── unix │ │ ├── pkg-installation.md │ │ └── scan-deps.md │ ├── utils.md │ ├── valid-name.md │ └── windows │ │ └── pkg-installation.md │ ├── fixtures │ ├── PACKAGES-mac.gz │ ├── PACKAGES-src.gz │ ├── PACKAGES-win.gz │ ├── bad-desc │ │ └── DESCRIPTION │ ├── dpkg-query.txt │ ├── foo │ │ ├── DESCRIPTION │ │ ├── NAMESPACE │ │ ├── R │ │ │ └── foo.R │ │ ├── inst │ │ │ └── installed-file │ │ └── src │ │ │ └── init.c │ ├── foo2 │ │ ├── DESCRIPTION │ │ ├── NAMESPACE │ │ ├── R │ │ │ └── foo.R │ │ └── src │ │ │ └── init.c │ ├── foo3 │ │ ├── DESCRIPTION │ │ └── R │ │ │ └── foo.R │ ├── foobar_1.0.0.tar.gz │ ├── foobar_1.0.0.zip │ ├── foobar_1.0.1.tar.gz │ ├── foobar_1.0.1.zip │ ├── foobar_1.0.2.tar.gz │ ├── foobar_1.0.2.zip │ ├── gh-rate-limit-response.rds │ ├── git-repo.tar.gz │ ├── git-response-parsed-v2.rds │ ├── git-response-v1.rds │ ├── git-test-1.idx │ ├── git-test-1.pack │ ├── packages │ │ ├── bad1 │ │ │ ├── file1 │ │ │ └── file2 │ │ ├── bad2 │ │ │ └── bad2 │ │ │ │ ├── DESCRIPTION │ │ │ │ └── Meta │ │ │ │ └── package.rds │ │ ├── bad3 │ │ │ └── bad3 │ │ │ │ ├── DESCRIPTION │ │ │ │ └── Meta │ │ │ │ └── package.rds │ │ ├── bad4 │ │ │ └── bad4 │ │ │ │ ├── DESCRIPTION │ │ │ │ └── Meta │ │ │ │ └── package.rds │ │ ├── badbuild │ │ │ ├── DESCRIPTION │ │ │ ├── NAMESPACE │ │ │ └── R │ │ │ │ └── foo.R │ │ ├── goodbuild │ │ │ ├── DESCRIPTION │ │ │ ├── NAMESPACE │ │ │ └── R │ │ │ │ └── foo.R │ │ └── vignettes │ │ │ ├── DESCRIPTION │ │ │ ├── NAMESPACE │ │ │ ├── R │ │ │ └── foo.R │ │ │ └── vignettes │ │ │ └── test.Rmd │ ├── resolution-gh-vs-cran.rds │ ├── resolution-installed.rds │ ├── resolution-progress.rds │ ├── resolution-simple.rds │ ├── resolve-cran-version-archive.rds │ ├── resolve-cran-version-packages.rds │ ├── rpm.txt │ ├── sample_plan.rds │ ├── scan │ │ ├── DESCRIPTION │ │ ├── NAMESPACE │ │ ├── chunk-errors.Rmd │ │ ├── header-bslib.Rmd │ │ ├── header-shiny.Rmd │ │ ├── header-shiny2.Rmd │ │ ├── header.Rmd │ │ ├── ignore-test.Rnw │ │ ├── inline-chunks.Rmd │ │ ├── junit.R │ │ ├── knitr.Rmd │ │ ├── methods.R │ │ ├── modules-empty.R │ │ ├── modules.R │ │ ├── noragg.Rmd │ │ ├── notebook.ipynb │ │ ├── nothing.Rmd │ │ ├── project-1 │ │ │ ├── DESCRIPTION │ │ │ ├── R │ │ │ │ └── code.R │ │ │ ├── doc.qmd │ │ │ ├── index.Rmarkdown │ │ │ └── index.Rmd │ │ ├── project-2 │ │ │ ├── DESCRIPTION │ │ │ ├── _pkgdown.yml │ │ │ ├── bookdown │ │ │ │ └── _bookdown.yml │ │ │ ├── pkgdepends.Rproj │ │ │ ├── quarto │ │ │ │ └── _quarto.yml │ │ │ ├── renv.lock │ │ │ └── rsconnect │ │ │ │ └── keepme │ │ ├── project-3 │ │ │ ├── DESCRIPTION │ │ │ └── pkgdepends.Rproj │ │ ├── project-4 │ │ │ ├── R │ │ │ │ └── code.R │ │ │ ├── doc.qmd │ │ │ └── index.Rmd │ │ └── test.Rnw │ ├── solution-crayon.rds │ ├── solution-igraph.rds │ ├── submodules.ini │ ├── submodules2.ini │ └── submodules3.ini │ ├── helper-apps.R │ ├── helper-fixtures.R │ ├── helper-install.R │ ├── helper-mock.R │ ├── helper-resolution.R │ ├── helper-solve-fix.R │ ├── helper.R │ ├── setup.R │ ├── test-assertions.R │ ├── test-assertthat.R │ ├── test-build.R │ ├── test-config.R │ ├── test-cran-tools.R │ ├── test-dep-utils.R │ ├── test-download-progress-bar.R │ ├── test-find-package-root.R │ ├── test-git-protocol.R │ ├── test-git-submodules.R │ ├── test-github-tools.R │ ├── test-install-binary.R │ ├── test-install-metadata.R │ ├── test-install-paths.R │ ├── test-install-plan-errors.R │ ├── test-install-plan-parts.R │ ├── test-install-plan.R │ ├── test-install-tar.R │ ├── test-install-verify.R │ ├── test-install-zip.R │ ├── test-install.R │ ├── test-integrity.R │ ├── test-package-names.R │ ├── test-parameters.R │ ├── test-parse-remotes.R │ ├── test-pkg-dependencies.R │ ├── test-pkg-downloads.R │ ├── test-pkg-installation.R │ ├── test-pkg-lockfile.R │ ├── test-pkg-name-check.R │ ├── test-pkgdepends-config.R │ ├── test-platforms.R │ ├── test-print.R │ ├── test-progress-bar.R │ ├── test-resolution-df.R │ ├── test-resolution.R │ ├── test-satisfies.R │ ├── test-scan-deps-dep-types.R │ ├── test-scan-deps-queries.R │ ├── test-scan-deps.R │ ├── test-solve-binaries.R │ ├── test-solve-conflicts.R │ ├── test-solve-deps.R │ ├── test-solve-describe.R │ ├── test-solve-hard.R │ ├── test-solve-ignored-failures.R │ ├── test-solve-pieces.R │ ├── test-solve-policies.R │ ├── test-solve-prefer-installed.R │ ├── test-solve-r-version.R │ ├── test-spelling.R │ ├── test-sysreqs.R │ ├── test-sysreqs2.R │ ├── test-system-packages.R │ ├── test-tojson.R │ ├── test-tree-sitter.R │ ├── test-tree.R │ ├── test-type-any.R │ ├── test-type-bioc.R │ ├── test-type-cran-satisfies.R │ ├── test-type-cran.R │ ├── test-type-deps.R │ ├── test-type-git.R │ ├── test-type-github.R │ ├── test-type-gitlab.R │ ├── test-type-installed.R │ ├── test-type-local.R │ ├── test-type-standard.R │ ├── test-type-url.R │ ├── test-utils.R │ ├── test-valid-name.R │ └── test-versions.R ├── tools ├── doc │ ├── README-body.Rmd │ ├── deps.Rmd │ ├── deps.md │ ├── download-result.Rmd │ ├── download-result.md │ ├── lib-status-return.Rmd │ ├── lib-status-return.md │ ├── pak-config-docs.md │ ├── pkg-refs.Rmd │ ├── pkg-refs.md │ ├── resolution-result.Rmd │ └── resolution-result.md └── dynamic-help.R └── vignettes ├── .gitignore ├── .install_extras └── pkgdepends-how-to.Rmd /.Rbuildignore: -------------------------------------------------------------------------------- 1 | ^pkgdepends\.Rproj$ 2 | ^\.Rproj\.user$ 3 | ^Makefile$ 4 | ^README.Rmd$ 5 | ^README.html$ 6 | ^NEWS.md$ 7 | ^.travis.yml$ 8 | ^appveyor.yml$ 9 | ^\.env$ 10 | ^\.Rprofile$ 11 | ^r-packages$ 12 | ^README_cache$ 13 | ^tools/doc$ 14 | ^doc$ 15 | ^Meta$ 16 | ^_pkgdown\.yml$ 17 | ^docs$ 18 | ^pkgdown$ 19 | ^.*cache$ 20 | ^vignettes$ 21 | ^\.github$ 22 | ^dev-lib$ 23 | ^revdep$ 24 | ^codecov\.yml$ 25 | ^man/macros/eval2[.]Rd$ 26 | ^LICENSE\.md$ 27 | ^[\.]?air\.toml$ 28 | ^\.vscode$ 29 | -------------------------------------------------------------------------------- /.github/.gitignore: -------------------------------------------------------------------------------- 1 | *.html 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .Rproj.user 2 | .Rhistory 3 | .RData 4 | /.env 5 | /r-packages 6 | *_cache 7 | /README.html 8 | /doc 9 | /docs 10 | Meta 11 | /inst/doc 12 | /doc 13 | /vignettes/pkgdepends-how-to_files 14 | /dev-lib 15 | /man/_cache 16 | /man/macros/eval2.Rd 17 | /revdep 18 | /src/*.gcda 19 | *.gcda 20 | *.gcno 21 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "Posit.air-vscode" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "[r]": { 3 | "editor.formatOnSave": true, 4 | "editor.defaultFormatter": "Posit.air-vscode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | YEAR: 2025 2 | COPYRIGHT HOLDER: pkgdepends authors 3 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # MIT License 2 | 3 | Copyright (c) 2025 pkgdepends authors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /R/build.R: -------------------------------------------------------------------------------- 1 | #' @importFrom utils modifyList 2 | 3 | build_package <- function(path, build_args = list()) { 4 | default_args <- list( 5 | path = path, 6 | dest_path = NULL, 7 | binary = FALSE, 8 | vignettes = TRUE, 9 | manual = TRUE, 10 | args = NULL, 11 | quiet = TRUE 12 | ) 13 | args <- modifyList(default_args, build_args) 14 | zip_path <- system.file(package = "zip", "bin", .Platform$r_arch) 15 | withr_with_path(zip_path, do.call(pkgbuild::build, args)) 16 | } 17 | -------------------------------------------------------------------------------- /R/cleancall.R: -------------------------------------------------------------------------------- 1 | call_with_cleanup <- function(ptr, ...) { 2 | .Call(c_cleancall_call, pairlist(ptr, ...), parent.frame()) 3 | } 4 | -------------------------------------------------------------------------------- /R/files.R: -------------------------------------------------------------------------------- 1 | mkdirp <- function(dir, msg = NULL) { 2 | s <- vlapply(dir, dir.create, recursive = TRUE, showWarnings = FALSE) 3 | if (any(s) && !is.null(msg)) { 4 | cli::cli_alert_info(c(msg, ": {.path {dir[s]}}")) 5 | } 6 | invisible(s) 7 | } 8 | -------------------------------------------------------------------------------- /R/find-package-root.R: -------------------------------------------------------------------------------- 1 | project_root_anchors <- 2 | c("DESCRIPTION", ".git", ".Rproj.user", "renv.lock", "renv") 3 | 4 | find_package_root <- function(path = ".") { 5 | find_project_root(path = path, anchors = "DESCRIPTION") 6 | } 7 | 8 | is_package_root <- function(path = ".") { 9 | file.exists(file.path(path, "DESCRIPTION")) 10 | } 11 | 12 | find_project_root <- function(path = ".", anchors = project_root_anchors) { 13 | is_root <- function(path) { 14 | identical( 15 | normalizePath(path, winslash = "/"), 16 | normalizePath(dirname(path), winslash = "/") 17 | ) 18 | } 19 | 20 | if (!file.exists(path)) { 21 | stop("Path does not exist: ", path) 22 | } 23 | cur_path <- normalizePath(path, winslash = "/") 24 | errmsg <- paste0( 25 | "Could not find R package in `", 26 | path, 27 | "` or its parent directories." 28 | ) 29 | max_depth <- 100 30 | for (i in 1:max_depth) { 31 | if (any(file.exists(file.path(cur_path, anchors)))) { 32 | return(cur_path) 33 | } else if (is_root(cur_path)) { 34 | stop(errmsg) 35 | } else { 36 | cur_path <- dirname(cur_path) 37 | } 38 | } 39 | stop(errmsg, " Checked ", max_depth, " parent directories.") # nocov 40 | } 41 | -------------------------------------------------------------------------------- /R/install-zip.R: -------------------------------------------------------------------------------- 1 | make_unzip_process <- function( 2 | zipfile, 3 | exdir = ".", 4 | post_process = NULL, 5 | stdout = "|", 6 | stderr = "2>&1", 7 | ... 8 | ) { 9 | up <- zip::unzip_process() 10 | up$new( 11 | zipfile, 12 | exdir = exdir, 13 | post_process = post_process, 14 | stdout = stdout, 15 | stderr = stderr, 16 | ... 17 | ) 18 | } 19 | -------------------------------------------------------------------------------- /R/integrity.R: -------------------------------------------------------------------------------- 1 | is_valid_package <- function(file) { 2 | if (!file.exists(file)) { 3 | FALSE 4 | } else if (grepl("\\.zip$", file)) { 5 | is_valid_package_zip(file) 6 | } else if (grepl("\\.tgz$|\\.tar\\.gz$", file)) { 7 | is_valid_package_targz(file) 8 | } else { 9 | ## Just ignore other files 10 | FALSE 11 | } 12 | } 13 | 14 | is_valid_package_zip <- function(file) { 15 | if (file.info(file)$size == 0) return(FALSE) 16 | tryCatch( 17 | is_package_file_list(file, suppressWarnings(zip_list(file))), 18 | error = function(e) FALSE 19 | ) 20 | } 21 | 22 | #' @importFrom utils untar 23 | 24 | is_valid_package_targz <- function(file) { 25 | if (file.info(file)$size == 0) return(FALSE) 26 | con <- gzfile(file, open = "rb") 27 | on.exit(close(con), add = TRUE) 28 | tryCatch( 29 | is_package_file_list(file, untar(con, list = TRUE)), 30 | error = function(e) FALSE 31 | ) 32 | } 33 | 34 | is_package_file_list <- function(file, list) { 35 | pkgname <- pkg_name_from_file(file) 36 | 37 | ## A single directory, named after the package 38 | if (any(!grepl(paste0("^", pkgname, "\\b"), list))) return(FALSE) 39 | 40 | ## DESCRIPTION file 41 | if (!paste0(pkgname, "/DESCRIPTION") %in% list) return(FALSE) 42 | 43 | return(TRUE) 44 | } 45 | 46 | pkg_name_from_file <- function(x) { 47 | sub("^([a-zA-Z0-9\\.]+)_.*$", "\\1", basename(x)) 48 | } 49 | -------------------------------------------------------------------------------- /R/onload.R: -------------------------------------------------------------------------------- 1 | .onLoad <- function(libname, pkgname) { 2 | if (requireNamespace("debugme", quietly = TRUE)) debugme::debugme() 3 | err$onload_hook() 4 | config$onload_hook() 5 | } 6 | -------------------------------------------------------------------------------- /R/pkgdepends.R: -------------------------------------------------------------------------------- 1 | # nocov start 2 | 3 | #' @description 4 | #' pkgdepends is a toolkit for package dependencies, downloads and 5 | #' installations, to be used in other packages. If you are looking for a 6 | #' package manager, see [pak](https://github.com/r-lib/pak). 7 | #' 8 | #' @useDynLib pkgdepends, .registration = TRUE, .fixes = "c_" 9 | #' @includeRmd tools/doc/README-body.Rmd 10 | "_PACKAGE" 11 | 12 | fix_check <- function() { 13 | R6::R6Class 14 | processx::process 15 | invisible() 16 | } 17 | 18 | # nocov end 19 | -------------------------------------------------------------------------------- /R/print.R: -------------------------------------------------------------------------------- 1 | format_items <- function(x) { 2 | paste0( 3 | cli::ansi_collapse(backtick(x), sep = ", ", last = " and ") 4 | ) 5 | } 6 | -------------------------------------------------------------------------------- /R/progress-bars.R: -------------------------------------------------------------------------------- 1 | should_show_progress_bar <- function() { 2 | # Option takes precedence 3 | opt <- getOption("pkg.show_progress", NULL) 4 | if (!is.null(opt)) return(isTRUE(opt)) 5 | 6 | # FALSE on CI, this should be in cli, probably 7 | if (Sys.getenv("CI", "") != "") return(FALSE) 8 | 9 | # FALSE in knitr, this should be in cli, probably 10 | if (isTRUE(getOption("knitr.in.progress"))) return(FALSE) 11 | 12 | # FALSE in testthat as well, this should NOT be in cli, maybe 13 | if (identical(Sys.getenv("TESTTHAT"), "true")) return(FALSE) 14 | 15 | # Otherwise trust cli 16 | cli::is_dynamic_tty() 17 | } 18 | -------------------------------------------------------------------------------- /R/rematch2.R: -------------------------------------------------------------------------------- 1 | re_match <- function(text, pattern, perl = TRUE, ...) { 2 | assert_that(is_string(pattern)) 3 | text <- as.character(text) 4 | 5 | match <- regexpr(pattern, text, perl = perl, ...) 6 | 7 | start <- as.vector(match) 8 | length <- attr(match, "match.length") 9 | end <- start + length - 1L 10 | 11 | matchstr <- substring(text, start, end) 12 | matchstr[start == -1] <- NA_character_ 13 | 14 | res <- data_frame(.text = text, .match = matchstr) 15 | 16 | if (!is.null(attr(match, "capture.start"))) { 17 | gstart <- attr(match, "capture.start") 18 | glength <- attr(match, "capture.length") 19 | gend <- gstart + glength - 1L 20 | 21 | groupstr <- substring(text, gstart, gend) 22 | groupstr[gstart == -1] <- NA_character_ 23 | dim(groupstr) <- dim(gstart) 24 | 25 | res <- cbind(groupstr, res, stringsAsFactors = FALSE) 26 | } 27 | names(res) <- c(attr(match, "capture.names"), ".text", ".match") 28 | class(res) <- c("tbl", class(res)) 29 | res 30 | } 31 | -------------------------------------------------------------------------------- /R/rx.R: -------------------------------------------------------------------------------- 1 | #' A set of handy regular expressions related to R packages 2 | #' 3 | #' If you use these in R, make sure you specify `perl = TRUE`, see 4 | #' [base::grep()]. 5 | #' 6 | #' Currently included: 7 | #' - `pkg_name`: A valid package name. 8 | #' - `type_cran`: A `cran::` package reference. 9 | #' - `type_bioc`: A `bioc::` package reference. 10 | #' - `type_standard`: A `standard::` package reference. 11 | #' - `type_github`: A `github::` package reference. 12 | #' - `type_git`: A `git::` package reference. 13 | #' - `type_local`: A `local::` package reference. 14 | #' - `type_deps`: A `deps::` package reference. 15 | #' - `type_installed`: An `installed::` package reference. 16 | #' - `github_username`: A GitHub username. 17 | #' - `github_repo`: A GitHub repository name. 18 | #' - `github_url`: A GitHub URL. 19 | #' 20 | #' @return A named list of strings. 21 | #' 22 | #' @export 23 | #' @examples 24 | #' pkg_rx() 25 | 26 | pkg_rx <- function() { 27 | list( 28 | pkg_name = package_name_rx(), 29 | type_cran = standard_rx("cran"), 30 | type_bioc = standard_rx("bioc"), 31 | type_standard = standard_rx("standard"), 32 | type_github = github_rx(), 33 | type_git = git_rx(), 34 | type_local = local_rx(), 35 | type_deps = type_deps_rx(), 36 | type_installed = type_installed_rx(), 37 | github_username = github_username_rx(), 38 | github_repo = github_repo_rx(), 39 | github_url = github_url_rx() 40 | ) 41 | } 42 | -------------------------------------------------------------------------------- /R/satisfies.R: -------------------------------------------------------------------------------- 1 | satisfies_remote <- function( 2 | resolution, 3 | candidate, 4 | config, 5 | remote_types = NULL, 6 | ... 7 | ) { 8 | remote_types <- c(default_remote_types(), remote_types) 9 | sat <- remote_types[[resolution$type]]$satisfy 10 | if (is.null(sat)) return(resolution$ref == candidate$ref) 11 | 12 | sat(resolution, candidate, config, ...) 13 | } 14 | 15 | installedok_remote <- function( 16 | installed, 17 | solution, 18 | config, 19 | remote_types = NULL, 20 | ... 21 | ) { 22 | remote_types <- c(default_remote_types(), remote_types) 23 | ok <- remote_types[[solution$type]]$installedok 24 | if (is.null(ok)) return(FALSE) 25 | ok(installed, solution, config, ...) 26 | } 27 | -------------------------------------------------------------------------------- /R/scan-deps-dep-types.R: -------------------------------------------------------------------------------- 1 | get_dep_type_from_path <- function(paths, orig = NULL) { 2 | tps <- rep("prod", length(paths)) 3 | tps[paths == "man/roxygen/meta.R"] <- "dev" 4 | tps[startsWith(paths, "tests/") | startsWith(paths, "test/")] <- "test" 5 | if (!is.null(orig)) { 6 | # for DESCRIPTION we detect the type from the file itself 7 | dsc <- basename(paths) == "DESCRIPTION" 8 | tps[dsc] <- orig[dsc] 9 | } 10 | tps 11 | } 12 | 13 | get_dep_type_from_description_field <- function(fields) { 14 | tps <- rep("dev", length(fields)) 15 | tps[fields %in% c("Depends", "Imports", "LinkingTo")] <- "prod" 16 | tps[fields %in% c("Suggests", "Enhanced")] <- "test" 17 | tps[fields == "Config/Needs/coverage"] <- "test" 18 | tps 19 | } 20 | -------------------------------------------------------------------------------- /R/scan-deps-print.R: -------------------------------------------------------------------------------- 1 | #' @export 2 | 3 | format.pkg_scan_deps <- function(x, ...) { 4 | labels <- c( 5 | prod = "Dependencies", 6 | test = "Test dependencies", 7 | dev = "Development dependencies", 8 | # TODO: generic label for others 9 | NULL 10 | ) 11 | lns <- lapply(seq_along(labels), function(i) { 12 | deps <- x[x$type == names(labels)[i], , drop = FALSE] 13 | if (nrow(deps) == 0) return(NULL) 14 | fls <- tapply(deps$path, deps$package, "c", simplify = FALSE) 15 | fls[] <- lapply(fls, unique) 16 | fls <- vcapply(fls, paste, collapse = ", ") 17 | pkg <- format(names(fls)) 18 | flsw <- cli::console_width() - nchar(pkg[1]) - 5 19 | c( 20 | "", 21 | cli::col_yellow(paste0(labels[i], ":")), 22 | paste0( 23 | cli::col_grey("+ "), 24 | cli::col_blue(pkg), 25 | cli::col_grey(" @ "), 26 | cli::col_silver(cli::ansi_strtrim(fls, flsw)) 27 | ) 28 | ) 29 | }) 30 | 31 | unlist(lns) 32 | } 33 | 34 | #' @export 35 | 36 | print.pkg_scan_deps <- function(x, ...) { 37 | writeLines(format(x, ...)) 38 | invisible(x) 39 | } 40 | 41 | #' @export 42 | 43 | `[.pkg_scan_deps` <- function(x, i, j, drop = FALSE) { 44 | class(x) <- setdiff(class(x), "pkg_scan_deps") 45 | NextMethod("[") 46 | } 47 | -------------------------------------------------------------------------------- /R/type-param.R: -------------------------------------------------------------------------------- 1 | parse_remote_param <- function(specs, config, ...) { 2 | parsed_specs <- re_match(specs, param_rx()) 3 | parsed_specs$ref <- "*" 4 | cn <- setdiff(colnames(parsed_specs), c(".match", ".text")) 5 | parsed_specs <- parsed_specs[, cn] 6 | parsed_specs$type <- "param" 7 | lapply( 8 | seq_len(nrow(parsed_specs)), 9 | function(i) as.list(parsed_specs[i, ]) 10 | ) 11 | } 12 | 13 | resolve_remote_param <- function( 14 | remote, 15 | direct, 16 | config, 17 | cache, 18 | dependencies, 19 | ... 20 | ) { 21 | ## Handled specially by the resolver 22 | NULL 23 | } 24 | 25 | download_remote_param <- function( 26 | resolution, 27 | target, 28 | target_tree, 29 | config, 30 | cache, 31 | which, 32 | on_progress 33 | ) { 34 | ## this is never actually called 35 | stop("Internal error") 36 | } 37 | 38 | satisfy_remote_param <- function(resolution, candidate, config, ...) { 39 | ## this is never actually called 40 | stop("Internal error") 41 | } 42 | 43 | installedok_remote_param <- function(installed, solution, config, ...) { 44 | ## this is never actually called 45 | stop("Internal error") 46 | } 47 | -------------------------------------------------------------------------------- /R/versions.R: -------------------------------------------------------------------------------- 1 | version_satisfies <- function(ver, op, cond) { 2 | ver <- package_version(ver) 3 | switch( 4 | op, 5 | "<" = ver < cond, 6 | "<=" = ver <= cond, 7 | "==" = ver == cond, 8 | ">=" = ver >= cond, 9 | ">" = ver > cond, 10 | "!=" = ver != cond 11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /air.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/air.toml -------------------------------------------------------------------------------- /cleanup: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env sh 2 | 3 | rm -f man/macros/eval2.Rd 4 | -------------------------------------------------------------------------------- /configure: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env sh 2 | 3 | echo "*** Running ./configure" 4 | 5 | # Check that this is not just ./configure. We need to run this 6 | # from R CMD INSTALL, to have the R env vars set. 7 | 8 | if [ -z "$R_HOME" ]; then 9 | echo >&2 R_HOME is not set, are you running R CMD INSTALL? 10 | exit 1 11 | fi 12 | 13 | # Find the R binary we need to use. This is a bit trickier on 14 | # Windows, because it has two architectures. On windows R_ARCH_BIN 15 | # is set, so this should work everywhere. 16 | RBIN="${R_HOME}/bin${R_ARCH_BIN}/R" 17 | 18 | "$RBIN" --vanilla --slave -f tools/dynamic-help.R 19 | -------------------------------------------------------------------------------- /configure.win: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env sh 2 | 3 | sh ./configure 4 | -------------------------------------------------------------------------------- /inst/WORDLIST: -------------------------------------------------------------------------------- 1 | Acromine 2 | CMD 3 | Capitan 4 | Codecov 5 | Config 6 | DevOps 7 | El 8 | GitLab 9 | HOWTO 10 | ILP 11 | JSON 12 | Junit 13 | LinkingTo 14 | PBC 15 | ROR 16 | RSPM 17 | RStudio 18 | RedHat 19 | Rproj 20 | SHA 21 | Shorthands 22 | Sur 23 | async 24 | cli 25 | cloneable 26 | config 27 | devtools 28 | dplyr 29 | funder 30 | ggplot 31 | gitcreds 32 | glmnet 33 | hexbin 34 | keras 35 | kknn 36 | knitr 37 | lifecycle 38 | macOS 39 | mypkg 40 | nnet 41 | packfile 42 | packfiles 43 | pak 44 | pkgcache 45 | pkgdown 46 | prerelease 47 | prettyunits 48 | ragg 49 | renv 50 | rpart 51 | rprojroot 52 | rstanarm 53 | shorthands 54 | sparklyr 55 | sshfs 56 | submodule 57 | submodules 58 | svglite 59 | testthat 60 | tibbles 61 | uncompress 62 | uncompressing 63 | -------------------------------------------------------------------------------- /inst/docs/deps.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/inst/docs/deps.rds -------------------------------------------------------------------------------- /inst/docs/download-result.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/inst/docs/download-result.rds -------------------------------------------------------------------------------- /inst/docs/lib-status-return.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/inst/docs/lib-status-return.rds -------------------------------------------------------------------------------- /inst/docs/pak-config-docs.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/inst/docs/pak-config-docs.rds -------------------------------------------------------------------------------- /inst/docs/pkg-refs.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/inst/docs/pkg-refs.rds -------------------------------------------------------------------------------- /inst/docs/resolution-result.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/inst/docs/resolution-result.rds -------------------------------------------------------------------------------- /inst/exdata/biocpackages.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/inst/exdata/biocpackages.rds -------------------------------------------------------------------------------- /inst/sysreqs/HEAD: -------------------------------------------------------------------------------- 1 | b7fdb33aff6a81bb6d2e7dc70b6ffdac6ec93cc0 2 | -------------------------------------------------------------------------------- /inst/sysreqs/VERSION: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/apparmor.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bapparmor\\b", "\\blibapparmor\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libapparmor-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["libapparmor-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "opensuse" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "sle" 27 | } 28 | ] 29 | }, 30 | { 31 | "packages": ["libapparmor-dev", "libapparmor"], 32 | "constraints": [ 33 | { 34 | "os": "linux", 35 | "distribution": "alpine" 36 | } 37 | ] 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/automake.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bautomake\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["automake"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["automake"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["automake"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["automake"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/berkeleydb.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bberkeley db\\b", "\\blibdb\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libdb-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["libdb-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["libdb-4_8-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["db-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/blender.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bblender\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["blender"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["blender"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "fedora" 23 | } 24 | ] 25 | }, 26 | { 27 | "packages": ["blender"], 28 | "constraints": [ 29 | { 30 | "os": "linux", 31 | "distribution": "opensuse" 32 | }, 33 | { 34 | "os": "linux", 35 | "distribution": "sle", 36 | "versions": [ "12.3", "15.0", "15.2" ] 37 | } 38 | ] 39 | }, 40 | { 41 | "packages": ["blender"], 42 | "constraints": [ 43 | { 44 | "os": "linux", 45 | "distribution": "alpine", 46 | "versions": [ "3.16", "3.17", "3.18", "3.19", "3.20", "3.21", "edge" ] 47 | } 48 | ] 49 | } 50 | ] 51 | } 52 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/boost.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\Boost\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libboost-all-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["boost-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "fedora" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "centos" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "rockylinux" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "redhat" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["boost-gnu-hpc-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["boost-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/bowtie2.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bbowtie2\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["bowtie2"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["bowtie2"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "fedora" 23 | } 24 | ] 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/bwidget.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bbwidget\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["bwidget"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["bwidget"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos", 23 | "versions": ["6", "7"] 24 | }, 25 | { 26 | "os": "linux", 27 | "distribution": "fedora" 28 | } 29 | ] 30 | }, 31 | { 32 | "packages": ["bwidget"], 33 | "constraints": [ 34 | { 35 | "os": "linux", 36 | "distribution": "opensuse" 37 | }, 38 | { 39 | "os": "linux", 40 | "distribution": "sle", 41 | "versions": ["12.3"] 42 | } 43 | ] 44 | } 45 | ] 46 | } 47 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/cairo.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bcairo\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libcairo2-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["cairo-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["cairo-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["cairo-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | }, 60 | { 61 | "packages": [ 62 | "mingw-w64-x86_64-cairo", 63 | "mingw-w64-i686-cairo" 64 | ], 65 | "constraints": [ 66 | { 67 | "os": "windows" 68 | } 69 | ] 70 | } 71 | ] 72 | } 73 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/coin-or-clp.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bcoin-or clp\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["coinor-libclp-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["coin-or-Clp-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "fedora" 23 | } 24 | ] 25 | }, 26 | { 27 | "packages": [ 28 | "mingw-w64-x86_64-coinor-cbc", 29 | "mingw-w64-i686-coinor-cbc" 30 | ], 31 | "constraints": [ 32 | { 33 | "os": "windows" 34 | } 35 | ] 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/coinor-symphony.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bsymphony\\b", "\\blibsymphony\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["coinor-symphony", "coinor-libsymphony-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["coin-or-SYMPHONY", "coin-or-SYMPHONY-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "fedora" 23 | } 24 | ] 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /inst/sysreqs/rules/cuda.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bnvcc\\b", "\\bcuda\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["nvidia-cuda-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | } 11 | ] 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /inst/sysreqs/rules/dcraw.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bdcraw\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["dcraw"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["dcraw"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["dcraw"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle", 48 | "versions": ["12.3"] 49 | } 50 | ] 51 | } 52 | ] 53 | } 54 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/fftw3.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bfftw\\b", "\\bfftw3\\b", "\\blibfftw3\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libfftw3-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["fftw-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["fftw3-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["fftw-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | }, 60 | { 61 | "packages": [ 62 | "mingw-w64-x86_64-fftw", 63 | "mingw-w64-i686-fftw" 64 | ], 65 | "constraints": [ 66 | { 67 | "os": "windows" 68 | } 69 | ] 70 | } 71 | ] 72 | } 73 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/flint.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bflint\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libflint-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["flint-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "opensuse" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "fedora" 27 | } 28 | ] 29 | } 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/fluidsynth.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bfluidsynth\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libfluidsynth-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["fluidsynth-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "opensuse" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "fedora" 27 | } 28 | ] 29 | }, 30 | { 31 | "packages": ["fluidsynth-devel"], 32 | "pre_install": [ 33 | { "command": "yum install -y epel-release" } 34 | ], 35 | "constraints": [ 36 | { 37 | "os": "linux", 38 | "distribution": "centos" 39 | }, 40 | { 41 | "os": "linux", 42 | "distribution": "rockylinux" 43 | }, 44 | { 45 | "os": "linux", 46 | "distribution": "redhat" 47 | } 48 | ] 49 | }, 50 | { 51 | "packages": ["fluidsynth-dev"], 52 | "constraints": [ 53 | { 54 | "os": "linux", 55 | "distribution": "alpine" 56 | } 57 | ] 58 | } 59 | ] 60 | } 61 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/fontconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": [ 3 | "\\bfontconfig\\b" 4 | ], 5 | "dependencies": [ 6 | { 7 | "packages": [ 8 | "libfontconfig1-dev" 9 | ], 10 | "constraints": [ 11 | { 12 | "os": "linux", 13 | "distribution": "ubuntu" 14 | }, 15 | { 16 | "os": "linux", 17 | "distribution": "debian" 18 | } 19 | ] 20 | }, 21 | { 22 | "packages": [ 23 | "fontconfig-devel" 24 | ], 25 | "constraints": [ 26 | { 27 | "os": "linux", 28 | "distribution": "centos" 29 | }, 30 | { 31 | "os": "linux", 32 | "distribution": "rockylinux" 33 | }, 34 | { 35 | "os": "linux", 36 | "distribution": "redhat" 37 | }, 38 | { 39 | "os": "linux", 40 | "distribution": "fedora" 41 | }, 42 | { 43 | "os": "linux", 44 | "distribution": "sle" 45 | }, 46 | { 47 | "os": "linux", 48 | "distribution": "opensuse" 49 | } 50 | ] 51 | }, 52 | { 53 | "packages": ["fontconfig-dev"], 54 | "constraints": [ 55 | { 56 | "os": "linux", 57 | "distribution": "alpine" 58 | } 59 | ] 60 | } 61 | ] 62 | } 63 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/fribidi.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bfribidi\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libfribidi-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["fribidi-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "opensuse" 35 | }, 36 | { 37 | "os": "linux", 38 | "distribution": "fedora" 39 | } 40 | ] 41 | }, 42 | { 43 | "packages": ["fribidi-dev"], 44 | "constraints": [ 45 | { 46 | "os": "linux", 47 | "distribution": "alpine" 48 | } 49 | ] 50 | } 51 | ] 52 | } 53 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/ggobi.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bggobi\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["ggobi"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | } 11 | ] 12 | }, 13 | { 14 | "packages": ["ggobi"], 15 | "constraints": [ 16 | { 17 | "os": "linux", 18 | "distribution": "debian", 19 | "versions": [ "10", "11", "12" ] 20 | } 21 | ] 22 | }, 23 | { 24 | "packages": ["ggobi-devel"], 25 | "pre_install": [ 26 | { 27 | "command": "yum install -y epel-release" 28 | } 29 | ], 30 | "constraints": [ 31 | { 32 | "os": "linux", 33 | "distribution": "centos", 34 | "versions": ["6"] 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["ggobi-devel"], 40 | "pre_install": [ 41 | { 42 | "command": "rpm -q epel-release || yum install -y https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm" 43 | } 44 | ], 45 | "constraints": [ 46 | { 47 | "os": "linux", 48 | "distribution": "redhat", 49 | "versions": ["6"] 50 | } 51 | ] 52 | } 53 | ] 54 | } 55 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/git.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bgit\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["git"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["git"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["git"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["git"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/glib.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bglib\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libglib2.0-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["glib2-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["glib2-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["glib-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/glu.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bglu\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libglu1-mesa-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["mesa-libGLU-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["glu-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["glu-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/gmp.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bgmp\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libgmp3-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["gmp-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["gmp-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["gmp-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | }, 60 | { 61 | "packages": [ 62 | "mingw-w64-x86_64-gmp", 63 | "mingw-w64-i686-gmp" 64 | ], 65 | "constraints": [ 66 | { 67 | "os": "windows" 68 | } 69 | ] 70 | } 71 | ] 72 | } 73 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/gnumake.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bgnu make\\b", "\\bgmake\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["make"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["make"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["make"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["make"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/gtk.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bgtk\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libgtk2.0-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["gtk2-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["gtk2-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["gtk+2.0-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/harfbuzz.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bharfbuzz\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libharfbuzz-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["harfbuzz-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "opensuse" 35 | }, 36 | { 37 | "os": "linux", 38 | "distribution": "fedora" 39 | } 40 | ] 41 | }, 42 | { 43 | "packages": ["harfbuzz-dev"], 44 | "constraints": [ 45 | { 46 | "os": "linux", 47 | "distribution": "alpine" 48 | } 49 | ] 50 | } 51 | ] 52 | } 53 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/imagej.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bimagej\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["imagej"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["imagej"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "opensuse" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "fedora" 27 | } 28 | ] 29 | } 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/jags.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bjags\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["jags"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /inst/sysreqs/rules/latex.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\blatex\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["texlive"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["texlive"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["texlive"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["texlive"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/libbz2.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\blibbz2\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libbz2-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["bzip2-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["libbz2-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["bzip2-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/liblzma.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bliblzma\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["liblzma-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["xz-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["xz-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["xz-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/libpng.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\blibpng\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libpng-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["libpng-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["libpng16-compat-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": [ 53 | "mingw-w64-x86_64-libpng", 54 | "mingw-w64-i686-libpng" 55 | ], 56 | "constraints": [ 57 | { 58 | "os": "windows" 59 | } 60 | ] 61 | }, 62 | { 63 | "packages": ["libpng-dev"], 64 | "constraints": [ 65 | { 66 | "os": "linux", 67 | "distribution": "alpine" 68 | } 69 | ] 70 | } 71 | ] 72 | } 73 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/librsvg2.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\blibrsvg2\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["librsvg2-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["librsvg2-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["librsvg-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["librsvg-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/libsecret.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\blibsecret\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libsecret-1-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["libsecret-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["libsecret-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["libsecret-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/libtool.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\blibtool\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libtool"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["libtool"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["libtool"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["libtool"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/libxml2.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\blibxml2\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libxml2-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["libxml2-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["libxml2-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["libxml2-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | }, 60 | { 61 | "packages": [ 62 | "mingw-w64-x86_64-libxml2", 63 | "mingw-w64-i686-libxml2" 64 | ], 65 | "constraints": [ 66 | { 67 | "os": "windows" 68 | } 69 | ] 70 | } 71 | ] 72 | } 73 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/libxslt.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\blibxslt\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libxslt-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["libxslt-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["libxslt-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["libxslt-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/mongodb.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bmongodb\\b", "\\bmongo\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["mongodb"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu", 10 | "versions": ["18.04", "20.04"] 11 | } 12 | ] 13 | }, 14 | { 15 | "packages": ["mongodb"], 16 | "pre_install": [ 17 | { 18 | "command": "yum install -y epel-release" 19 | } 20 | ], 21 | "constraints": [ 22 | { 23 | "os": "linux", 24 | "distribution": "centos", 25 | "versions": ["6"] 26 | } 27 | ] 28 | }, 29 | { 30 | "packages": ["mongodb"], 31 | "pre_install": [ 32 | { 33 | "command": "rpm -q epel-release || yum install -y https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm" 34 | } 35 | ], 36 | "constraints": [ 37 | { 38 | "os": "linux", 39 | "distribution": "redhat", 40 | "versions": ["6"] 41 | } 42 | ] 43 | }, 44 | { 45 | "packages": ["mongodb"], 46 | "constraints": [ 47 | { 48 | "os": "linux", 49 | "distribution": "opensuse", 50 | "versions": ["42.3"] 51 | } 52 | ] 53 | }, 54 | { 55 | "packages": ["mongodb-tools"], 56 | "constraints": [ 57 | { 58 | "os": "linux", 59 | "distribution": "alpine" 60 | } 61 | ] 62 | } 63 | ] 64 | } 65 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/mpfr.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bmpfr\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libmpfr-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["mpfr-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["mpfr-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["mpfr-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/nlopt.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bnlopt\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": [ 6 | "mingw-w64-x86_64-nlopt", 7 | "mingw-w64-i686-nlopt" 8 | ], 9 | "constraints": [ 10 | { 11 | "os": "windows" 12 | } 13 | ] 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/opengl.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bopengl\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libgl1-mesa-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["mesa-libGL-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["Mesa-libGL-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["mesa-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/openmpt.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bopenmpt\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libopenmpt-dev", "portaudio19-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["libopenmpt-devel", "portaudio-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "opensuse" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "fedora" 27 | } 28 | ] 29 | }, 30 | { 31 | "packages": ["libopenmpt-devel", "portaudio-devel"], 32 | "pre_install": [ 33 | { "command": "yum install -y epel-release" } 34 | ], 35 | "constraints": [ 36 | { 37 | "os": "linux", 38 | "distribution": "centos" 39 | }, 40 | { 41 | "os": "linux", 42 | "distribution": "rockylinux" 43 | }, 44 | { 45 | "os": "linux", 46 | "distribution": "redhat" 47 | } 48 | ] 49 | }, 50 | { 51 | "packages": ["libopenmpt-dev", "portaudio-dev"], 52 | "constraints": [ 53 | { 54 | "os": "linux", 55 | "distribution": "alpine", 56 | "versions": [ "3.18", "3.19", "3.20", "3.21", "edge" ] 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/osmium-tool.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bosmium-tool\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["osmium-tool"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | }, 15 | { 16 | "os": "linux", 17 | "distribution": "fedora" 18 | } 19 | ] 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/pandoc-citeproc.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bpandoc-citeproc\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["pandoc-citeproc"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu", 10 | "versions": ["14.04", "16.04", "18.04", "20.04", "22.04"] 11 | }, 12 | { 13 | "os": "linux", 14 | "distribution": "debian", 15 | "versions": [ "10", "11" ] 16 | } 17 | ] 18 | }, 19 | { 20 | "packages": ["pandoc-citeproc"], 21 | "pre_install": [ 22 | { 23 | "command": "yum install -y epel-release" 24 | } 25 | ], 26 | "constraints": [ 27 | { 28 | "os": "linux", 29 | "distribution": "centos", 30 | "versions": ["7"] 31 | } 32 | ] 33 | }, 34 | { 35 | "packages": ["pandoc-citeproc"], 36 | "pre_install": [ 37 | { 38 | "command": "rpm -q epel-release || yum install -y https://archives.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm" 39 | } 40 | ], 41 | "constraints": [ 42 | { 43 | "os": "linux", 44 | "distribution": "redhat", 45 | "versions": ["7"] 46 | } 47 | ] 48 | } 49 | ] 50 | } 51 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/pango.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bpango\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libpango1.0-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["pango-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["pango-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["pango-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/pari-gp.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bpari/gp\\b", "\\bpari-gp\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["pari-gp"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["pari-gp"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "fedora" 23 | } 24 | ] 25 | }, 26 | { 27 | "packages": ["pari-gp"], 28 | "pre_install": [ 29 | { 30 | "command": "yum install -y epel-release" 31 | } 32 | ], 33 | "constraints": [ 34 | { 35 | "os": "linux", 36 | "distribution": "centos", 37 | "versions": ["6"] 38 | } 39 | ] 40 | }, 41 | { 42 | "packages": ["pari-gp"], 43 | "pre_install": [ 44 | { 45 | "command": "rpm -q epel-release || yum install -y https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm" 46 | } 47 | ], 48 | "constraints": [ 49 | { 50 | "os": "linux", 51 | "distribution": "redhat", 52 | "versions": ["6"] 53 | } 54 | ] 55 | }, 56 | { 57 | "packages": ["pari-gp"], 58 | "constraints": [ 59 | { 60 | "os": "linux", 61 | "distribution": "opensuse" 62 | } 63 | ] 64 | } 65 | ] 66 | } 67 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bpatch\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["patch"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | }, 15 | { 16 | "os": "linux", 17 | "distribution": "fedora" 18 | }, 19 | { 20 | "os": "linux", 21 | "distribution": "opensuse" 22 | }, 23 | { 24 | "os": "linux", 25 | "distribution": "rockylinux" 26 | }, 27 | { 28 | "os": "linux", 29 | "distribution": "alpine" 30 | } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/perl.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bperl\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["perl"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["perl"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["perl"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["perl"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/saga.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bsaga\\b", "\\bsaga gis\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["saga"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["saga-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "fedora", 23 | "versions": [ "36", "37" ] 24 | } 25 | ] 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/saint.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bsaint"], 3 | "dependencies": [ 4 | { 5 | "packages": ["saint"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /inst/sysreqs/rules/sasl.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bsasl\\b", "\\bcyrus sasl\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libsasl2-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["cyrus-sasl-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["cyrus-sasl-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | } 45 | ] 46 | }, 47 | { 48 | "packages": ["cyrus-sasl-dev"], 49 | "constraints": [ 50 | { 51 | "os": "linux", 52 | "distribution": "alpine" 53 | } 54 | ] 55 | } 56 | ] 57 | } 58 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/sqlite3.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bsqlite3\\b", "\\bsqlite\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libsqlite3-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["sqlite-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["sqlite3-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["sqlite-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/swftools.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bswftools\\b", "\\bswf tools\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["swftools"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu", 10 | "versions": ["14.04", "16.04", "18.04"] 11 | } 12 | ] 13 | }, 14 | { 15 | "packages": ["swftools"], 16 | "constraints": [ 17 | { 18 | "os": "linux", 19 | "distribution": "opensuse", 20 | "versions": ["42.3"] 21 | } 22 | ] 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/tcltk.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\btcl/tk\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["tcl", "tk"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["tcl", "tk"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["tcl", "tk"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["tcl", "tk"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/tk.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": [ 3 | "\\btk\\b" 4 | ], 5 | "dependencies": [ 6 | { 7 | "packages": [ 8 | "tk-dev" 9 | ], 10 | "constraints": [ 11 | { 12 | "os": "linux", 13 | "distribution": "ubuntu" 14 | }, 15 | { 16 | "os": "linux", 17 | "distribution": "debian" 18 | } 19 | ] 20 | }, 21 | { 22 | "packages": [ 23 | "tk-devel" 24 | ], 25 | "constraints": [ 26 | { 27 | "os": "linux", 28 | "distribution": "centos" 29 | }, 30 | { 31 | "os": "linux", 32 | "distribution": "rockylinux" 33 | }, 34 | { 35 | "os": "linux", 36 | "distribution": "redhat" 37 | }, 38 | { 39 | "os": "linux", 40 | "distribution": "sle" 41 | }, 42 | { 43 | "os": "linux", 44 | "distribution": "opensuse" 45 | }, 46 | { 47 | "os": "linux", 48 | "distribution": "fedora" 49 | } 50 | ] 51 | }, 52 | { 53 | "packages": [ 54 | "tk-dev" 55 | ], 56 | "constraints": [ 57 | { 58 | "os": "linux", 59 | "distribution": "alpine" 60 | } 61 | ] 62 | } 63 | ] 64 | } 65 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/tktable.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\btktable\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["tk-table"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["tktable"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "opensuse" 23 | } 24 | ] 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /inst/sysreqs/rules/wget.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bwget\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["wget"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["wget"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["wget"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["wget"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/x11.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bX11\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libx11-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | }, 15 | { 16 | "os": "linux", 17 | "distribution": "alpine" 18 | } 19 | ] 20 | }, 21 | { 22 | "packages": ["libX11-devel"], 23 | "constraints": [ 24 | { 25 | "os": "linux", 26 | "distribution": "centos" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "rockylinux" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "redhat" 35 | }, 36 | { 37 | "os": "linux", 38 | "distribution": "fedora" 39 | }, 40 | { 41 | "os": "linux", 42 | "distribution": "opensuse" 43 | }, 44 | { 45 | "os": "linux", 46 | "distribution": "sle" 47 | } 48 | ] 49 | } 50 | ] 51 | } 52 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/xft.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bxft\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["libxft-dev"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["libXft-devel"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "fedora" 35 | } 36 | ] 37 | }, 38 | { 39 | "packages": ["libXft-devel"], 40 | "constraints": [ 41 | { 42 | "os": "linux", 43 | "distribution": "opensuse" 44 | }, 45 | { 46 | "os": "linux", 47 | "distribution": "sle" 48 | } 49 | ] 50 | }, 51 | { 52 | "packages": ["libxft-dev"], 53 | "constraints": [ 54 | { 55 | "os": "linux", 56 | "distribution": "alpine" 57 | } 58 | ] 59 | } 60 | ] 61 | } 62 | -------------------------------------------------------------------------------- /inst/sysreqs/rules/xz.json: -------------------------------------------------------------------------------- 1 | { 2 | "patterns": ["\\bxz\\b"], 3 | "dependencies": [ 4 | { 5 | "packages": ["xz-utils"], 6 | "constraints": [ 7 | { 8 | "os": "linux", 9 | "distribution": "ubuntu" 10 | }, 11 | { 12 | "os": "linux", 13 | "distribution": "debian" 14 | } 15 | ] 16 | }, 17 | { 18 | "packages": ["xz"], 19 | "constraints": [ 20 | { 21 | "os": "linux", 22 | "distribution": "centos" 23 | }, 24 | { 25 | "os": "linux", 26 | "distribution": "rockylinux" 27 | }, 28 | { 29 | "os": "linux", 30 | "distribution": "redhat" 31 | }, 32 | { 33 | "os": "linux", 34 | "distribution": "opensuse" 35 | }, 36 | { 37 | "os": "linux", 38 | "distribution": "sle" 39 | }, 40 | { 41 | "os": "linux", 42 | "distribution": "fedora" 43 | }, 44 | { 45 | "os": "linux", 46 | "distribution": "alpine" 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /inst/tools/pkg_1.0.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/inst/tools/pkg_1.0.0.tgz -------------------------------------------------------------------------------- /inst/tools/xxx: -------------------------------------------------------------------------------- 1 | xxx 2 | -------------------------------------------------------------------------------- /inst/tools/xxx.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/inst/tools/xxx.bz2 -------------------------------------------------------------------------------- /inst/tools/xxx.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/inst/tools/xxx.gz -------------------------------------------------------------------------------- /inst/tools/xxx.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/inst/tools/xxx.tar.gz -------------------------------------------------------------------------------- /inst/tools/xxx.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/inst/tools/xxx.xz -------------------------------------------------------------------------------- /inst/tools/xxx.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/inst/tools/xxx.zip -------------------------------------------------------------------------------- /man/ghrepo.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/gh-repo.R 3 | \name{ghrepo} 4 | \alias{ghrepo} 5 | \title{Update a CRAN-like repository of binary packages at GitHub} 6 | \description{ 7 | These functions are currently experimental. 8 | } 9 | \details{ 10 | \subsection{Update a CRAN-like repository of binary packages at GitHub}{ 11 | 12 | \code{ghrepo$update()} updates a binary package mirror. 13 | \subsection{Usage}{ 14 | 15 | \if{html}{\out{
}}\preformatted{ghrepo$update( 16 | repo, 17 | subdir, 18 | release_org = "cran", 19 | source_repo = "https://cran.r-project.org", 20 | packages = NULL 21 | ) 22 | }\if{html}{\out{
}} 23 | } 24 | 25 | \subsection{Arguments}{ 26 | \itemize{ 27 | \item \code{repo}: GitHub slug, e.g. \code{r-hub/repos}. 28 | \item \code{subdir}: subdirectory in the GitHub repository, where the R package 29 | metadata should be updated. It must exist in the repository. 30 | If it does not have \verb{PACKAGES*} files, then they will be created. 31 | \item \code{release_org}: GitHub organization or user name where the packages 32 | will be published as releases. 33 | \item \code{source_repo}: A CRAN-like repository, where source packages are 34 | taken from. 35 | \item \code{packages}: A character vector of package names to add to the binary 36 | repository, in addition to updating the ones that are already there. 37 | } 38 | } 39 | 40 | } 41 | } 42 | \keyword{internal} 43 | -------------------------------------------------------------------------------- /man/install_package_plan.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/install-plan.R 3 | \name{install_package_plan} 4 | \alias{install_package_plan} 5 | \title{Perform a package installation plan} 6 | \usage{ 7 | install_package_plan( 8 | plan, 9 | lib = .libPaths()[[1]], 10 | num_workers = 1, 11 | cache = NULL 12 | ) 13 | } 14 | \arguments{ 15 | \item{plan}{Package plan object, a data frame, see 16 | \link[=install_plans]{'Installation plans'} for the format.} 17 | 18 | \item{lib}{Library directory to install to.} 19 | 20 | \item{num_workers}{Number of worker processes to use.} 21 | 22 | \item{cache}{Package cache to use, or \code{NULL}.} 23 | } 24 | \value{ 25 | Information about the installation process. 26 | } 27 | \description{ 28 | See \link[=install_plans]{'Installation plans'} for the details and the format. 29 | } 30 | -------------------------------------------------------------------------------- /man/is_valid_package_name.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/valid-name.R 3 | \name{is_valid_package_name} 4 | \alias{is_valid_package_name} 5 | \title{Check whether a package name is valid} 6 | \usage{ 7 | is_valid_package_name(nm) 8 | } 9 | \arguments{ 10 | \item{nm}{Potential package name, string of length 1.} 11 | } 12 | \value{ 13 | Logical flag. If \code{FALSE}, then the \code{reason} attribute 14 | contains a character string, the explanation why the package name 15 | is invalid. See examples below. 16 | } 17 | \description{ 18 | Check whether a package name is valid 19 | } 20 | \examples{ 21 | is_valid_package_name("pak") 22 | is_valid_package_name("pkg") 23 | is_valid_package_name("pak\u00e1ge") 24 | is_valid_package_name("good-package") 25 | is_valid_package_name("x") 26 | is_valid_package_name("1stpackage") 27 | is_valid_package_name("dots.") 28 | } 29 | -------------------------------------------------------------------------------- /man/macros/eval.Rd: -------------------------------------------------------------------------------- 1 | \newcommand{\eval}{\code{#1}} 2 | \newcommand{\evalatinstall}{\code{#1}} 3 | \newcommand{\evaltop}{\section{Section}{\code{#1}}} 4 | \newcommand{\evalatinstalltop}{\section{Section}{\code{#1}}} 5 | -------------------------------------------------------------------------------- /man/parse_pkg_refs.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/parse-remotes.R 3 | \name{parse_pkg_refs} 4 | \alias{parse_pkg_refs} 5 | \alias{parse_pkg_ref} 6 | \title{Parse package location references} 7 | \usage{ 8 | parse_pkg_refs(refs, remote_types = NULL, ...) 9 | 10 | parse_pkg_ref(ref, remote_types = NULL, ...) 11 | } 12 | \arguments{ 13 | \item{refs}{Character vector of references.} 14 | 15 | \item{remote_types}{Custom remote types can be added here, this is 16 | for advanced use, and experimental currently.} 17 | 18 | \item{...}{Additional arguments are passed to the individual parser 19 | functions.} 20 | 21 | \item{ref}{A package reference, like \code{refs}, but a length one vector, 22 | for convenience.} 23 | } 24 | \value{ 25 | \code{parse_pkg_refs()} returns a list of parsed references. 26 | \code{parse_pkg_ref()} returns one parsed reference. A parsed reference is 27 | a list, with at least elements: 28 | \itemize{ 29 | \item \code{ref}: The original reference string. 30 | \item \code{type}: The reference type. 31 | \item \code{package}: The package name. 32 | It typically contains additional data, specific to the various 33 | reference types. See \link{pkg_refs} for details. 34 | The parsed reference always has class \verb{remote_ref_} and 35 | \code{remote_ref}. 36 | } 37 | } 38 | \description{ 39 | See \link{pkg_refs} for more about supported package references. 40 | } 41 | -------------------------------------------------------------------------------- /man/pkg_build.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/builder.R 3 | \name{pkg_build} 4 | \alias{pkg_build} 5 | \title{Create a binary package from an installed package} 6 | \usage{ 7 | pkg_build( 8 | pkg, 9 | library = .libPaths()[1], 10 | flavor = Sys.getenv("PKG_BUILD_FLAVOR"), 11 | build_number = 1L 12 | ) 13 | } 14 | \arguments{ 15 | \item{pkg}{Package name.} 16 | 17 | \item{library}{Library path.} 18 | 19 | \item{flavor}{Platform flavor. Defaults to the \code{PKG_BUILD_FLAVOR} 20 | environment variable. If not \code{NULL} or an empty string, then it is 21 | appended to the platform string with a dash.} 22 | 23 | \item{build_number}{An integer number that is added to the file name, 24 | after the version number, to be able to have multiple builds for the 25 | same package version.} 26 | } 27 | \value{ 28 | Path to the built package. 29 | } 30 | \description{ 31 | The built package will be in the current working directory. 32 | } 33 | \details{ 34 | This function is currently experimental. 35 | } 36 | \keyword{internal} 37 | -------------------------------------------------------------------------------- /man/pkg_dep_types.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/dep-utils.R 3 | \name{pkg_dep_types_hard} 4 | \alias{pkg_dep_types_hard} 5 | \alias{pkg_dep_types_soft} 6 | \alias{pkg_dep_types} 7 | \title{Possible package dependency types} 8 | \usage{ 9 | pkg_dep_types_hard() 10 | 11 | pkg_dep_types_soft() 12 | 13 | pkg_dep_types() 14 | } 15 | \value{ 16 | A string vector of dependency types, capitalized. 17 | } 18 | \description{ 19 | Hard dependencies are needed for a package to load, soft dependencies 20 | are optional. 21 | } 22 | \seealso{ 23 | Other package dependency utilities: 24 | \code{\link{as_pkg_dependencies}()} 25 | } 26 | \concept{package dependency utilities} 27 | -------------------------------------------------------------------------------- /man/pkg_rx.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/rx.R 3 | \name{pkg_rx} 4 | \alias{pkg_rx} 5 | \title{A set of handy regular expressions related to R packages} 6 | \usage{ 7 | pkg_rx() 8 | } 9 | \value{ 10 | A named list of strings. 11 | } 12 | \description{ 13 | If you use these in R, make sure you specify \code{perl = TRUE}, see 14 | \code{\link[base:grep]{base::grep()}}. 15 | } 16 | \details{ 17 | Currently included: 18 | \itemize{ 19 | \item \code{pkg_name}: A valid package name. 20 | \item \code{type_cran}: A \verb{cran::} package reference. 21 | \item \code{type_bioc}: A \verb{bioc::} package reference. 22 | \item \code{type_standard}: A \verb{standard::} package reference. 23 | \item \code{type_github}: A \verb{github::} package reference. 24 | \item \code{type_git}: A \verb{git::} package reference. 25 | \item \code{type_local}: A \verb{local::} package reference. 26 | \item \code{type_deps}: A \verb{deps::} package reference. 27 | \item \code{type_installed}: An \verb{installed::} package reference. 28 | \item \code{github_username}: A GitHub username. 29 | \item \code{github_repo}: A GitHub repository name. 30 | \item \code{github_url}: A GitHub URL. 31 | } 32 | } 33 | \examples{ 34 | pkg_rx() 35 | } 36 | -------------------------------------------------------------------------------- /man/roxygen/meta.R: -------------------------------------------------------------------------------- 1 | options(asciicast_timeout = 600) 2 | if (exists(".knitr_asciicast_process", envir = .GlobalEnv)) { 3 | rm(list = ".knitr_asciicast_process", envir = .GlobalEnv) 4 | } 5 | 6 | asciicast::init_knitr_engine( 7 | echo = TRUE, 8 | echo_input = FALSE, 9 | interactive = FALSE, 10 | timeout = as.integer(Sys.getenv("ASCIICAST_TIMEOUT", 300)), 11 | startup = quote({ 12 | options(width = 72) 13 | options(cli.width = 72) 14 | options(cli.progress_show_after = 0) 15 | options(cli.progress_clear = FALSE) 16 | library(cli) 17 | pkgload::load_all() 18 | set.seed(1) 19 | }) 20 | ) 21 | 22 | knitr::opts_chunk$set( 23 | asciicast_knitr_output = "html", 24 | asciicast_include_style = FALSE, 25 | asciicast_theme = "pkgdown", 26 | asciicast_width = 72, 27 | asciicast_cols = 72 28 | ) 29 | 30 | list( 31 | markdown = TRUE, 32 | knitr_chunk_options = list( 33 | cache = TRUE, 34 | cache_lazy = FALSE, 35 | cache.path = file.path(getwd(), "man/_cache/"), 36 | fig.path = file.path(getwd(), "man/figures"), 37 | error = TRUE 38 | ), 39 | restrict_image_formats = TRUE 40 | ) 41 | -------------------------------------------------------------------------------- /man/sysreqs_db_update.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/sysreqsdocs.R 3 | \name{sysreqs_db_update} 4 | \alias{sysreqs_db_update} 5 | \title{Update the cached copy of the system requirements database} 6 | \usage{ 7 | sysreqs_db_update() 8 | } 9 | \description{ 10 | Update the cached copy of the system requirements database 11 | } 12 | \details{ 13 | If the the cached copy is recent, then no update is attempted. See the 14 | \code{metadata_update_after} \eval{man_config_link("configuration option")}. 15 | } 16 | \seealso{ 17 | Other system requirements functions: 18 | \code{\link{sysreqs_check_installed}()}, 19 | \code{\link{sysreqs_db_list}()}, 20 | \code{\link{sysreqs_db_match}()}, 21 | \code{\link{sysreqs_install_plan}()}, 22 | \code{\link{sysreqs_is_supported}()}, 23 | \code{\link{sysreqs_list_system_packages}()}, 24 | \code{\link{sysreqs_platforms}()} 25 | } 26 | \concept{system requirements functions} 27 | -------------------------------------------------------------------------------- /man/sysreqs_is_supported.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/sysreqsdocs.R 3 | \name{sysreqs_is_supported} 4 | \alias{sysreqs_is_supported} 5 | \title{Check if a platform has system requirements support} 6 | \usage{ 7 | sysreqs_is_supported(sysreqs_platform = NULL) 8 | } 9 | \arguments{ 10 | \item{sysreqs_platform}{System requirements platform. If \code{NULL}, then the 11 | \code{sysreqs_platform} \eval{man_config_link("configuration option")} 12 | is used, which defaults to the current platform. Set this option if 13 | \eval{.packageName} does not detect your platform correctly.} 14 | } 15 | \value{ 16 | Logical scalar. 17 | } 18 | \description{ 19 | Check if a platform has system requirements support 20 | } 21 | \examples{ 22 | \dontshow{if (Sys.getenv("IN_PKGDOWN") == "true") (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} 23 | sysreqs_is_supported() 24 | \dontshow{\}) # examplesIf} 25 | } 26 | \seealso{ 27 | The \code{sysreqs_platform} 28 | \eval{man_config_link("configuration option")}. 29 | 30 | Other system requirements functions: 31 | \code{\link{sysreqs_check_installed}()}, 32 | \code{\link{sysreqs_db_list}()}, 33 | \code{\link{sysreqs_db_match}()}, 34 | \code{\link{sysreqs_db_update}()}, 35 | \code{\link{sysreqs_install_plan}()}, 36 | \code{\link{sysreqs_list_system_packages}()}, 37 | \code{\link{sysreqs_platforms}()} 38 | } 39 | \concept{system requirements functions} 40 | -------------------------------------------------------------------------------- /man/sysreqs_platforms.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/sysreqsdocs.R 3 | \name{sysreqs_platforms} 4 | \alias{sysreqs_platforms} 5 | \title{List platforms with system requirements support} 6 | \usage{ 7 | sysreqs_platforms() 8 | } 9 | \value{ 10 | Data frame with columns: 11 | \itemize{ 12 | \item \code{name}: human readable OS name. 13 | \item \code{os}: OS name, e.g. \code{linux}. 14 | \item \code{distribution}: OS id, e.g. \code{ubuntu} or \code{redhat}. 15 | \item \code{version}: distribution version. A star means that all versions are 16 | supported, that are also supported by the vendor. 17 | \item \code{update_command}: command to run to update the system package metadata. 18 | \item \code{install_command}: command to run to install packages. 19 | \item \code{query_command}: name of the tool to use to query system package 20 | information. 21 | } 22 | } 23 | \description{ 24 | List platforms with system requirements support 25 | } 26 | \examples{ 27 | \dontshow{if (Sys.getenv("IN_PKGDOWN") == "true") (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} 28 | sysreqs_platforms() 29 | \dontshow{\}) # examplesIf} 30 | } 31 | \seealso{ 32 | Other system requirements functions: 33 | \code{\link{sysreqs_check_installed}()}, 34 | \code{\link{sysreqs_db_list}()}, 35 | \code{\link{sysreqs_db_match}()}, 36 | \code{\link{sysreqs_db_update}()}, 37 | \code{\link{sysreqs_install_plan}()}, 38 | \code{\link{sysreqs_is_supported}()}, 39 | \code{\link{sysreqs_list_system_packages}()} 40 | } 41 | \concept{system requirements functions} 42 | -------------------------------------------------------------------------------- /pkgdepends.Rproj: -------------------------------------------------------------------------------- 1 | Version: 1.0 2 | 3 | RestoreWorkspace: Default 4 | SaveWorkspace: Default 5 | AlwaysSaveHistory: Default 6 | 7 | EnableCodeIndexing: Yes 8 | UseSpacesForTab: Yes 9 | NumSpacesForTab: 2 10 | Encoding: UTF-8 11 | 12 | RnwWeave: Sweave 13 | LaTeX: pdfLaTeX 14 | 15 | AutoAppendNewline: Yes 16 | StripTrailingWhitespace: Yes 17 | 18 | BuildType: Package 19 | PackageUseDevtools: Yes 20 | PackageInstallArgs: --no-multiarch --with-keep.source 21 | -------------------------------------------------------------------------------- /src/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.so 3 | *.dll 4 | -------------------------------------------------------------------------------- /src/Makevars: -------------------------------------------------------------------------------- 1 | PKG_CPPFLAGS = \ 2 | -I./tree-sitter/lib/include \ 3 | -I./tree-sitter/lib/src \ 4 | -I./yaml 5 | 6 | tree-sitter-files = \ 7 | tree-sitter/lib/src/lib.o \ 8 | tree-sitter/r/parser.o \ 9 | tree-sitter/r/scanner.o \ 10 | tree-sitter/markdown/parser.o \ 11 | tree-sitter/markdown/scanner.o \ 12 | tree-sitter/markdown-inline/parser.o \ 13 | tree-sitter/markdown-inline/scanner.o \ 14 | tree-sitter/yaml/parser.o \ 15 | tree-sitter/yaml/scanner.o 16 | 17 | yaml-files = \ 18 | yaml/api.o \ 19 | yaml/dumper.o \ 20 | yaml/emitter.o \ 21 | yaml/loader.o \ 22 | yaml/parser.o \ 23 | yaml/reader.o \ 24 | yaml/scanner.o \ 25 | yaml/writer.o 26 | 27 | lib-files = \ 28 | init.o cleancall.o tree-sitter.o yaml.o 29 | 30 | OBJECTS = $(tree-sitter-files) $(yaml-files) $(lib-files) 31 | 32 | all: $(SHLIB) 33 | 34 | clean: 35 | rm -rf $(SHLIB) $(OBJECTS) 36 | 37 | .PHONY: all clean 38 | -------------------------------------------------------------------------------- /src/init.c: -------------------------------------------------------------------------------- 1 | #define R_NO_REMAP 2 | #include 3 | #include 4 | 5 | #include "cleancall.h" 6 | 7 | SEXP code_query(SEXP input, SEXP pattern, SEXP rlanguage, SEXP ranges); 8 | SEXP code_query_path(SEXP path, SEXP pattern, SEXP rlanguage, SEXP ranges); 9 | SEXP s_expr(SEXP input, SEXP rlanguage, SEXP ranges); 10 | 11 | SEXP yaml_parse_scalar(SEXP x); 12 | 13 | static const R_CallMethodDef callMethods[] = { 14 | CLEANCALL_METHOD_RECORD, 15 | { "code_query", (DL_FUNC) &code_query, 4 }, 16 | { "code_query_path", (DL_FUNC) &code_query_path, 4 }, 17 | { "s_expr", (DL_FUNC) &s_expr, 3 }, 18 | { "yaml_parse_scalar", (DL_FUNC) &yaml_parse_scalar, 1 }, 19 | { NULL, NULL, 0 } 20 | }; 21 | 22 | void R_init_pkgdepends(DllInfo *dll) { 23 | R_registerRoutines(dll, NULL, callMethods, NULL, NULL); 24 | R_useDynamicSymbols(dll, FALSE); 25 | R_forceSymbols(dll, TRUE); 26 | cleancall_init(); 27 | } 28 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/alloc.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_ALLOC_H_ 2 | #define TREE_SITTER_ALLOC_H_ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #if defined(TREE_SITTER_HIDDEN_SYMBOLS) || defined(_WIN32) 13 | #define TS_PUBLIC 14 | #else 15 | #define TS_PUBLIC __attribute__((visibility("default"))) 16 | #endif 17 | 18 | TS_PUBLIC extern void *(*ts_current_malloc)(size_t); 19 | TS_PUBLIC extern void *(*ts_current_calloc)(size_t, size_t); 20 | TS_PUBLIC extern void *(*ts_current_realloc)(void *, size_t); 21 | TS_PUBLIC extern void (*ts_current_free)(void *); 22 | 23 | // Allow clients to override allocation functions 24 | #ifndef ts_malloc 25 | #define ts_malloc ts_current_malloc 26 | #endif 27 | #ifndef ts_calloc 28 | #define ts_calloc ts_current_calloc 29 | #endif 30 | #ifndef ts_realloc 31 | #define ts_realloc ts_current_realloc 32 | #endif 33 | #ifndef ts_free 34 | #define ts_free ts_current_free 35 | #endif 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | #endif // TREE_SITTER_ALLOC_H_ 42 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/error_costs.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_ERROR_COSTS_H_ 2 | #define TREE_SITTER_ERROR_COSTS_H_ 3 | 4 | #define ERROR_STATE 0 5 | #define ERROR_COST_PER_RECOVERY 500 6 | #define ERROR_COST_PER_MISSING_TREE 110 7 | #define ERROR_COST_PER_SKIPPED_TREE 100 8 | #define ERROR_COST_PER_SKIPPED_LINE 30 9 | #define ERROR_COST_PER_SKIPPED_CHAR 1 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/get_changed_ranges.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_GET_CHANGED_RANGES_H_ 2 | #define TREE_SITTER_GET_CHANGED_RANGES_H_ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include "./tree_cursor.h" 9 | #include "./subtree.h" 10 | 11 | typedef Array(TSRange) TSRangeArray; 12 | 13 | void ts_range_array_get_changed_ranges( 14 | const TSRange *old_ranges, unsigned old_range_count, 15 | const TSRange *new_ranges, unsigned new_range_count, 16 | TSRangeArray *differences 17 | ); 18 | 19 | bool ts_range_array_intersects( 20 | const TSRangeArray *self, unsigned start_index, 21 | uint32_t start_byte, uint32_t end_byte 22 | ); 23 | 24 | unsigned ts_subtree_get_changed_ranges( 25 | const Subtree *old_tree, const Subtree *new_tree, 26 | TreeCursor *cursor1, TreeCursor *cursor2, 27 | const TSLanguage *language, 28 | const TSRangeArray *included_range_differences, 29 | TSRange **ranges 30 | ); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif // TREE_SITTER_GET_CHANGED_RANGES_H_ 37 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/host.h: -------------------------------------------------------------------------------- 1 | 2 | // Determine endian and pointer size based on known defines. 3 | // TS_BIG_ENDIAN and TS_PTR_SIZE can be set as -D compiler arguments 4 | // to override this. 5 | 6 | #if !defined(TS_BIG_ENDIAN) 7 | #if (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) \ 8 | || (defined( __APPLE_CC__) && (defined(__ppc__) || defined(__ppc64__))) 9 | #define TS_BIG_ENDIAN 1 10 | #else 11 | #define TS_BIG_ENDIAN 0 12 | #endif 13 | #endif 14 | 15 | #if !defined(TS_PTR_SIZE) 16 | #if UINTPTR_MAX == 0xFFFFFFFF 17 | #define TS_PTR_SIZE 32 18 | #else 19 | #define TS_PTR_SIZE 64 20 | #endif 21 | #endif 22 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/length.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_LENGTH_H_ 2 | #define TREE_SITTER_LENGTH_H_ 3 | 4 | #include 5 | #include 6 | #include "./point.h" 7 | #include "tree_sitter/api.h" 8 | 9 | typedef struct { 10 | uint32_t bytes; 11 | TSPoint extent; 12 | } Length; 13 | 14 | static const Length LENGTH_UNDEFINED = {0, {0, 1}}; 15 | static const Length LENGTH_MAX = {UINT32_MAX, {UINT32_MAX, UINT32_MAX}}; 16 | 17 | static inline bool length_is_undefined(Length length) { 18 | return length.bytes == 0 && length.extent.column != 0; 19 | } 20 | 21 | static inline Length length_min(Length len1, Length len2) { 22 | return (len1.bytes < len2.bytes) ? len1 : len2; 23 | } 24 | 25 | static inline Length length_add(Length len1, Length len2) { 26 | Length result; 27 | result.bytes = len1.bytes + len2.bytes; 28 | result.extent = point_add(len1.extent, len2.extent); 29 | return result; 30 | } 31 | 32 | static inline Length length_sub(Length len1, Length len2) { 33 | Length result; 34 | result.bytes = len1.bytes - len2.bytes; 35 | result.extent = point_sub(len1.extent, len2.extent); 36 | return result; 37 | } 38 | 39 | static inline Length length_zero(void) { 40 | Length result = {0, {0, 0}}; 41 | return result; 42 | } 43 | 44 | static inline Length length_saturating_sub(Length len1, Length len2) { 45 | if (len1.bytes > len2.bytes) { 46 | return length_sub(len1, len2); 47 | } else { 48 | return length_zero(); 49 | } 50 | } 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/lexer.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_LEXER_H_ 2 | #define TREE_SITTER_LEXER_H_ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include "./length.h" 9 | #include "./subtree.h" 10 | #include "tree_sitter/api.h" 11 | #include "./parser.h" 12 | 13 | typedef struct { 14 | TSLexer data; 15 | Length current_position; 16 | Length token_start_position; 17 | Length token_end_position; 18 | 19 | TSRange *included_ranges; 20 | const char *chunk; 21 | TSInput input; 22 | TSLogger logger; 23 | 24 | uint32_t included_range_count; 25 | uint32_t current_included_range_index; 26 | uint32_t chunk_start; 27 | uint32_t chunk_size; 28 | uint32_t lookahead_size; 29 | bool did_get_column; 30 | 31 | char debug_buffer[TREE_SITTER_SERIALIZATION_BUFFER_SIZE]; 32 | } Lexer; 33 | 34 | void ts_lexer_init(Lexer *); 35 | void ts_lexer_delete(Lexer *); 36 | void ts_lexer_set_input(Lexer *, TSInput); 37 | void ts_lexer_reset(Lexer *, Length); 38 | void ts_lexer_start(Lexer *); 39 | void ts_lexer_finish(Lexer *, uint32_t *); 40 | void ts_lexer_advance_to_end(Lexer *); 41 | void ts_lexer_mark_end(Lexer *); 42 | bool ts_lexer_set_included_ranges(Lexer *self, const TSRange *ranges, uint32_t count); 43 | TSRange *ts_lexer_included_ranges(const Lexer *self, uint32_t *count); 44 | 45 | #ifdef __cplusplus 46 | } 47 | #endif 48 | 49 | #endif // TREE_SITTER_LEXER_H_ 50 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/lib.c: -------------------------------------------------------------------------------- 1 | #define _POSIX_C_SOURCE 200112L 2 | 3 | #include "./alloc.c" 4 | #include "./get_changed_ranges.c" 5 | #include "./language.c" 6 | #include "./lexer.c" 7 | #include "./node.c" 8 | #include "./parser.c" 9 | #include "./query.c" 10 | #include "./stack.c" 11 | #include "./subtree.c" 12 | #include "./tree_cursor.c" 13 | #include "./tree.c" 14 | #include "./wasm_store.c" 15 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/reduce_action.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_REDUCE_ACTION_H_ 2 | #define TREE_SITTER_REDUCE_ACTION_H_ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include "./array.h" 9 | #include "tree_sitter/api.h" 10 | 11 | typedef struct { 12 | uint32_t count; 13 | TSSymbol symbol; 14 | int dynamic_precedence; 15 | unsigned short production_id; 16 | } ReduceAction; 17 | 18 | typedef Array(ReduceAction) ReduceActionSet; 19 | 20 | static inline void ts_reduce_action_set_add(ReduceActionSet *self, 21 | ReduceAction new_action) { 22 | for (uint32_t i = 0; i < self->size; i++) { 23 | ReduceAction action = self->contents[i]; 24 | if (action.symbol == new_action.symbol && action.count == new_action.count) 25 | return; 26 | } 27 | array_push(self, new_action); 28 | } 29 | 30 | #ifdef __cplusplus 31 | } 32 | #endif 33 | 34 | #endif // TREE_SITTER_REDUCE_ACTION_H_ 35 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/tree.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_TREE_H_ 2 | #define TREE_SITTER_TREE_H_ 3 | 4 | #include "./subtree.h" 5 | 6 | #ifdef __cplusplus 7 | extern "C" { 8 | #endif 9 | 10 | typedef struct { 11 | const Subtree *child; 12 | const Subtree *parent; 13 | Length position; 14 | TSSymbol alias_symbol; 15 | } ParentCacheEntry; 16 | 17 | struct TSTree { 18 | Subtree root; 19 | const TSLanguage *language; 20 | TSRange *included_ranges; 21 | unsigned included_range_count; 22 | }; 23 | 24 | TSTree *ts_tree_new(Subtree root, const TSLanguage *language, const TSRange *, unsigned); 25 | TSNode ts_node_new(const TSTree *, const Subtree *, Length, TSSymbol); 26 | 27 | #ifdef __cplusplus 28 | } 29 | #endif 30 | 31 | #endif // TREE_SITTER_TREE_H_ 32 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/tree_cursor.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_TREE_CURSOR_H_ 2 | #define TREE_SITTER_TREE_CURSOR_H_ 3 | 4 | #include "./subtree.h" 5 | 6 | typedef struct { 7 | const Subtree *subtree; 8 | Length position; 9 | uint32_t child_index; 10 | uint32_t structural_child_index; 11 | uint32_t descendant_index; 12 | } TreeCursorEntry; 13 | 14 | typedef struct { 15 | const TSTree *tree; 16 | Array(TreeCursorEntry) stack; 17 | TSSymbol root_alias_symbol; 18 | } TreeCursor; 19 | 20 | typedef enum { 21 | TreeCursorStepNone, 22 | TreeCursorStepHidden, 23 | TreeCursorStepVisible, 24 | } TreeCursorStep; 25 | 26 | void ts_tree_cursor_init(TreeCursor *, TSNode); 27 | void ts_tree_cursor_current_status( 28 | const TSTreeCursor *, 29 | TSFieldId *, 30 | bool *, 31 | bool *, 32 | bool *, 33 | TSSymbol *, 34 | unsigned * 35 | ); 36 | 37 | TreeCursorStep ts_tree_cursor_goto_first_child_internal(TSTreeCursor *); 38 | TreeCursorStep ts_tree_cursor_goto_next_sibling_internal(TSTreeCursor *); 39 | 40 | static inline Subtree ts_tree_cursor_current_subtree(const TSTreeCursor *_self) { 41 | const TreeCursor *self = (const TreeCursor *)_self; 42 | TreeCursorEntry *last_entry = array_back(&self->stack); 43 | return *last_entry->subtree; 44 | } 45 | 46 | TSNode ts_tree_cursor_parent_node(const TSTreeCursor *); 47 | 48 | #endif // TREE_SITTER_TREE_CURSOR_H_ 49 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/unicode.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_UNICODE_H_ 2 | #define TREE_SITTER_UNICODE_H_ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include 9 | #include 10 | 11 | #define U_EXPORT 12 | #define U_EXPORT2 13 | #include "unicode/utf8.h" 14 | #include "unicode/utf16.h" 15 | 16 | static const int32_t TS_DECODE_ERROR = U_SENTINEL; 17 | 18 | // These functions read one unicode code point from the given string, 19 | // returning the number of bytes consumed. 20 | typedef uint32_t (*UnicodeDecodeFunction)( 21 | const uint8_t *string, 22 | uint32_t length, 23 | int32_t *code_point 24 | ); 25 | 26 | static inline uint32_t ts_decode_utf8( 27 | const uint8_t *string, 28 | uint32_t length, 29 | int32_t *code_point 30 | ) { 31 | uint32_t i = 0; 32 | U8_NEXT(string, i, length, *code_point); 33 | return i; 34 | } 35 | 36 | static inline uint32_t ts_decode_utf16( 37 | const uint8_t *string, 38 | uint32_t length, 39 | int32_t *code_point 40 | ) { 41 | uint32_t i = 0; 42 | U16_NEXT(((uint16_t *)string), i, length, *code_point); 43 | return i * 2; 44 | } 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif 49 | 50 | #endif // TREE_SITTER_UNICODE_H_ 51 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/unicode/ICU_SHA: -------------------------------------------------------------------------------- 1 | 552b01f61127d30d6589aa4bf99468224979b661 2 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/unicode/README.md: -------------------------------------------------------------------------------- 1 | # ICU Parts 2 | 3 | This directory contains a small subset of files from the Unicode organization's [ICU repository](https://github.com/unicode-org/icu). 4 | 5 | ### License 6 | 7 | The license for these files is contained in the `LICENSE` file within this directory. 8 | 9 | ### Contents 10 | 11 | * Source files taken from the [`icu4c/source/common/unicode`](https://github.com/unicode-org/icu/tree/552b01f61127d30d6589aa4bf99468224979b661/icu4c/source/common/unicode) directory: 12 | * `utf8.h` 13 | * `utf16.h` 14 | * `umachine.h` 15 | * Empty source files that are referenced by the above source files, but whose original contents in `libicu` are not needed: 16 | * `ptypes.h` 17 | * `urename.h` 18 | * `utf.h` 19 | * `ICU_SHA` - File containing the Git SHA of the commit in the `icu` repository from which the files were obtained. 20 | * `LICENSE` - The license file from the [`icu4c`](https://github.com/unicode-org/icu/tree/552b01f61127d30d6589aa4bf99468224979b661/icu4c) directory of the `icu` repository. 21 | * `README.md` - This text file. 22 | 23 | ### Updating ICU 24 | 25 | To incorporate changes from the upstream `icu` repository: 26 | 27 | * Update `ICU_SHA` with the new Git SHA. 28 | * Update `LICENSE` with the license text from the directory mentioned above. 29 | * Update `utf8.h`, `utf16.h`, and `umachine.h` with their new contents in the `icu` repository. 30 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/unicode/ptypes.h: -------------------------------------------------------------------------------- 1 | // This file must exist in order for `utf8.h` and `utf16.h` to be used. 2 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/unicode/urename.h: -------------------------------------------------------------------------------- 1 | // This file must exist in order for `utf8.h` and `utf16.h` to be used. 2 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/unicode/utf.h: -------------------------------------------------------------------------------- 1 | // This file must exist in order for `utf8.h` and `utf16.h` to be used. 2 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/wasm/stdlib-symbols.txt: -------------------------------------------------------------------------------- 1 | "calloc", 2 | "free", 3 | "iswalnum", 4 | "iswalpha", 5 | "iswblank", 6 | "iswdigit", 7 | "iswlower", 8 | "iswspace", 9 | "iswupper", 10 | "iswxdigit", 11 | "malloc", 12 | "memchr", 13 | "memcmp", 14 | "memcpy", 15 | "memmove", 16 | "memset", 17 | "realloc", 18 | "strcmp", 19 | "strlen", 20 | "strncat", 21 | "strncmp", 22 | "strncpy", 23 | "towlower", 24 | "towupper", 25 | -------------------------------------------------------------------------------- /src/tree-sitter/lib/src/wasm_store.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_WASM_H_ 2 | #define TREE_SITTER_WASM_H_ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include "tree_sitter/api.h" 9 | #include "./parser.h" 10 | 11 | bool ts_wasm_store_start(TSWasmStore *, TSLexer *, const TSLanguage *); 12 | void ts_wasm_store_reset(TSWasmStore *); 13 | bool ts_wasm_store_has_error(const TSWasmStore *); 14 | 15 | bool ts_wasm_store_call_lex_main(TSWasmStore *, TSStateId); 16 | bool ts_wasm_store_call_lex_keyword(TSWasmStore *, TSStateId); 17 | 18 | uint32_t ts_wasm_store_call_scanner_create(TSWasmStore *); 19 | void ts_wasm_store_call_scanner_destroy(TSWasmStore *, uint32_t); 20 | bool ts_wasm_store_call_scanner_scan(TSWasmStore *, uint32_t, uint32_t); 21 | uint32_t ts_wasm_store_call_scanner_serialize(TSWasmStore *, uint32_t, char *); 22 | void ts_wasm_store_call_scanner_deserialize(TSWasmStore *, uint32_t, const char *, unsigned); 23 | 24 | void ts_wasm_language_retain(const TSLanguage *); 25 | void ts_wasm_language_release(const TSLanguage *); 26 | 27 | #ifdef __cplusplus 28 | } 29 | #endif 30 | 31 | #endif // TREE_SITTER_WASM_H_ 32 | -------------------------------------------------------------------------------- /src/tree-sitter/markdown-inline/tree_sitter/alloc.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_ALLOC_H_ 2 | #define TREE_SITTER_ALLOC_H_ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | // Allow clients to override allocation functions 13 | #ifdef TREE_SITTER_REUSE_ALLOCATOR 14 | 15 | extern void *(*ts_current_malloc)(size_t); 16 | extern void *(*ts_current_calloc)(size_t, size_t); 17 | extern void *(*ts_current_realloc)(void *, size_t); 18 | extern void (*ts_current_free)(void *); 19 | 20 | #ifndef ts_malloc 21 | #define ts_malloc ts_current_malloc 22 | #endif 23 | #ifndef ts_calloc 24 | #define ts_calloc ts_current_calloc 25 | #endif 26 | #ifndef ts_realloc 27 | #define ts_realloc ts_current_realloc 28 | #endif 29 | #ifndef ts_free 30 | #define ts_free ts_current_free 31 | #endif 32 | 33 | #else 34 | 35 | #ifndef ts_malloc 36 | #define ts_malloc malloc 37 | #endif 38 | #ifndef ts_calloc 39 | #define ts_calloc calloc 40 | #endif 41 | #ifndef ts_realloc 42 | #define ts_realloc realloc 43 | #endif 44 | #ifndef ts_free 45 | #define ts_free free 46 | #endif 47 | 48 | #endif 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif 53 | 54 | #endif // TREE_SITTER_ALLOC_H_ 55 | -------------------------------------------------------------------------------- /src/tree-sitter/markdown/tree_sitter/alloc.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_ALLOC_H_ 2 | #define TREE_SITTER_ALLOC_H_ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | // Allow clients to override allocation functions 13 | #ifdef TREE_SITTER_REUSE_ALLOCATOR 14 | 15 | extern void *(*ts_current_malloc)(size_t); 16 | extern void *(*ts_current_calloc)(size_t, size_t); 17 | extern void *(*ts_current_realloc)(void *, size_t); 18 | extern void (*ts_current_free)(void *); 19 | 20 | #ifndef ts_malloc 21 | #define ts_malloc ts_current_malloc 22 | #endif 23 | #ifndef ts_calloc 24 | #define ts_calloc ts_current_calloc 25 | #endif 26 | #ifndef ts_realloc 27 | #define ts_realloc ts_current_realloc 28 | #endif 29 | #ifndef ts_free 30 | #define ts_free ts_current_free 31 | #endif 32 | 33 | #else 34 | 35 | #ifndef ts_malloc 36 | #define ts_malloc malloc 37 | #endif 38 | #ifndef ts_calloc 39 | #define ts_calloc calloc 40 | #endif 41 | #ifndef ts_realloc 42 | #define ts_realloc realloc 43 | #endif 44 | #ifndef ts_free 45 | #define ts_free free 46 | #endif 47 | 48 | #endif 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif 53 | 54 | #endif // TREE_SITTER_ALLOC_H_ 55 | -------------------------------------------------------------------------------- /src/tree-sitter/r/tree_sitter/alloc.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_ALLOC_H_ 2 | #define TREE_SITTER_ALLOC_H_ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | // Allow clients to override allocation functions 13 | #ifdef TREE_SITTER_REUSE_ALLOCATOR 14 | 15 | extern void *(*ts_current_malloc)(size_t); 16 | extern void *(*ts_current_calloc)(size_t, size_t); 17 | extern void *(*ts_current_realloc)(void *, size_t); 18 | extern void (*ts_current_free)(void *); 19 | 20 | #ifndef ts_malloc 21 | #define ts_malloc ts_current_malloc 22 | #endif 23 | #ifndef ts_calloc 24 | #define ts_calloc ts_current_calloc 25 | #endif 26 | #ifndef ts_realloc 27 | #define ts_realloc ts_current_realloc 28 | #endif 29 | #ifndef ts_free 30 | #define ts_free ts_current_free 31 | #endif 32 | 33 | #else 34 | 35 | #ifndef ts_malloc 36 | #define ts_malloc malloc 37 | #endif 38 | #ifndef ts_calloc 39 | #define ts_calloc calloc 40 | #endif 41 | #ifndef ts_realloc 42 | #define ts_realloc realloc 43 | #endif 44 | #ifndef ts_free 45 | #define ts_free free 46 | #endif 47 | 48 | #endif 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif 53 | 54 | #endif // TREE_SITTER_ALLOC_H_ 55 | -------------------------------------------------------------------------------- /src/tree-sitter/yaml/tree_sitter/alloc.h: -------------------------------------------------------------------------------- 1 | #ifndef TREE_SITTER_ALLOC_H_ 2 | #define TREE_SITTER_ALLOC_H_ 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | // Allow clients to override allocation functions 13 | #ifdef TREE_SITTER_REUSE_ALLOCATOR 14 | 15 | extern void *(*ts_current_malloc)(size_t size); 16 | extern void *(*ts_current_calloc)(size_t count, size_t size); 17 | extern void *(*ts_current_realloc)(void *ptr, size_t size); 18 | extern void (*ts_current_free)(void *ptr); 19 | 20 | #ifndef ts_malloc 21 | #define ts_malloc ts_current_malloc 22 | #endif 23 | #ifndef ts_calloc 24 | #define ts_calloc ts_current_calloc 25 | #endif 26 | #ifndef ts_realloc 27 | #define ts_realloc ts_current_realloc 28 | #endif 29 | #ifndef ts_free 30 | #define ts_free ts_current_free 31 | #endif 32 | 33 | #else 34 | 35 | #ifndef ts_malloc 36 | #define ts_malloc malloc 37 | #endif 38 | #ifndef ts_calloc 39 | #define ts_calloc calloc 40 | #endif 41 | #ifndef ts_realloc 42 | #define ts_realloc realloc 43 | #endif 44 | #ifndef ts_free 45 | #define ts_free free 46 | #endif 47 | 48 | #endif 49 | 50 | #ifdef __cplusplus 51 | } 52 | #endif 53 | 54 | #endif // TREE_SITTER_ALLOC_H_ 55 | -------------------------------------------------------------------------------- /tests/testthat.R: -------------------------------------------------------------------------------- 1 | if (Sys.getenv("NOT_CRAN") == "true") { 2 | library(testthat) 3 | library(pkgdepends) 4 | 5 | Sys.setenv(R_USER_CACHE_DIR = tempdir()) 6 | test_check("pkgdepends", reporter = "summary", filter = "scan-deps") 7 | } 8 | -------------------------------------------------------------------------------- /tests/testthat/_fixtures/01ca05e7e503765b871858b0a893ae85.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/_fixtures/01ca05e7e503765b871858b0a893ae85.rds -------------------------------------------------------------------------------- /tests/testthat/_fixtures/0468c02ed8cc959d7380ea172a55e336.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/_fixtures/0468c02ed8cc959d7380ea172a55e336.rds -------------------------------------------------------------------------------- /tests/testthat/_fixtures/13205944297f7f4f50e756b13397c0e5.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/_fixtures/13205944297f7f4f50e756b13397c0e5.rds -------------------------------------------------------------------------------- /tests/testthat/_fixtures/1e01504bf366a3d1d8a30a1bbfe42923.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/_fixtures/1e01504bf366a3d1d8a30a1bbfe42923.rds -------------------------------------------------------------------------------- /tests/testthat/_fixtures/4e90ad0d1fde0217f9683ea1f804af97.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/_fixtures/4e90ad0d1fde0217f9683ea1f804af97.rds -------------------------------------------------------------------------------- /tests/testthat/_fixtures/51e4c0280615fb2fc232bea02081489b.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/_fixtures/51e4c0280615fb2fc232bea02081489b.rds -------------------------------------------------------------------------------- /tests/testthat/_fixtures/75e1ebbe71ff2fe03ab19fff1d668396.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/_fixtures/75e1ebbe71ff2fe03ab19fff1d668396.rds -------------------------------------------------------------------------------- /tests/testthat/_fixtures/936aece313cdae39b02cde924e52eeb9.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/_fixtures/936aece313cdae39b02cde924e52eeb9.rds -------------------------------------------------------------------------------- /tests/testthat/_fixtures/976e3d01a855e39ebd71c60482a1cac9.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/_fixtures/976e3d01a855e39ebd71c60482a1cac9.rds -------------------------------------------------------------------------------- /tests/testthat/_fixtures/aa4b0a131ad85ee937ac2fa09743c560.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/_fixtures/aa4b0a131ad85ee937ac2fa09743c560.rds -------------------------------------------------------------------------------- /tests/testthat/_fixtures/c6ad8510dbbba26e1ee8e9e21bcee98f.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/_fixtures/c6ad8510dbbba26e1ee8e9e21bcee98f.rds -------------------------------------------------------------------------------- /tests/testthat/_fixtures/c9f7a9df91de392d775dbe895fbcbe9d.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/_fixtures/c9f7a9df91de392d775dbe895fbcbe9d.rds -------------------------------------------------------------------------------- /tests/testthat/_fixtures/e75a63f773735c1255b5fc8e3b40c83a.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/_fixtures/e75a63f773735c1255b5fc8e3b40c83a.rds -------------------------------------------------------------------------------- /tests/testthat/_snaps/build.md: -------------------------------------------------------------------------------- 1 | # vignettes can be turned on and off 2 | 3 | Code 4 | inst$solve() 5 | inst$download() 6 | Message 7 | i Getting 1 pkg with unknown size 8 | v Got pkgdependstest 1.0.0 (source) 9 | Code 10 | inst$install() 11 | Message 12 | i Packaging pkgdependstest 1.0.0 13 | v Packaged pkgdependstest 1.0.0 14 | i Building pkgdependstest 1.0.0 15 | v Built pkgdependstest 1.0.0 16 | v Installed pkgdependstest 1.0.0 (local) 17 | v Summary: 1 new 18 | 19 | --- 20 | 21 | Code 22 | inst2$solve() 23 | inst2$download() 24 | Message 25 | i Getting 1 pkg with unknown size 26 | v Got pkgdependstest 1.0.0 (source) 27 | Code 28 | inst2$install() 29 | Message 30 | i Packaging pkgdependstest 1.0.0 31 | v Packaged pkgdependstest 1.0.0 32 | i Building pkgdependstest 1.0.0 33 | v Built pkgdependstest 1.0.0 34 | v Installed pkgdependstest 1.0.0 (local) 35 | v Summary: 1 new 36 | 37 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/find-package-root.md: -------------------------------------------------------------------------------- 1 | # find_package_root errors 2 | 3 | Code 4 | find_package_root("file1716b354e464b") 5 | Condition 6 | Error: 7 | ! Path does not exist: file1716b354e464b 8 | 9 | --- 10 | 11 | Code 12 | find_package_root("/") 13 | Condition 14 | Error: 15 | ! Could not find R package in `/` or its parent directories. 16 | 17 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/install-metadata.md: -------------------------------------------------------------------------------- 1 | # install_package_plan metadata 2 | 3 | Code 4 | plan <- make_install_plan(paste0("local::", pkg, "?nocache"), lib = libpath) 5 | Message 6 | i Getting 1 pkg with unknown size 7 | v Got foo 0.0.0.9000 (source) 8 | Code 9 | plan$metadata[[1]] <- c(Foo = "Bar", Foobar = "baz") 10 | plan$vignettes <- FALSE 11 | install_package_plan(plan, lib = libpath, num_workers = 1) 12 | Message 13 | i Building foo 0.0.0.9000 14 | v Built foo 0.0.0.9000 15 | v Installed foo 0.0.0.9000 (local) 16 | v Summary: 1 new 17 | 18 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/install-plan-errors.md: -------------------------------------------------------------------------------- 1 | # uncompress error 2 | 3 | Code 4 | install_package_plan(plan, lib = tempdir()) 5 | Message 6 | i Packaging foo 7 | x Failed to uncompress foo 8 | Condition 9 | Error: 10 | ! Failed to uncompress foo from .../foo-t.zip'. 11 | 12 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/install-tar.md: -------------------------------------------------------------------------------- 1 | # get_untar_decompress_arg 2 | 3 | Code 4 | get_untar_decompress_arg(zip) 5 | Condition 6 | Error: 7 | ! '/xxx.zip' is not a tar file, it looks like a zip file 8 | 9 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/install-verify.md: -------------------------------------------------------------------------------- 1 | # verify_extracted_package: errors if archive DESCRIPTION is not in the root directory 2 | 3 | Code 4 | run(f2) 5 | Condition 6 | Error: 7 | ! '//test2.tgz' is not a valid binary, it is missing test2/Meta/package.rds and test2/DESCRIPTION. 8 | 9 | # verify_extracted_package: can handle multiple DESCRIPTION files 10 | 11 | Code 12 | run(f4) 13 | Condition 14 | Error: 15 | ! '//test4.tgz' is not a valid binary, it is missing test4/DESCRIPTION. 16 | 17 | # verify_extracted_package: fails if the binary does not contain package.rds 18 | 19 | Code 20 | run(f5) 21 | Condition 22 | Error: 23 | ! '//test5.tgz' is not a valid binary, it is missing test5/Meta/package.rds. 24 | 25 | # verify_extracted_package: fails if the DESCRIPTION file is empty 26 | 27 | Code 28 | run(f6) 29 | Condition 30 | Error: 31 | ! '//test6.tgz' is not a valid binary, empty DESCRIPTION file at 'test6/DESCRIPTION'. 32 | 33 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/install.md: -------------------------------------------------------------------------------- 1 | # install_packages: works with source packages 2 | 3 | Code 4 | plan <- make_install_plan(paste0("local::", pkg, "?nocache"), lib = libpath) 5 | Message 6 | i Getting 1 pkg with unknown size 7 | v Got foo 0.0.0.9000 (source) 8 | Code 9 | install_package_plan(plan, lib = libpath) 10 | Message 11 | i Building foo 0.0.0.9000 12 | v Built foo 0.0.0.9000 13 | v Installed foo 0.0.0.9000 (local) 14 | v Summary: 1 new 15 | 16 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/pillar-1.10.0/dep-utils.md: -------------------------------------------------------------------------------- 1 | # make_null_deps 2 | 3 | Code 4 | make_null_deps() 5 | Output 6 | # A data frame: 0 x 5 7 | # i 5 variables: ref , type , package , op , version 8 | 9 | # parse_deps 10 | 11 | Code 12 | parse_deps("grid, stats", "Imports") 13 | Output 14 | [[1]] 15 | # A data frame: 0 x 4 16 | # i 4 variables: type , package , op , version 17 | 18 | 19 | # parse_all_deps 20 | 21 | Code 22 | parse_all_deps(c(Imports = NA_character_)) 23 | Output 24 | # A data frame: 0 x 5 25 | # i 5 variables: ref , type , package , op , version 26 | 27 | --- 28 | 29 | Code 30 | parse_all_deps(c(Imports = "grid")) 31 | Output 32 | # A data frame: 0 x 5 33 | # i 5 variables: ref , type , package , op , version 34 | 35 | --- 36 | 37 | Code 38 | parse_all_deps(c(Imports = "foo (>= 1.0.0), bar", Suggests = "baz, foobaz (>= 2.0.0)")) 39 | Output 40 | # A data frame: 4 x 5 41 | ref type package op version 42 | 43 | 1 foo Imports foo ">=" "1.0.0" 44 | 2 bar Imports bar "" "" 45 | 3 baz Suggests baz "" "" 46 | 4 foobaz Suggests foobaz ">=" "2.0.0" 47 | 48 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/pillar-1.10.1/dep-utils.md: -------------------------------------------------------------------------------- 1 | # make_null_deps 2 | 3 | Code 4 | make_null_deps() 5 | Output 6 | # A data frame: 0 x 5 7 | # i 5 variables: ref , type , package , op , version 8 | 9 | # parse_deps 10 | 11 | Code 12 | parse_deps("grid, stats", "Imports") 13 | Output 14 | [[1]] 15 | # A data frame: 0 x 4 16 | # i 4 variables: type , package , op , version 17 | 18 | 19 | # parse_all_deps 20 | 21 | Code 22 | parse_all_deps(c(Imports = NA_character_)) 23 | Output 24 | # A data frame: 0 x 5 25 | # i 5 variables: ref , type , package , op , version 26 | 27 | --- 28 | 29 | Code 30 | parse_all_deps(c(Imports = "grid")) 31 | Output 32 | # A data frame: 0 x 5 33 | # i 5 variables: ref , type , package , op , version 34 | 35 | --- 36 | 37 | Code 38 | parse_all_deps(c(Imports = "foo (>= 1.0.0), bar", Suggests = "baz, foobaz (>= 2.0.0)")) 39 | Output 40 | # A data frame: 4 x 5 41 | ref type package op version 42 | 43 | 1 foo Imports foo ">=" "1.0.0" 44 | 2 bar Imports bar "" "" 45 | 3 baz Suggests baz "" "" 46 | 4 foobaz Suggests foobaz ">=" "2.0.0" 47 | 48 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/pillar-1.8.1/dep-utils.md: -------------------------------------------------------------------------------- 1 | # make_null_deps 2 | 3 | Code 4 | make_null_deps() 5 | Output 6 | # A data frame: 0 x 5 7 | # ... with 5 variables: ref , type , package , op , 8 | # version 9 | 10 | # parse_deps 11 | 12 | Code 13 | parse_deps("grid, stats", "Imports") 14 | Output 15 | [[1]] 16 | # A data frame: 0 x 4 17 | # ... with 4 variables: type , package , op , version 18 | 19 | 20 | # parse_all_deps 21 | 22 | Code 23 | parse_all_deps(c(Imports = NA_character_)) 24 | Output 25 | # A data frame: 0 x 5 26 | # ... with 5 variables: ref , type , package , op , 27 | # version 28 | 29 | --- 30 | 31 | Code 32 | parse_all_deps(c(Imports = "grid")) 33 | Output 34 | # A data frame: 0 x 5 35 | # ... with 5 variables: ref , type , package , op , 36 | # version 37 | 38 | --- 39 | 40 | Code 41 | parse_all_deps(c(Imports = "foo (>= 1.0.0), bar", Suggests = "baz, foobaz (>= 2.0.0)")) 42 | Output 43 | # A data frame: 4 x 5 44 | ref type package op version 45 | 46 | 1 foo Imports foo ">=" "1.0.0" 47 | 2 bar Imports bar "" "" 48 | 3 baz Suggests baz "" "" 49 | 4 foobaz Suggests foobaz ">=" "2.0.0" 50 | 51 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/pillar-1.9.0/dep-utils.md: -------------------------------------------------------------------------------- 1 | # make_null_deps 2 | 3 | Code 4 | make_null_deps() 5 | Output 6 | # A data frame: 0 x 5 7 | # i 5 variables: ref , type , package , op , version 8 | 9 | # parse_deps 10 | 11 | Code 12 | parse_deps("grid, stats", "Imports") 13 | Output 14 | [[1]] 15 | # A data frame: 0 x 4 16 | # i 4 variables: type , package , op , version 17 | 18 | 19 | # parse_all_deps 20 | 21 | Code 22 | parse_all_deps(c(Imports = NA_character_)) 23 | Output 24 | # A data frame: 0 x 5 25 | # i 5 variables: ref , type , package , op , version 26 | 27 | --- 28 | 29 | Code 30 | parse_all_deps(c(Imports = "grid")) 31 | Output 32 | # A data frame: 0 x 5 33 | # i 5 variables: ref , type , package , op , version 34 | 35 | --- 36 | 37 | Code 38 | parse_all_deps(c(Imports = "foo (>= 1.0.0), bar", Suggests = "baz, foobaz (>= 2.0.0)")) 39 | Output 40 | # A data frame: 4 x 5 41 | ref type package op version 42 | 43 | 1 foo Imports foo ">=" "1.0.0" 44 | 2 bar Imports bar "" "" 45 | 3 baz Suggests baz "" "" 46 | 4 foobaz Suggests foobaz ">=" "2.0.0" 47 | 48 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/resolution.md: -------------------------------------------------------------------------------- 1 | # error 2 | 3 | Code 4 | res$error[[1]] 5 | Output 6 | 7 | Error in `value[[3L]](cond)`: 8 | ! pkgdepends resolution error for foo::bar. 9 | Caused by error: 10 | ! foobar 11 | 12 | --- 13 | 14 | Code 15 | res$error[[2]] 16 | Output 17 | 18 | Error in `value[[3L]](cond)`: 19 | ! pkgdepends resolution error for foo::bar2. 20 | Caused by error: 21 | ! foobar 22 | 23 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/scan-deps-dep-types.md: -------------------------------------------------------------------------------- 1 | # get_dep_type_from_path 2 | 3 | Code 4 | get_dep_type_from_path(c("R/foo.R", "man/roxygen/meta.R", "tests/test-1.R", 5 | "test/test-2.R")) 6 | Output 7 | [1] "prod" "dev" "test" "test" 8 | 9 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/solve-binaries.md: -------------------------------------------------------------------------------- 1 | # binary preferred over source 2 | 3 | Code 4 | sol[, c("package", "platform")] 5 | Output 6 | # A data frame: 2 x 2 7 | package platform 8 | * 9 | 1 pkg i386+x86_64-w64-mingw32 10 | 2 pkg2 i386+x86_64-w64-mingw32 11 | 12 | # but source is used if that version is required 13 | 14 | Code 15 | sol[, c("package", "version", "platform")] 16 | Output 17 | # A data frame: 2 x 3 18 | package version platform 19 | * 20 | 1 pkg 1.0.0 i386+x86_64-w64-mingw32 21 | 2 pkg2 2.0.0 source 22 | 23 | # can opt in into including LinkingTo 24 | 25 | Code 26 | sol[, c("package", "platform")] 27 | Output 28 | # A data frame: 2 x 2 29 | package platform 30 | * 31 | 1 pkg i386+x86_64-w64-mingw32 32 | 2 pkg2 i386+x86_64-w64-mingw32 33 | 34 | --- 35 | 36 | Code 37 | sol[, c("package", "platform")] 38 | Output 39 | # A data frame: 1 x 2 40 | package platform 41 | * 42 | 1 pkg i386+x86_64-w64-mingw32 43 | 44 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/solve-conflicts.md: -------------------------------------------------------------------------------- 1 | # different versions required 2 | 3 | Code 4 | p$stop_for_solution_error() 5 | Condition 6 | Error: 7 | * r-lib/crayon: Conflicts with crayon 8 | * crayon: Conflicts with r-lib/crayon 9 | ! Could not solve package dependencies: 10 | 11 | # direct CRAN conflicts with downstream GH dep 12 | 13 | Code 14 | p$stop_for_solution_error() 15 | Condition 16 | Error: 17 | ! Could not solve package dependencies: 18 | * r-lib/foo: Can't install dependency r-lib/crayon 19 | * r-lib/crayon: Conflicts with crayon 20 | 21 | # no required version 22 | 23 | Code 24 | p$stop_for_solution_error() 25 | Condition 26 | Error: 27 | ! Could not solve package dependencies: 28 | * pkg1: Can't install dependency pkg2 (>= 2.0.0) 29 | 30 | # failed resolution 31 | 32 | Code 33 | p1$stop_for_solution_error() 34 | Condition 35 | Error: 36 | ! Could not solve package dependencies: 37 | * SDF: Can't find package called SDF. 38 | 39 | --- 40 | 41 | Code 42 | p2$stop_for_solution_error() 43 | Condition 44 | Error: 45 | ! Could not solve package dependencies: 46 | * SDF/SDF: ! pkgdepends resolution error for SDF/SDF. 47 | Caused by error: 48 | ! Can't find GitHub repo SDF/SDF. 49 | 50 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/solve-describe.md: -------------------------------------------------------------------------------- 1 | # conflicting dependencies 2 | 3 | Code 4 | dsc 5 | Output 6 | * aa: Can't install dependency cran::cc 7 | * cran::cc: cran::cc conflicts with cc/cc, to be installed 8 | 9 | # conflicting dependencies downstream 10 | 11 | Code 12 | dsc 13 | Output 14 | * a0: Can't install dependency bb 15 | * bb: Can't install dependency cc/cc 16 | * cc/cc: cc/cc conflicts with cran::cc, to be installed 17 | 18 | # conflicting dependencies and installed packages 19 | 20 | Code 21 | p$get_solution()$failures 22 | Output 23 | * cran/dm@1.0.0: Can't install dependency tidyr 24 | * tidyr: Can't install dependency dplyr (>= 1.0.10) 25 | * dplyr: Conflicts with cran/dplyr@1.0.9 26 | 27 | --- 28 | 29 | Code 30 | p$get_solution()$failures 31 | Output 32 | * cran/dm@1.0.0: Can't install dependency tidyr 33 | * installed::/tidyr: Can't install dependency dplyr (>= 1.0.10) 34 | * dplyr: Conflicts with cran/dplyr@1.0.9 35 | 36 | --- 37 | 38 | Code 39 | p$get_solution()$failures 40 | Output 41 | * local::/: dependency conflict 42 | 43 | --- 44 | 45 | Code 46 | p2$get_solution()$failures 47 | Output 48 | * local::/: dependency conflict 49 | 50 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/solve-ignored-failures.md: -------------------------------------------------------------------------------- 1 | # failure in non-needed package is ignored 2 | 3 | Code 4 | p$draw() 5 | Output 6 | needspak 1.0.0 [new][bld][dl] () 7 | \-r-lib/pak 1.0.0 [new][bld][cmp][dl] (unknown size) 8 | 9 | r-lib/pak 1.0.0 [new][bld][cmp][dl] (unknown size) 10 | 11 | Key: [new] new | [dl] download | [bld] build | [cmp] compile 12 | 13 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/solve-pieces.md: -------------------------------------------------------------------------------- 1 | # pkgplan_i_lp_dependencies 2 | 3 | Code 4 | lp$conds[[3]] 5 | Output 6 | $vars 7 | [1] 7 13 28 8 | 9 | $coef 10 | [1] 1 -1 -1 11 | 12 | $op 13 | [1] "<=" 14 | 15 | $rhs 16 | [1] 0 17 | 18 | $type 19 | [1] "dependency" 20 | 21 | $note 22 | $note$wh 23 | [1] 7 24 | 25 | $note$ref 26 | [1] "rlang" 27 | 28 | $note$cand 29 | [1] 13 28 30 | 31 | $note$good_cand 32 | [1] 13 28 33 | 34 | $note$txt 35 | [1] "hms depends on rlang: version rlang 0.4.0, rlang 0.4.0" 36 | 37 | $note$depop 38 | [1] "" 39 | 40 | $note$depver 41 | [1] "" 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/solve-prefer-installed.md: -------------------------------------------------------------------------------- 1 | # installed preferred over download 2 | 3 | Code 4 | sol[, c("type", "package", "version")] 5 | Output 6 | # A data frame: 2 x 3 7 | type package version 8 | * 9 | 1 installed pkg1 1.0.0 10 | 2 installed pkg2 1.0.0 11 | 12 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/solve-r-version.md: -------------------------------------------------------------------------------- 1 | # R version dependencies 2 | 3 | Code 4 | p1$stop_for_solution_error() 5 | Condition 6 | Error: 7 | ! Could not solve package dependencies: 8 | * futurama: Needs R >= 3000.0 9 | 10 | --- 11 | 12 | Code 13 | p2$stop_for_solution_error() 14 | Condition 15 | Error: 16 | ! Could not solve package dependencies: 17 | * needsfuturama: Can't install dependency futurama 18 | * futurama: Needs R >= 3000.0 19 | 20 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/system-packages.md: -------------------------------------------------------------------------------- 1 | # async_system_list_packages_dpkg_query 2 | 3 | Code 4 | ans 5 | Output 6 | # A data frame: 3 x 4 7 | status package version provides 8 | 9 | 1 ii adduser 3.118ubuntu5 10 | 2 ii apt 2.4.9 11 | 3 ii x11proto-dev 2021.5-1 12 | 13 | # async_system_list_packages_rpm 14 | 15 | Code 16 | ans 17 | Output 18 | # A data frame: 7 x 4 19 | status package version provides 20 | * 21 | 1 ii crypto-policies crypto-policies 22 | 2 ii gpg-pubkey gpg-pubkey 23 | 3 ii libgcc libgcc 24 | 4 ii ncurses-base ncurses-base 25 | 5 ii pcre2-syntax pcre2-syntax 26 | 6 ii python3-setuptools-wheel python3-setuptools-wheel 27 | 7 ii tzdata tzdata 28 | 29 | -------------------------------------------------------------------------------- /tests/testthat/_snaps/valid-name.md: -------------------------------------------------------------------------------- 1 | # is_valid_package_name 2 | 3 | Code 4 | is_valid_package_name("foo") 5 | Output 6 | [1] TRUE 7 | Code 8 | is_valid_package_name("pkg") 9 | Output 10 | [1] FALSE 11 | attr(,"reason") 12 | [1] "Package name forbidden by CRAN." 13 | Code 14 | is_valid_package_name("fáf") 15 | Output 16 | [1] FALSE 17 | attr(,"reason") 18 | [1] "It can only contain ASCII characters." 19 | Code 20 | is_valid_package_name("foo-bar") 21 | Output 22 | [1] FALSE 23 | attr(,"reason") 24 | [1] "It can only contain letters, numbers and dot." 25 | Code 26 | is_valid_package_name("x") 27 | Output 28 | [1] FALSE 29 | attr(,"reason") 30 | [1] "It must have at least two characters." 31 | Code 32 | is_valid_package_name("1xyz") 33 | Output 34 | [1] FALSE 35 | attr(,"reason") 36 | [1] "It must start with a letter." 37 | Code 38 | is_valid_package_name("dotted.") 39 | Output 40 | [1] FALSE 41 | attr(,"reason") 42 | [1] "It must not end with a dot." 43 | 44 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/PACKAGES-mac.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/PACKAGES-mac.gz -------------------------------------------------------------------------------- /tests/testthat/fixtures/PACKAGES-src.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/PACKAGES-src.gz -------------------------------------------------------------------------------- /tests/testthat/fixtures/PACKAGES-win.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/PACKAGES-win.gz -------------------------------------------------------------------------------- /tests/testthat/fixtures/bad-desc/DESCRIPTION: -------------------------------------------------------------------------------- 1 | This is a bad DESCRIPTION file. 2 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/dpkg-query.txt: -------------------------------------------------------------------------------- 1 | un acl 2 | ii adduser 3.118ubuntu5 3 | un alsa-utils 4 | un amanda-common 5 | un approx 6 | un appstream 7 | ii apt 2.4.9 apt-transport-https (= 2.4.9) 8 | un apt-doc 9 | un apt-listchanges 10 | ii x11proto-dev 2021.5-1 x11proto-core-dev (= 2021.5-1), x11proto-dri2-dev (= 2021.5-1), x11proto-fonts-dev (= 2021.5-1), x11proto-gl-dev (= 2021.5-1) 11 | un x11proto-dri2-dev 12 | un x11proto-fonts-dev 13 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/foo/DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: foo 2 | Version: 0.0.0.9000 3 | Title: What the Package Does (one line, title case) 4 | Description: What the package does (one paragraph). 5 | Authors@R: person("Jim", "Hester", email = "james.f.hester@gmail.com", role = c("aut", "cre")) 6 | License: GPL-3 7 | Encoding: UTF-8 8 | LazyData: true 9 | ByteCompile: true 10 | RoxygenNote: 6.0.1 11 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/foo/NAMESPACE: -------------------------------------------------------------------------------- 1 | # Generated by roxygen2: do not edit by hand 2 | 3 | export(foo) 4 | useDynLib(foo,foo_) 5 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/foo/R/foo.R: -------------------------------------------------------------------------------- 1 | #' @useDynLib foo foo_ 2 | #' @export 3 | foo <- function() { 4 | .Call(foo_) 5 | } 6 | 7 | .onUnload <- function(libpath) { 8 | library.dynam.unload("foo", libpath) 9 | } 10 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/foo/inst/installed-file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/foo/inst/installed-file -------------------------------------------------------------------------------- /tests/testthat/fixtures/foo/src/init.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include // for NULL 5 | 6 | /* .Call calls */ 7 | extern SEXP foo_(); 8 | 9 | static const R_CallMethodDef CallEntries[] = {{"foo_", (DL_FUNC)&foo_, 0}, 10 | {NULL, NULL, 0}}; 11 | 12 | void R_init_foo(DllInfo *dll) { 13 | R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); 14 | R_useDynamicSymbols(dll, FALSE); 15 | } 16 | 17 | SEXP foo_() { 18 | return R_NilValue; 19 | } 20 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/foo2/DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: foo 2 | Version: 0.0.0.9000 3 | Title: What the Package Does (one line, title case) 4 | Description: What the package does (one paragraph). 5 | Authors@R: person("Jim", "Hester", email = "james.f.hester@gmail.com", role = c("aut", "cre")) 6 | License: GPL-3 7 | Encoding: UTF-8 8 | LazyData: true 9 | ByteCompile: true 10 | RoxygenNote: 6.0.1 11 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/foo2/NAMESPACE: -------------------------------------------------------------------------------- 1 | # Generated by roxygen2: do not edit by hand 2 | 3 | export(foo) 4 | useDynLib(foo,foo_) 5 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/foo2/R/foo.R: -------------------------------------------------------------------------------- 1 | #' @useDynLib foo foo_ 2 | #' @export 3 | foo <- function() { 4 | .Call(foo_) 5 | } 6 | 7 | .onUnload <- function(libpath) { 8 | library.dynam.unload("foo", libpath) 9 | } 10 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/foo2/src/init.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include // for NULL 5 | 6 | /* .Call calls */ 7 | extern SEXP foo_(); 8 | 9 | static const R_CallMethodDef CallEntries[] = {{"foo_", (DL_FUNC)&foo_, 0}, 10 | {NULL, NULL, 0}}; 11 | 12 | void R_init_foo(DllInfo *dll) { 13 | R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); 14 | R_useDynamicSymbols(dll, FALSE); 15 | } 16 | 17 | SEXP foo_() { 18 | // oops 19 | return R_NilValue 20 | } 21 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/foo3/DESCRIPTION: -------------------------------------------------------------------------------- 1 | This is messed up 2 | Package: foo3 3 | Version: 0.0.0.9000 4 | Title: What the Package Does (one line, title case) 5 | Description: What the package does (one paragraph). 6 | Authors@R: person("Jim", "Hester", email = "james.f.hester@gmail.com", role = c("aut", "cre")) 7 | License: GPL-3 8 | Encoding: UTF-8 9 | LazyData: true 10 | ByteCompile: true 11 | RoxygenNote: 6.0.1 12 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/foo3/R/foo.R: -------------------------------------------------------------------------------- 1 | #' @export 2 | foo <- function() { 3 | 42 4 | } 5 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/foobar_1.0.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/foobar_1.0.0.tar.gz -------------------------------------------------------------------------------- /tests/testthat/fixtures/foobar_1.0.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/foobar_1.0.0.zip -------------------------------------------------------------------------------- /tests/testthat/fixtures/foobar_1.0.1.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/foobar_1.0.1.tar.gz -------------------------------------------------------------------------------- /tests/testthat/fixtures/foobar_1.0.1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/foobar_1.0.1.zip -------------------------------------------------------------------------------- /tests/testthat/fixtures/foobar_1.0.2.tar.gz: -------------------------------------------------------------------------------- 1 | Not really a tar.gz file 2 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/foobar_1.0.2.zip: -------------------------------------------------------------------------------- 1 | Not really a zip file 2 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/gh-rate-limit-response.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/gh-rate-limit-response.rds -------------------------------------------------------------------------------- /tests/testthat/fixtures/git-repo.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/git-repo.tar.gz -------------------------------------------------------------------------------- /tests/testthat/fixtures/git-response-parsed-v2.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/git-response-parsed-v2.rds -------------------------------------------------------------------------------- /tests/testthat/fixtures/git-response-v1.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/git-response-v1.rds -------------------------------------------------------------------------------- /tests/testthat/fixtures/git-test-1.idx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/git-test-1.idx -------------------------------------------------------------------------------- /tests/testthat/fixtures/git-test-1.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/git-test-1.pack -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/bad1/file1: -------------------------------------------------------------------------------- 1 | file1 2 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/bad1/file2: -------------------------------------------------------------------------------- 1 | file2 2 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/bad2/bad2/DESCRIPTION: -------------------------------------------------------------------------------- 1 | Not really a valid DESCRIPTION file 2 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/bad2/bad2/Meta/package.rds: -------------------------------------------------------------------------------- 1 | meta 2 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/bad3/bad3/DESCRIPTION: -------------------------------------------------------------------------------- 1 | Version: 1.0.0 2 | Maintainer: Bugs Bunny 3 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/bad3/bad3/Meta/package.rds: -------------------------------------------------------------------------------- 1 | meta 2 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/bad4/bad4/DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: anotherpackage 2 | Version: 1.0.0 3 | Maintainer: Bugs Bunny 4 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/bad4/bad4/Meta/package.rds: -------------------------------------------------------------------------------- 1 | meta 2 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/badbuild/DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: badbuild 2 | Title: Title 3 | Version: 1.0.0 4 | Author: Gábor Csárdi 5 | Maintainer: Gábor Csárdi 6 | Description: Test package. 7 | License: MIT + file LICENSE 8 | LazyData: true 9 | Encoding: UTF-8 10 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/badbuild/NAMESPACE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/packages/badbuild/NAMESPACE -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/badbuild/R/foo.R: -------------------------------------------------------------------------------- 1 | This is an error, sorry! 2 | fun <- function() NULL 3 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/goodbuild/DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: goodbuild 2 | Title: Title 3 | Version: 1.0.0 4 | Author: Gábor Csárdi 5 | Maintainer: Gábor Csárdi 6 | Description: Test package. 7 | License: MIT + file LICENSE 8 | LazyData: true 9 | Imports: 10 | badbuild 11 | Encoding: UTF-8 12 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/goodbuild/NAMESPACE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/packages/goodbuild/NAMESPACE -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/goodbuild/R/foo.R: -------------------------------------------------------------------------------- 1 | fun <- function() NULL 2 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/vignettes/DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: pkgdependstest 2 | Title: Title 3 | Version: 1.0.0 4 | Author: Gábor Csárdi 5 | Maintainer: Gábor Csárdi 6 | Description: Test package. 7 | License: MIT + file LICENSE 8 | LazyData: true 9 | VignetteBuilder: knitr 10 | Suggests: 11 | knitr, 12 | markdown, 13 | rmarkdown 14 | Encoding: UTF-8 15 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/vignettes/NAMESPACE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/packages/vignettes/NAMESPACE -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/vignettes/R/foo.R: -------------------------------------------------------------------------------- 1 | fun <- function() NULL 2 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/packages/vignettes/vignettes/test.Rmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: "pkgdepends HOWTO" 3 | output: rmarkdown::html_vignette 4 | vignette: > 5 | %\VignetteIndexEntry{pkgdepends test} 6 | %\VignetteEngine{knitr::rmarkdown} 7 | %\VignetteEncoding{UTF-8} 8 | --- 9 | 10 | ```{r dev = "svglite"} 11 | print("Hello there!") 12 | ``` 13 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/resolution-gh-vs-cran.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/resolution-gh-vs-cran.rds -------------------------------------------------------------------------------- /tests/testthat/fixtures/resolution-installed.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/resolution-installed.rds -------------------------------------------------------------------------------- /tests/testthat/fixtures/resolution-progress.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/resolution-progress.rds -------------------------------------------------------------------------------- /tests/testthat/fixtures/resolution-simple.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/resolution-simple.rds -------------------------------------------------------------------------------- /tests/testthat/fixtures/resolve-cran-version-archive.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/resolve-cran-version-archive.rds -------------------------------------------------------------------------------- /tests/testthat/fixtures/resolve-cran-version-packages.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/resolve-cran-version-packages.rds -------------------------------------------------------------------------------- /tests/testthat/fixtures/rpm.txt: -------------------------------------------------------------------------------- 1 | gpg(AlmaLinux OS 9 ) = 4:d36cb86cb86b3716-61e69f29 2 | gpg(b86b3716) = 4:d36cb86cb86b3716-61e69f29 3 | gpg(d36cb86cb86b3716) = 4:d36cb86cb86b3716-61e69f29 4 | gpg(c9ba6caa) = 4:b7bb94f0c9ba6caa-61e69f29 5 | gpg(b7bb94f0c9ba6caa) = 4:b7bb94f0c9ba6caa-61e69f29 6 | ---gpg-pubkey 7 | libgcc = 11.3.1-4.3.el9.alma 8 | libgcc(aarch-64) = 11.3.1-4.3.el9.alma 9 | libgcc_s.so.1()(64bit) 10 | libgcc_s.so.1(GCC_11.0)(64bit) 11 | libgcc_s.so.1(GCC_3.0)(64bit) 12 | libgcc_s.so.1(GCC_3.3)(64bit) 13 | libgcc_s.so.1(GCC_3.3.1)(64bit) 14 | libgcc_s.so.1(GCC_3.4)(64bit) 15 | libgcc_s.so.1(GCC_3.4.2)(64bit) 16 | libgcc_s.so.1(GCC_3.4.4)(64bit) 17 | libgcc_s.so.1(GCC_4.0.0)(64bit) 18 | libgcc_s.so.1(GCC_4.2.0)(64bit) 19 | libgcc_s.so.1(GCC_4.3.0)(64bit) 20 | libgcc_s.so.1(GCC_4.5.0)(64bit) 21 | libgcc_s.so.1(GCC_4.7.0)(64bit) 22 | libgcc_s.so.1(GCC_7.0.0)(64bit) 23 | libgcc_s.so.1(GLIBC_2.0)(64bit) 24 | ---libgcc 25 | config(crypto-policies) = 20221215-1.git9a18988.el9 26 | crypto-policies = 20221215-1.git9a18988.el9 27 | ---crypto-policies 28 | tzdata = 2023c-1.el9 29 | ---tzdata 30 | bundled(python3dist(appdirs)) = 1.4.3 31 | bundled(python3dist(ordered-set)) = 3.1.1 32 | bundled(python3dist(packaging)) = 20.4 33 | bundled(python3dist(pyparsing)) = 2.2.1 34 | python-setuptools-wheel = 53.0.0-12.el9 35 | python-setuptools-wheel = 53.0.0-12.el9 36 | python3-setuptools-wheel = 53.0.0-12.el9 37 | python3.9-setuptools-wheel = 53.0.0-12.el9 38 | ---python3-setuptools-wheel 39 | pcre2-syntax = 10.40-2.el9 40 | ---pcre2-syntax 41 | ncurses-base = 6.2-8.20210508.el9 42 | ---ncurses-base 43 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/sample_plan.rds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r-lib/pkgdepends/3ad3be2303f9ef202ed65318fa548dd36dd9f40e/tests/testthat/fixtures/sample_plan.rds -------------------------------------------------------------------------------- /tests/testthat/fixtures/scan/chunk-errors.Rmd: -------------------------------------------------------------------------------- 1 | 2 | ## Parse Errors 3 | 4 | renv should still be able to recover dependencies from the chunks without 5 | parse errors. 6 | 7 | ```{r} 8 | library(dplyr) 9 | ``` 10 | 11 | ```{r} 12 | this chunk has parse errors 13 | ``` 14 | 15 | ```{r} 16 | and so does this chunk 17 | ``` 18 | 19 | ```{r} 20 | we forgot to close this chunk 21 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/scan/header-bslib.Rmd: -------------------------------------------------------------------------------- 1 | --- 2 | foo: 3 | bar 4 | output: 5 | html_document: 6 | toc: true 7 | theme: some theme 8 | not: 'this has :: but it is not a package' 9 | --- 10 | 11 | Nothing to see here at all. 12 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/scan/header-shiny.Rmd: -------------------------------------------------------------------------------- 1 | --- 2 | foo: 3 | bar 4 | 'server': shiny 5 | server: 'shiny' 6 | "server": "shiny" 7 | server: | 8 | shiny 9 | --- 10 | 11 | Nothing to see here at all. 12 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/scan/header-shiny2.Rmd: -------------------------------------------------------------------------------- 1 | --- 2 | foo: 3 | bar 4 | server: 5 | type: shiny 6 | 'server': 7 | type: 'shiny' 8 | server: 9 | 'type': "shiny" 10 | server: 11 | type: > 12 | shiny 13 | --- 14 | 15 | Nothing to see here at all. 16 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/scan/header.Rmd: -------------------------------------------------------------------------------- 1 | --- 2 | need: 3 | this: 4 | package: p1::fun 5 | params: 6 | param1: Something 7 | param2: !r '{ foo + bar; library(p2) }' 8 | --- 9 | 10 | Nothing to see here at all. 11 | -------------------------------------------------------------------------------- /tests/testthat/fixtures/scan/ignore-test.Rnw: -------------------------------------------------------------------------------- 1 | \documentclass{article} 2 | \begin{document} 3 | \title{Test} 4 | 5 | Reprehenderit duis proident laboris Lorem ex laborum laborum culpa anim 6 | commodo et. Ullamco commodo incididunt et aliquip sint officia ipsum. Non 7 | id exercitation sit magna ad Lorem. Ipsum sunt in sunt nisi est commodo 8 | anim pariatur ipsum exercitation amet. Eu tempor nostrud proident commodo 9 | aute quis. 10 | 11 | <<>>= 12 | library(good) 13 | @ 14 | 15 | <>= 16 | library(notthis) 17 | @ 18 | 19 | <>= 20 | library(notthis) 21 | @ 22 | 23 | <>= 24 | library(notthis) 25 | @ 26 | 27 | <>= 28 | library(notthis) 29 | @ 30 | 31 | <>= 32 | library(notthis) 33 | @ 34 | 35 | Invalid chunk option syntax is ignored, but deps are picked up: 36 | 37 | <>= 38 | library(butthisisgood) 39 | @ 40 | 41 | <>= 42 | library(butthisisgood) 43 | @ 44 | 45 | Some more chunk header parsing tests: 46 | 47 | <