Package: r-base
Version: 3.0.1-3
Severity: important
Tags: patch
User: [email protected]
Usertags: arm64
The ARM regexp hack is apparently necessary for the forthcoming arm64
port as well (whose machine name is "aarch64"). I've attached a patch
that extends it to cover this new architecture; but perhaps this is
evidence that the hack should just cover all architectures to save this
kind of manual porting work?
* Extend SHLIB_* definition hack in install.R to cover aarch64 as well.
diff -u r-base-3.0.1/debian/arm-perl-regexp.patch
r-base-3.0.1/debian/arm-perl-regexp.patch
--- r-base-3.0.1/debian/arm-perl-regexp.patch
+++ r-base-3.0.1/debian/arm-perl-regexp.patch
@@ -5,7 +5,7 @@
## can we do better?
mconf <- file.path(R.home(), paste0("etc", rarch), "Makeconf")
- sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value = TRUE))
-+ if (substr( Sys.info()["machine"], 1, 3) == "arm") { # arm has
broken regexps in libc
++ if (substr( Sys.info()["machine"], 1, 3) == "arm" ||
Sys.info()["machine"] == "aarch64") { # arm has broken regexps in libc
+ sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value =
TRUE), perl = TRUE)
+ } else {
+ sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value =
TRUE))
@@ -19,7 +19,7 @@
"Makeconf"))
- SHLIB_EXT <- sub(".*= ", "", grep("^SHLIB_EXT", mconf, value = TRUE))
- SHLIB_LIBADD <- sub(".*= ", "", grep("^SHLIB_LIBADD", mconf, value =
TRUE))
-+ if (substr( Sys.info()["machine"], 1, 3) == "arm") { # arm has
broken regexps in libc
++ if (substr( Sys.info()["machine"], 1, 3) == "arm" ||
Sys.info()["machine"] == "aarch64") { # arm has broken regexps in libc
+ SHLIB_EXT <- sub(".*= ", "", grep("^SHLIB_EXT", mconf, value =
TRUE), perl = TRUE)
+ SHLIB_LIBADD <- sub(".*= ", "", grep("^SHLIB_LIBADD", mconf,
value = TRUE), perl = TRUE)
+ } else {
diff -u r-base-3.0.1/src/library/tools/R/install.R
r-base-3.0.1/src/library/tools/R/install.R
--- r-base-3.0.1/src/library/tools/R/install.R
+++ r-base-3.0.1/src/library/tools/R/install.R
@@ -108,7 +108,7 @@
SHLIB_EXT <- if (WINDOWS) ".dll" else {
## can we do better?
mconf <- file.path(R.home(), paste0("etc", rarch), "Makeconf")
- if (substr( Sys.info()["machine"], 1, 3) == "arm") { # arm has
broken regexps in libc
+ if (substr( Sys.info()["machine"], 1, 3) == "arm" ||
Sys.info()["machine"] == "aarch64") { # arm has broken regexps in libc
sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value =
TRUE), perl = TRUE)
} else {
sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value = TRUE))
@@ -1631,7 +1631,7 @@
mconf <- readLines(file.path(R.home(),
paste0("etc", Sys.getenv("R_ARCH")),
"Makeconf"))
- if (substr( Sys.info()["machine"], 1, 3) == "arm") { # arm has
broken regexps in libc
+ if (substr( Sys.info()["machine"], 1, 3) == "arm" ||
Sys.info()["machine"] == "aarch64") { # arm has broken regexps in libc
SHLIB_EXT <- sub(".*= ", "", grep("^SHLIB_EXT", mconf, value =
TRUE), perl = TRUE)
SHLIB_LIBADD <- sub(".*= ", "", grep("^SHLIB_LIBADD", mconf, value
= TRUE), perl = TRUE)
} else {
Thanks,
--
Colin Watson [[email protected]]
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]