aboutsummaryrefslogtreecommitdiff
path: root/math/R
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2010-05-16 23:30:46 +0000
committerPav Lucistnik <pav@FreeBSD.org>2010-05-16 23:30:46 +0000
commit4a8c23a99f8ebc6f9d261b9cc7ef1b242e92ad6b (patch)
tree0e96dc627e9b69ed52cfd99ee47fcb45488fe33e /math/R
parentc870fd501cae4ded05d6e551f2126593f33a5b19 (diff)
downloadports-4a8c23a99f8ebc6f9d261b9cc7ef1b242e92ad6b.tar.gz
ports-4a8c23a99f8ebc6f9d261b9cc7ef1b242e92ad6b.zip
- Fix on 6.X
Submitted by: b. f. <bf1783@googlemail.com>
Notes
Notes: svn path=/head/; revision=254468
Diffstat (limited to 'math/R')
-rw-r--r--math/R/Makefile4
-rw-r--r--math/R/files/freebsd6_tar_patch15
2 files changed, 19 insertions, 0 deletions
diff --git a/math/R/Makefile b/math/R/Makefile
index 750e6eb759ae..8fd728ffb5b0 100644
--- a/math/R/Makefile
+++ b/math/R/Makefile
@@ -80,6 +80,10 @@ CONFIGURE_ARGS= --with-system-bzlib --with-system-zlib rdocdir=${DOCSDIR}
.include <bsd.port.pre.mk>
+.if ${OSVERSION} < 700000
+EXTRA_PATCHES+= ${FILESDIR}/freebsd6_tar_patch
+.endif
+
.if !defined(LIBRMATH_SLAVEPORT)
.if defined(WITH_ATLAS)
LIB_DEPENDS+= atlas.2:${PORTSDIR}/math/atlas
diff --git a/math/R/files/freebsd6_tar_patch b/math/R/files/freebsd6_tar_patch
new file mode 100644
index 000000000000..c65b6ef7096e
--- /dev/null
+++ b/math/R/files/freebsd6_tar_patch
@@ -0,0 +1,15 @@
+--- src/library/tools/R/install.R.orig 2010-05-16 07:18:27.000000000 -0400
++++ src/library/tools/R/install.R 2010-05-16 07:29:30.000000000 -0400
+@@ -1019,7 +1019,11 @@
+ of <- dir(tmpdir, full.names = TRUE)
+ ## force the use of internal untar unless over-ridden
+ ## so e.g. .tar.xz works everywhere
+- TAR <- Sys.getenv("R_INSTALL_TAR", "internal")
++ ## Disable the default use of the internal tar on FreeBSD 6.X, it segfaults
++ ## on the default package MASS. This means that packages with lzma-compressed tarballs
++ ## will not be usable on FreeBSD 6.X versions before the import of xz, so
++ ## a better solution should be found.
++ ## TAR <- Sys.getenv("R_INSTALL_TAR", "internal")
+ if (untar(pkg, exdir = tmpdir, tar = TAR))
+ errmsg("error unpacking tarball")
+ ## Now see what we got