From 1e124d39bd5ca1199ca23a7777bd64b7b4f0ec8e Mon Sep 17 00:00:00 2001 From: Joseph Mingrone Date: Tue, 4 Jul 2017 17:07:44 +0000 Subject: [PATCH] math/R: Update to version 3.4.1 Upstream changes: https://cran.r-project.org/doc/manuals/r-release/NEWS.html Port changes: - Add aarch64 to ONLY_FOR_ARCHS [1] - Add off-by-default option for experimental fortran support via flang [2] Submitted by: [1] andrew, [2] yuri@rawbw.com --- math/R/Makefile | 32 ++++++++++++++++++++------- math/R/distinfo | 6 ++--- math/R/files/patch-configure | 10 +++++++++ math/R/files/patch-src_main_complex.c | 20 +++++++++++++++++ math/R/pkg-plist | 2 ++ 5 files changed, 59 insertions(+), 11 deletions(-) create mode 100644 math/R/files/patch-configure create mode 100644 math/R/files/patch-src_main_complex.c diff --git a/math/R/Makefile b/math/R/Makefile index d9be4bd506c0..0cf25380e9f9 100644 --- a/math/R/Makefile +++ b/math/R/Makefile @@ -2,8 +2,8 @@ # $FreeBSD$ PORTNAME= R -PORTVERSION= 3.4.0 -PORTREVISION= 2 +PORTVERSION= 3.4.1 +PORTREVISION= 0 CATEGORIES= math lang MASTER_SITES= CRAN/src/base/R-${PORTVERSION:C|\..*||} @@ -22,9 +22,9 @@ CONFIGURE_ARGS= --disable-java \ rdocdir=${DOCSDIR} GNU_CONFIGURE= yes INSTALL_TARGET= install-strip -ONLY_FOR_ARCHS= amd64 i386 -USES= fortran gmake iconv libtool localbase objc:compiler \ - pathfix perl5 readline +ONLY_FOR_ARCHS= aarch64 amd64 i386 +USES= gmake iconv libtool localbase objc:compiler \ + pathfix perl5 readline:port USE_PERL5= build @@ -32,14 +32,20 @@ OPTIONS_DEFINE= ICU INFO LDOUBLE LETTER LIBR MEMPROF NLS RPROF X11 OPTIONS_GROUP= NEEDGCC NEEDX11 OPTIONS_GROUP_NEEDGCC= LTO OPENMP OPTIONS_GROUP_NEEDX11= GHOSTSCRIPT JPEG CAIROPANGO PNG TCLTK TEXDOCS TIFF -OPTIONS_SINGLE= BLAS +OPTIONS_SINGLE= BLAS FORTRAN OPTIONS_SINGLE_BLAS= ATLAS OPENBLAS NETLIB RBLAS +OPTIONS_SINGLE_FORTRAN= ${OPTIONS_SINGLE_FORTRAN_${MACHINE_ARCH}} +OPTIONS_SINGLE_FORTRAN_i386= GFORTRAN +OPTIONS_SINGLE_FORTRAN_armv6= GFORTRAN +OPTIONS_SINGLE_FORTRAN_amd64= GFORTRAN FLANG OPTIONS_SUB= YES ATLAS_DESC= ATLAS BLAS implementation +FLANG_DESC= Experimental Fortan support via flang GHOSTSCRIPT_DESC= Graphics device for bitmap files via Ghostscript CAIROPANGO_DESC= Cairo graphics device and Pango multi-language text +GFORTRAN_DESC= Fortan support via gfortran INFO_DESC= GNU info manuals JPEG_DESC= JPEG graphics device LDOUBLE_DESC= Long double data type @@ -57,8 +63,8 @@ RPROF_DESC= R profiling via Rprof() TEXDOCS_DESC= Build/Install TeX-dependent documentation files X11_DESC= X11 graphics device -OPTIONS_DEFAULT= CAIROPANGO GHOSTSCRIPT ICU INFO JPEG LDOUBLE LIBR PNG \ - RBLAS RPROF TCLTK TIFF X11 +OPTIONS_DEFAULT= CAIROPANGO GFORTRAN GHOSTSCRIPT ICU INFO JPEG LDOUBLE \ + LIBR PNG RBLAS RPROF TCLTK TIFF X11 ATLAS_USES= blaslapack:atlas ATLAS_CONFIGURE_ON= --disable-BLAS-shlib @@ -68,6 +74,14 @@ CAIROPANGO_IMPLIES= X11 CAIROPANGO_CONFIGURE_WITH=cairo CAIROPANGO_USES= gettext jpeg pkgconfig CAIROPANGO_USE= GNOME=pango,cairo +FLANG_USE= binutils +FLANG_BUILD_DEPENDS= flang:devel/flang +FLANG_RUN_DEPENDS= flang:devel/flang +FLANG_VARS= F77=flang FC=flang +FLANG_LDFLAGS= -L${LOCALBASE}/flang/lib -lflang -lexecinfo +FLANG_CONFIGURE_ENV= F77="${F77}" FC="${FC}" FFLAGS="${FFLAGS}" +FLANG_MAKE_ENV= F77="${F77}" FC="${FC}" FFLAGS="${FFLAGS}" +GFORTRAN_USES= fortran GHOSTSCRIPT_IMPLIES= X11 GHOSTSCRIPT_USES= ghostscript ICU_CONFIGURE_WITH= ICU @@ -84,6 +98,7 @@ LIBR_CONFIGURE_ENABLE= R-shlib LTO_CONFIGURE_ENABLE= lto LTO_CONFIGURE_ENV= AR="${LOCALBASE}/bin/gcc-ar${GCC_DEFAULT:S/.//g}" \ RANLIB="${LOCALBASE}/bin/gcc-ranlib${GCC_DEFAULT:S/.//g}" +LTO_PREVENTS= FLANG LTO_USE= GCC=yes LTO_VARS= BINUTILS="ADDR2LINE AS CPPFILT GPROF LD NM OBJCOPY \ OBJDUMP READELF SIZE STRINGS" @@ -95,6 +110,7 @@ NLS_USES= gettext OPENBLAS_USES= blaslapack:openblas OPENBLAS_CONFIGURE_ON= --disable-BLAS-shlib OPENMP_CONFIGURE_ENABLE=openmp +OPENMP_LIB_DEPENDS= libomp.so:devel/openmp OPENMP_USES= compiler:openmp PNG_IMPLIES= X11 PNG_LIB_DEPENDS= libpng.so:graphics/png diff --git a/math/R/distinfo b/math/R/distinfo index 88f18b301fd4..bca1071b9258 100644 --- a/math/R/distinfo +++ b/math/R/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1492859308 -SHA256 (R-3.4.0.tar.gz) = 288e9ed42457c47720780433b3d5c3c20983048b789291cc6a7baa11f9428b91 -SIZE (R-3.4.0.tar.gz) = 30175855 +TIMESTAMP = 1498946951 +SHA256 (R-3.4.1.tar.gz) = 02b1135d15ea969a3582caeb95594a05e830a6debcdb5b85ed2d5836a6a3fc78 +SIZE (R-3.4.1.tar.gz) = 30200109 diff --git a/math/R/files/patch-configure b/math/R/files/patch-configure new file mode 100644 index 000000000000..d29a9b4258a4 --- /dev/null +++ b/math/R/files/patch-configure @@ -0,0 +1,10 @@ +--- configure.orig 2017-04-19 21:38:22 UTC ++++ configure +@@ -7528,6 +7528,7 @@ if test $ac_compiler_gnu = yes; then + else + G77= + fi ++G77=yes + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' + ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' diff --git a/math/R/files/patch-src_main_complex.c b/math/R/files/patch-src_main_complex.c new file mode 100644 index 000000000000..1bc5b307e27f --- /dev/null +++ b/math/R/files/patch-src_main_complex.c @@ -0,0 +1,20 @@ +--- src/main/complex.c.orig 2017-03-27 22:15:12 UTC ++++ src/main/complex.c +@@ -133,7 +133,7 @@ static double complex mycpow (double com + } else if (yi == 0.0 && yr == (k = (int) yr) && abs(k) <= 65536) + Z = R_cpow_n(X, k); + else +-#ifdef HAVE_CPOW ++#if defined(HAVE_CPOW) && !defined(__FreeBSD__) + Z = cpow(X, Y); + #else + { +@@ -365,7 +365,7 @@ void attribute_hidden z_prec_r(Rcomplex + Currently (Feb 2011) they are used on FreeBSD. + */ + +-#ifndef HAVE_CLOG ++#if !defined(HAVE_CLOG) || defined(__FreeBSD__) + #define clog R_clog + /* FIXME: maybe add full IEC60559 support */ + static double complex clog(double complex x) diff --git a/math/R/pkg-plist b/math/R/pkg-plist index 2a5e71b51d51..f39ee7267ad9 100644 --- a/math/R/pkg-plist +++ b/math/R/pkg-plist @@ -443,7 +443,9 @@ lib/R/library/foreign/R/foreign.rdb lib/R/library/foreign/R/foreign.rdx lib/R/library/foreign/files/HillRace.SYD lib/R/library/foreign/files/Iris.syd +lib/R/library/foreign/files/electric.sav lib/R/library/foreign/files/sids.dbf +lib/R/library/foreign/files/testdata.sav lib/R/library/foreign/help/AnIndex lib/R/library/foreign/help/aliases.rds lib/R/library/foreign/help/foreign.rdb