#!/usr/bin/r
##
## Show all dependencies of a package containing native ("compiled") code
##
## Copyright (C) 2021 - present Dirk Eddelbuettel
##
## Released under GPL (>= 2)
## load docopt package from CRAN
library(docopt)
if (!requireNamespace("data.table", quietly=TRUE))
stop("The 'data.table' package is required. Please install it.", call.=FALSE)
doc <- "Usage: urlUpdate.r [-c] [-n] [-h] PACKAGE
-c --compact compact, print only package vector
-n --nonrecursive non-recursive dependencies [default: FALSE]
-h --help show this help text
Simple wrapper around 'tools::CRAN_package_db()' and 'tools::package_depdencies()'.
"
opt <- docopt(doc)
suppressMessages(library(data.table))
pkg <- opt$PACKAGE
rec <- !opt$nonrecursive
db <- setDT(tools::CRAN_package_db(), key="Package")
revs <- data.table(Package=tools::package_dependencies(pkg, recursive=rec, db=db)[[1]], key="Package")
res <- db[revs, .(Package,Version,Priority,NeedsCompilation)][
is.na(Priority)==TRUE & is.na(Version)==FALSE & NeedsCompilation=="yes"][
,.(Package,Version)]
if (opt$compact) {
cat(paste(res[[1]], collapse=" "), "\n")
} else {
options("datatable.print.nrows"=nrow(res))
print(res)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.