-
Notifications
You must be signed in to change notification settings - Fork 75
Description
This was first reported by @markrtucker
PPM just added support for Linux binary repo URLs like https://p3m.dev/cran/latest/bin/linux/noble-x86_64/4.5, which are equivalent to the existing __linux__/noble URLs but instead encode the R version and arch in the URL and not the user agent. Same as R-universe's Linux binary URLs.
These URLs don't seem to be working with pak though for some reason, as pak seemingly downloads the binary but ends up compiling a source package instead.
Here's a repro for Ubuntu 24 using Boom as an example:
options(repos = c(CRAN = sprintf("https://p3m.dev/cran/latest/bin/linux/noble-%s/%s", R.version["arch"], substr(getRversion(), 1, 3))))
pak::pkg_install("Boom")
# ℹ Getting 1 pkg (2.50 MB)
# ✔ Got Boom 0.9.16 (source) (118.46 MB)
# ✔ Downloaded 1 package (118.46 MB) in 4.5s
# ℹ Building Boom 0.9.16
# ✔ Built Boom 0.9.16 (1m 45.3s) pak gets the Boom binary, the 118 MB file, but still compiles a source package for some reason. The 2.50 MB file above matches the Boom source file.
pak can install from R-universe Linux binary repo URLs just fine though. I am not sure what the difference is, but I did see that R-universe PACKAGES files have a Platform field in them. I haven't heard about the Platform field anywhere though, except seeing it in this recent issue #773