Package: r-base
Version: 3.0.1-3
Severity: important
Tags: patch
User: debian-...@lists.debian.org
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                                       [cjwat...@ubuntu.com]


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to