@@ -99,8 +99,9 @@ install_cmdstan <- function(dir = NULL,
99
99
warning(" version and release_url shouldn't both be specified!" ,
100
100
" \n release_url will be ignored." , call. = FALSE )
101
101
}
102
+
102
103
release_url <- paste0(" https://github.com/stan-dev/cmdstan/releases/download/v" ,
103
- version , " /cmdstan-" , version , " .tar.gz" )
104
+ version , " /cmdstan-" , version , cmdstan_arch_suffix( version ), " .tar.gz" )
104
105
}
105
106
if (! is.null(release_url )) {
106
107
if (! endsWith(release_url , " .tar.gz" )) {
@@ -118,7 +119,7 @@ install_cmdstan <- function(dir = NULL,
118
119
} else {
119
120
ver <- latest_released_version()
120
121
message(" * Latest CmdStan release is v" , ver )
121
- cmdstan_ver <- paste0(" cmdstan-" , ver )
122
+ cmdstan_ver <- paste0(" cmdstan-" , ver , cmdstan_arch_suffix( ver ) )
122
123
tar_gz_file <- paste0(cmdstan_ver , " .tar.gz" )
123
124
dir_cmdstan <- file.path(dir , cmdstan_ver )
124
125
message(" * Installing CmdStan v" , ver , " in " , dir_cmdstan )
@@ -300,9 +301,10 @@ github_auth_token <- function() {
300
301
301
302
# construct url for download from cmdstan version number
302
303
github_download_url <- function (version_number ) {
304
+
303
305
base_url <- " https://github.com/stan-dev/cmdstan/releases/download/"
304
306
paste0(base_url , " v" , version_number ,
305
- " /cmdstan-" , version_number , " .tar.gz" )
307
+ " /cmdstan-" , version_number , cmdstan_arch_suffix(), " .tar.gz" )
306
308
}
307
309
308
310
# get version number of latest release
@@ -614,3 +616,15 @@ check_unix_cpp_compiler <- function() {
614
616
}
615
617
}
616
618
}
619
+
620
+ cmdstan_arch_suffix <- function (version = NULL ) {
621
+ arch <- NULL
622
+ if (grepl(" linux" , R.version $ os ) && grepl(" aarch64" , R.version $ arch )) {
623
+ arch <- " -linux-arm64"
624
+ }
625
+ if (! is.null(version ) && version < " 2.26" ) {
626
+ # pre-CmdStan 2.26, only the x85 tarball was provided
627
+ arch <- NULL
628
+ }
629
+ arch
630
+ }
0 commit comments