From 8c1194cc20de377c147abe956fa41d132ee29718 Mon Sep 17 00:00:00 2001 From: Arne Johannes Holmin Date: Fri, 12 May 2023 13:55:11 +0200 Subject: [PATCH] Added x86_64 with working test. (#139) * Added x86_64 with working test. * Added x86_64 with working test. --- .gitignore | 1 + R/archivePackages.R | 16 +++++---- R/insertPackage.R | 3 +- R/pruneRepo.R | 13 ++++--- .../big-sur-x86_64/bin/4.3/bar_1.1.tgz | Bin 0 -> 4646 bytes inst/extdata/src/bar_1.1.tar.gz | Bin 0 -> 361 bytes man/archivePackages.Rd | 11 +++--- man/pruneRepo.Rd | 18 +++++----- tests/testBig-sur-x86_64Binary.R | 32 ++++++++++++++++++ 9 files changed, 71 insertions(+), 23 deletions(-) create mode 100644 inst/extdata/big-sur-x86_64/bin/4.3/bar_1.1.tgz create mode 100644 inst/extdata/src/bar_1.1.tar.gz create mode 100644 tests/testBig-sur-x86_64Binary.R diff --git a/.gitignore b/.gitignore index 171b0806..356630f1 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ testpackages/ #*.tar.gz docs-src/docs docs/mkdmt-src/docs +.DS_Store diff --git a/R/archivePackages.R b/R/archivePackages.R index 08f9364d..7e02bbeb 100644 --- a/R/archivePackages.R +++ b/R/archivePackages.R @@ -1,9 +1,10 @@ DRAT_ARCHIVE_SUB_DIR <- "Archive" -DRAT_BINARY_TYPES <- c("mac.binary", "mac.binary.big-sur-arm64", "mac.binary.el-capitan", - "mac.binary.mavericks", "win.binary") -DRAT_BOTH_TYPES <- c("source", "mac.binary", "mac.binary.big-sur-arm64", "mac.binary.el-capitan", +DRAT_BINARY_TYPES <- c("mac.binary", "mac.binary.big-sur-x86_64", "mac.binary.big-sur-arm64", + "mac.binary.el-capitan", "mac.binary.mavericks", "win.binary") +DRAT_BOTH_TYPES <- c("source", "mac.binary", "mac.binary.big-sur-x86_64", + "mac.binary.big-sur-arm64", "mac.binary.el-capitan", "mac.binary.mavericks", "win.binary") DRAT_VERSION_REGEX <- "[0-9]\\.[0-9]$" @@ -17,7 +18,7 @@ DRAT_CONTRIB_VERSION_REGEX <- paste0("contrib/",DRAT_VERSION_REGEX) } .norm_type <- function(type){ - type <- match.arg(type,c("source", "binary", "mac.binary", "mac.binary.big-sur-arm64", "mac.binary.el-capitan", + type <- match.arg(type,c("source", "binary", "mac.binary", "mac.binary.big-sur-x86_64", "mac.binary.big-sur-arm64", "mac.binary.el-capitan", "mac.binary.mavericks", "win.binary", "both"), several.ok = TRUE) if("both" %in% type){ @@ -58,6 +59,7 @@ DRAT_CONTRIB_VERSION_REGEX <- paste0("contrib/",DRAT_VERSION_REGEX) ##' \dQuote{"~/git/drat"} as fallback ##' @param type Character variable for the type of repository, so far ##' \dQuote{source}, \dQuote{binary}, \dQuote{win.binary}, \dQuote{mac.binary}, +##' \dQuote{mac.binary.big-sur-x86_64}, ##' \dQuote{mac.binary.big-sur-arm64}, ##' \dQuote{mac.binary.mavericks}, \dQuote{mac.binary.el-capitan} or ##' \dQuote{both} @@ -79,7 +81,8 @@ NULL ##' @rdname archivePackages archivePackages <- function(repopath = getOption("dratRepo", "~/git/drat"), - type = c("source", "binary", "mac.binary", "mac.binary.big-sur-arm64", "mac.binary.el-capitan", + type = c("source", "binary", "mac.binary", "mac.binary.big-sur-x86_64", + "mac.binary.big-sur-arm64", "mac.binary.el-capitan", "mac.binary.mavericks", "win.binary", "both"), pkg, version = getRversion()) { @@ -140,7 +143,8 @@ archivePackages <- function(repopath = getOption("dratRepo", "~/git/drat"), ##' @rdname archivePackages archivePackagesForAllRversions <- function(repopath = getOption("dratRepo", "~/git/drat"), - type = c("source", "binary", "mac.binary", "mac.binary.big-sur-arm64", "mac.binary.el-capitan", + type = c("source", "binary", "mac.binary", "mac.binary.big-sur-x86_64", + "mac.binary.big-sur-arm64", "mac.binary.el-capitan", "mac.binary.mavericks", "win.binary", "both"), pkg){ archivePackages(repopath = repopath, type = type, pkg = pkg, version = NA) diff --git a/R/insertPackage.R b/R/insertPackage.R index d7fe8770..6855c6bb 100644 --- a/R/insertPackage.R +++ b/R/insertPackage.R @@ -256,7 +256,7 @@ identifyPackageType <- function(file, pkginfo = getPackageInfo(file)) { # ARM Mac for R >= 4.1 ret <- "binary" } - } else if(pkginfo["osxFolder"] %in% c("mavericks","el-capitan","big-sur-arm64")) { + } else if(pkginfo["osxFolder"] %in% c("mavericks","el-capitan","big-sur-x86_64","big-sur-arm64")) { ret <- paste0(ret,".",pkginfo["osxFolder"]) } else { stop("mac.binary subtype couldn't be determined. This shouldn't ", @@ -311,6 +311,7 @@ getPackageInfo <- function(file) { osxFolder <- switch(fields["OSflavour"], "x86_64-apple-darwin13.4.0" = "mavericks", "x86_64-apple-darwin15.6.0" = "el-capitan", + "x86_64-apple-darwin20" = "big-sur-x86_64", "aarch64-apple-darwin20" = "big-sur-arm64", "") diff --git a/R/pruneRepo.R b/R/pruneRepo.R index aea5de5f..939997f0 100644 --- a/R/pruneRepo.R +++ b/R/pruneRepo.R @@ -23,6 +23,7 @@ ##' @param type Character variable for the type of repository, so far ##' \dQuote{source}, \dQuote{binary}, \dQuote{win.binary}, \dQuote{mac.binary}, ##' \dQuote{mac.binary.mavericks}, \dQuote{mac.binary.el-capitan}, +##' \dQuote{mac.binary.big-sur-x86_64}, or \dQuote{both} ##' \dQuote{mac.binary.big-sur-arm64}, or \dQuote{both} ##' @param pkg Optional character variable specifying a package name, ##' whose older versions should be pruned. If missing (the @@ -54,7 +55,8 @@ ##' be removed. ##' @author Dirk Eddelbuettel getRepoInfo <- function(repopath = getOption("dratRepo", "~/git/drat"), - type = c("source", "binary", "mac.binary", "mac.binary.big-sur-arm64", "mac.binary.el-capitan", + type = c("source", "binary", "mac.binary", "mac.binary.big-sur-x86_64", + "mac.binary.big-sur-arm64", "mac.binary.el-capitan", "mac.binary.mavericks", "win.binary", "both"), pkg, version = getRversion(), @@ -156,7 +158,8 @@ getRepoInfo <- function(repopath = getOption("dratRepo", "~/git/drat"), ##' @rdname pruneRepo pruneRepo <- function(repopath = getOption("dratRepo", "~/git/drat"), - type = c("source", "binary", "mac.binary", "mac.binary.big-sur-arm64", "mac.binary.el-capitan", + type = c("source", "binary", "mac.binary", "mac.binary.big-sur-x86_64", + "mac.binary.big-sur-arm64", "mac.binary.el-capitan", "mac.binary.mavericks", "win.binary", "both"), pkg, version = getRversion(), @@ -201,7 +204,8 @@ pruneRepo <- function(repopath = getOption("dratRepo", "~/git/drat"), ##' @rdname pruneRepo pruneRepoForAllRversions <- function(repopath = getOption("dratRepo", "~/git/drat"), - type = c("source", "mac.binary", "mac.binary.big-sur-arm64", "mac.binary.el-capitan", + type = c("source", "mac.binary", "mac.binary.big-sur-x86_64", + "mac.binary.big-sur-arm64", "mac.binary.el-capitan", "mac.binary.mavericks", "win.binary", "both"), pkg, remove = FALSE){ @@ -211,7 +215,8 @@ pruneRepoForAllRversions <- function(repopath = getOption("dratRepo", "~/git/dra ##' @rdname pruneRepo updateRepo <- function(repopath = getOption("dratRepo", "~/git/drat"), - type = c("source", "mac.binary", "mac.binary.big-sur-arm64", "mac.binary.el-capitan", + type = c("source", "mac.binary", "mac.binary.big-sur-x86_64", + "mac.binary.big-sur-arm64", "mac.binary.el-capitan", "mac.binary.mavericks", "win.binary", "both"), version = NA, ... ){ diff --git a/inst/extdata/big-sur-x86_64/bin/4.3/bar_1.1.tgz b/inst/extdata/big-sur-x86_64/bin/4.3/bar_1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..af09dd86161c0d19a8cf993a67a270435616df5f GIT binary patch literal 4646 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 literal 0 HcmV?d00001 diff --git a/inst/extdata/src/bar_1.1.tar.gz b/inst/extdata/src/bar_1.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..2fa1f631b0d3b21c1e2a6e42a1e30f205da9d494 GIT binary patch literal 361 zcmV-v0hazBiwFP!000001MQYiPr@)5hkLc3;yuCvXuCg6rWZ0uRAV{QaO#@ zGpvp+8YSfpA0J~?LK$nw>OO3YE}&DyCNE)^q`FHV@P{NO4S@GKooc-)LbK13ohrY( zsiDVrZUPWYI6da|I0xitvy=YwX~s1%o;ciw--PR@S^{dbrv2zb{2mhwma`}0Qg z|8@U&empty", file=file.path(docsdir, "index.html")) + +isWindows <- Sys.info()[["sysname"]] == "Windows" + +if (!isWindows) { # this is the default case of a source package + pkg <- system.file("extdata", "src", "bar_1.1.tar.gz", package="drat") + drat::insertPackage(file = pkg, repodir = repodir) + + avpkg <- available.packages(repos=file.path("file:", docsdir)) + + good <- avpkg[1,1] == "bar" && avpkg[1,2] == "1.1" + if (!good) stop("Package round-turn failed for big-sur-x86_64 source package") +} + + + +if (isIntelMac && isRVersion4.3) { + pkg <- system.file("extdata", "big-sur-x86_64", "bin", "4.3", "bar_1.1.tgz", package="drat") + drat::insertPackage(file = pkg, repodir = repodir, action = "prune") + avpkg <- available.packages(repos=file.path("file:", docsdir)) + + good <- avpkg[1,1] == "bar" && avpkg[1,2] == "1.1" + if (!good) stop("Package round-turn failed for big-sur-x86_64 binary package") +}