Index: head/Mk/Uses/fortran.mk =================================================================== --- head/Mk/Uses/fortran.mk (revision 454427) +++ head/Mk/Uses/fortran.mk (revision 454428) @@ -1,46 +1,46 @@ # $FreeBSD$ # # Fortran support # # Feature: fortran # Usage: USES=fortran -# Valid ARGS: flang, gcc (default) +# Valid ARGS: flang, gfortran (default) # # MAINTAINER: fortran@FreeBSD.org .if !defined(_INCLUDE_USES_FORTRAN_MK) _INCLUDE_USES_FORTRAN_MK= yes .if empty(fortran_ARGS) -fortran_ARGS= gcc +fortran_ARGS= ${FORTRAN_DEFAULT} .endif .if ${fortran_ARGS} == flang .if ${ARCH} == amd64 BUILD_DEPENDS+= flang:devel/flang RUN_DEPENDS+= flang:devel/flang F77= flang FC= flang LDFLAGS+= -L${LOCALBASE}/flang/lib -Wl,--as-needed -lflang -lexecinfo -Wl,--no-as-needed .else IGNORE= USES=fortran: flang argument only available for amd64 .endif -.elif ${fortran_ARGS} == gcc +.elif ${fortran_ARGS} == gfortran _GCC_VER= ${GCC_DEFAULT:S/.//} BUILD_DEPENDS+= gfortran${_GCC_VER}:lang/gcc${_GCC_VER} RUN_DEPENDS+= gfortran${_GCC_VER}:lang/gcc${_GCC_VER} F77= gfortran${_GCC_VER} FC= gfortran${_GCC_VER} FFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER} FCFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER} LDFLAGS+= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER} \ -L${LOCALBASE}/lib/gcc${_GCC_VER} -B${LOCALBASE}/bin .else IGNORE= USES=fortran: invalid arguments: ${fortran_ARGS} .endif USE_BINUTILS= yes CONFIGURE_ENV+= F77="${F77}" FC="${FC}" FFLAGS="${FFLAGS}" FCFLAGS="${FCFLAGS}" MAKE_ENV+= F77="${F77}" FC="${FC}" FFLAGS="${FFLAGS}" FCFLAGS="${FCFLAGS}" .endif Index: head/Mk/bsd.default-versions.mk =================================================================== --- head/Mk/bsd.default-versions.mk (revision 454427) +++ head/Mk/bsd.default-versions.mk (revision 454428) @@ -1,143 +1,145 @@ # $FreeBSD$ # # MAINTAINER: ports@FreeBSD.org # # Provide default versions for ports with multiple versions selectable # by the user. # # Users who want to override these defaults can easily do so by defining # DEFAULT_VERSIONS in their make.conf as follows: # # DEFAULT_VERSIONS= perl5=5.20 ruby=2.0 .if !defined(_INCLUDE_BSD_DEFAULT_VERSIONS_MK) _INCLUDE_BSD_DEFAULT_VERSIONS_MK= yes LOCALBASE?= /usr/local -.for lang in APACHE BDB FIREBIRD FPC GCC GHOSTSCRIPT LINUX LUA MYSQL PERL5 \ - PGSQL PHP PYTHON PYTHON2 PYTHON3 RUBY SSL TCLTK +.for lang in APACHE BDB FIREBIRD FORTRAN FPC GCC GHOSTSCRIPT LINUX LUA MYSQL \ + PERL5 PGSQL PHP PYTHON PYTHON2 PYTHON3 RUBY SSL TCLTK .if defined(${lang}_DEFAULT) WARNING+= "The variable ${lang}_DEFAULT is set and it should only be defined through DEFAULT_VERSIONS+=${lang:tl}=${${lang}_DEFAULT} in /etc/make.conf" WARNING+= "This behaviour has never been supported and will be removed on 2017-01-31" .endif #.undef ${lang}_DEFAULT .endfor .for lang in ${DEFAULT_VERSIONS} _l= ${lang:C/=.*//g} ${_l:tu}_DEFAULT= ${lang:C/.*=//g} .endfor # Possible values: 2.2, 2.4 APACHE_DEFAULT?= 2.4 # Possible values: 48, 5, 6 BDB_DEFAULT?= 5 # Possible values: 2.5 FIREBIRD_DEFAULT?= 2.5 +# Possible values: flang (experimental), gfortran +FORTRAN_DEFAULT?= gfortran # Possible values: 3.0.0 FPC_DEFAULT?= 3.0.2 # Possible values: 4.8, 4.9, 5, 6, 7 GCC_DEFAULT?= 6 # Possible values: 7, 8, 9, agpl GHOSTSCRIPT_DEFAULT?= agpl .if ${ARCH} == amd64 # Possible values: c6, c6_64, c7 LINUX_DEFAULT?= c6_64 .else # Possible values: c6 LINUX_DEFAULT?= c6 .endif .if defined(OVERRIDE_LINUX_BASE_PORT) LINUX_DEFAULT:= ${OVERRIDE_LINUX_BASE_PORT} WARNING+= "OVERRIDE_LINUX_BASE_PORT is deprecated, please use DEFAULT_VERSIONS+=linux=${OVERRIDE_LINUX_BASE_PORT}." .endif # Possible values: 5.1, 5.2, 5.3 LUA_DEFAULT?= 5.2 # Possible values: 5.5, 5.6, 5.7, 8.0, 5.5m, 10.0m, 10.1m, 10.2m, 5.5p, 5.6p, 5.7p, 5.6w MYSQL_DEFAULT?= 5.6 # Possible values: 5.22, 5.24, 5.26, devel .if !exists(${LOCALBASE}/bin/perl) || (!defined(_PORTS_ENV_CHECK) && \ defined(PACKAGE_BUILDING)) PERL5_DEFAULT?= 5.24 .elif !defined(PERL5_DEFAULT) # There's no need to replace development versions, like "5.23" with "devel" # because 1) nobody is supposed to use it outside of poudriere, and 2) it must # be set manually in /etc/make.conf in the first place, and we're never getting # in here. .if !defined(_PERL5_FROM_BIN) _PERL5_FROM_BIN!= perl -e 'printf "%vd\n", $$^V;' .endif _EXPORTED_VARS+= _PERL5_FROM_BIN PERL5_DEFAULT:= ${_PERL5_FROM_BIN:R} .endif # Possible values: 9.2, 9.3, 9.4, 9.5, 9.6 PGSQL_DEFAULT?= 9.5 # Possible values: 5.6, 7.0, 7.1, 7.2 PHP_DEFAULT?= 5.6 # Possible values: 2.7, 3.4, 3.5, 3.6 PYTHON_DEFAULT?= 2.7 # Possible values: 2.7 PYTHON2_DEFAULT?= 2.7 # Possible values: 3.4, 3.5, 3.6 PYTHON3_DEFAULT?= 3.6 # Possible values: 2.2, 2.3, 2.4 RUBY_DEFAULT?= 2.3 # Possible values: 4.4, 4.5, 4.6 SAMBA_DEFAULT?= 4.4 # Possible values: base, openssl, openssl-devel, libressl, libressl-devel .if !defined(SSL_DEFAULT) # If no preference was set, check for an installed base version # but give an installed port preference over it. . if defined(WITH_OPENSSL_PORT) . if defined(OPENSSL_PORT) SSL_DEFAULT:=${OPENSSL_PORT:T} WARNING+= "Using WITH_OPENSSL_PORT and OPENSSL_PORT in make.conf is deprecated, replace them with DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT} in your make.conf" . else SSL_DEFAULT=openssl WARNING+= "Using WITH_OPENSSL_PORT in make.conf is deprecated, replace it with DEFAULT_VERSIONS+=ssl=openssl in your make.conf" . endif . elif defined(WITH_OPENSSL_BASE) SSL_DEFAULT=base WARNING+= "Using WITH_OPENSSL_BASE in make.conf is deprecated, replace it with DEFAULT_VERSIONS+=ssl=base in your make.conf" . elif !defined(WITH_OPENSSL_BASE) && \ !defined(WITH_OPENSSL_PORT) && \ !defined(SSL_DEFAULT) && \ !exists(${DESTDIR}/${LOCALBASE}/lib/libcrypto.so) && \ exists(${DESTDIR}/usr/include/openssl/opensslv.h) SSL_DEFAULT= base . else . if exists(${DESTDIR}/${LOCALBASE}/lib/libcrypto.so) . if defined(PKG_BIN) # find installed port and use it for dependency . if !defined(OPENSSL_INSTALLED) . if defined(DESTDIR) PKGARGS= -c ${DESTDIR} . else PKGARGS= . endif OPENSSL_INSTALLED!= ${PKG_BIN} ${PKGARGS} which -qo ${LOCALBASE}/lib/libcrypto.so || : . endif . if defined(OPENSSL_INSTALLED) && !empty(OPENSSL_INSTALLED) SSL_DEFAULT:= ${OPENSSL_INSTALLED:T} WARNING+= "You have ${OPENSSL_INSTALLED} installed but do not have DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT} set in your make.conf" . endif . else check-makevars:: @${ECHO_MSG} "You have a ${LOCALBASE}/lib/libcrypto.so file installed, but the framework is unable" @${ECHO_MSG} "to determine what port it comes from." @${ECHO_MSG} "Add DEFAULT_VERSIONS+=ssl= to your /etc/make.conf and try again." @${FALSE} . endif . endif . endif # Make sure we have a default in the end SSL_DEFAULT?= base .endif # Possible values: 8.4, 8.5, 8.6, 8.7 TCLTK_DEFAULT?= 8.6 # Possible values: 4, 5 VARNISH_DEFAULT?= 4 .endif Index: head/math/R/Makefile =================================================================== --- head/math/R/Makefile (revision 454427) +++ head/math/R/Makefile (revision 454428) @@ -1,151 +1,144 @@ # Created by: Maurice Castro # $FreeBSD$ PORTNAME= R DISTVERSION= 3.4.2 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= math lang MASTER_SITES= CRAN/src/base/R-${PORTVERSION:C|\..*||} MAINTAINER= jrm@FreeBSD.org COMMENT= Language for statistical computing and graphics LICENSE= GPLv2 ONLY_FOR_ARCHS= aarch64 amd64 i386 LIB_DEPENDS= libcurl.so:ftp/curl \ libpcre.so:devel/pcre BUILD_DEPENDS= texi2any:print/texinfo RUN_DEPENDS= gmake:devel/gmake CONFIGURE_ARGS= --disable-java \ --with-readline \ rdocdir=${DOCSDIR} GNU_CONFIGURE= yes INSTALL_TARGET= install-strip USES= gmake iconv libtool localbase \ pathfix perl5 readline:port USE_PERL5= build USE_LDCONFIG= ${PREFIX}/lib/R/lib -OPTIONS_DEFINE= ICU INFO LDOUBLE LETTER LIBR MEMPROF NLS OPENMP RPROF X11 +OPTIONS_DEFINE= FLANG ICU INFO LDOUBLE LETTER LIBR MEMPROF NLS OPENMP RPROF X11 +OPTIONS_EXCLUDE_aarch64=FLANG # define+exclude for *_OFF option helpers +OPTIONS_EXCLUDE_i386= FLANG OPTIONS_GROUP= NEEDX11 OPTIONS_GROUP_NEEDX11= GHOSTSCRIPT JPEG CAIROPANGO PNG TCLTK TEXDOCS TIFF -OPTIONS_SINGLE= BLAS FORTRAN +OPTIONS_SINGLE= BLAS OPTIONS_SINGLE_BLAS= ATLAS OPENBLAS NETLIB RBLAS -OPTIONS_SINGLE_FORTRAN= ${OPTIONS_SINGLE_FORTRAN_${MACHINE_ARCH}} -OPTIONS_SINGLE_FORTRAN_i386= GFORTRAN -OPTIONS_SINGLE_FORTRAN_aarch64= GFORTRAN -OPTIONS_SINGLE_FORTRAN_amd64= GFORTRAN FLANG OPTIONS_SUB= YES ATLAS_DESC= ATLAS BLAS implementation -FLANG_DESC= Build Fortran source with flang +FLANG_DESC= Use flang instead of the default Fortran compiler GHOSTSCRIPT_DESC= Graphics device for bitmap files via Ghostscript CAIROPANGO_DESC= Cairo graphics device and Pango multi-language text -GFORTRAN_DESC= Build Fortran source with gfortran INFO_DESC= GNU info manuals JPEG_DESC= JPEG graphics device LDOUBLE_DESC= Long double data type LETTER_DESC= US letter paper LIBR_DESC= Shared R library MEMPROF_DESC= Memory profiling via Rprofmem() and tracemem() NEEDGCC_DESC= Require GCC NEEDX11_DESC= Require X11 NETLIB_DESC= Netlib BLAS implementation OPENBLAS_DESC= OpenBLAS BLAS implementation PNG_DESC= PNG graphics device RBLAS_DESC= Use R-bundled BLAS implementation 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_aarch64=GFORTRAN -OPTIONS_DEFAULT_amd64= FLANG -OPTIONS_DEFAULT_i386= GFORTRAN ATLAS_USES= blaslapack:atlas ATLAS_CONFIGURE_ON= --disable-BLAS-shlib ATLAS_VARS= MANUAL_PACKAGE_BUILD=\ "Choose a BLAS option other than ATLAS for package building." CAIROPANGO_IMPLIES= X11 CAIROPANGO_CONFIGURE_WITH=cairo CAIROPANGO_USES= gettext jpeg pkgconfig CAIROPANGO_USE= GNOME=pango,cairo FLANG_USES= fortran:flang +FLANG_USES_OFF= fortran FLANG_PREVENTS= ATLAS OPENBLAS NETLIB -GFORTRAN_USES= fortran:gcc -GFORTRAN_RUN_DEPENDS= wget:ftp/wget GHOSTSCRIPT_IMPLIES= X11 GHOSTSCRIPT_USES= ghostscript ICU_CONFIGURE_WITH= ICU ICU_LIB_DEPENDS= libicui18n.so:devel/icu INFO_INSTALL_TARGET= install-info INFO_INFO= R-FAQ R-admin R-data R-exts R-ints R-intro R-lang JPEG_IMPLIES= X11 JPEG_CONFIGURE_WITH= jpeglib JPEG_CONFIGURE_ENV= r_cv_header_jpeglib_h=yes JPEG_USES= jpeg LDOUBLE_CONFIGURE_ENABLE=long-double LETTER_CONFIGURE_ENV= R_PAPERSIZE=letter LIBR_CONFIGURE_ENABLE= R-shlib LIBR_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_main_Makefile.in MEMPROF_CONFIGURE_ENABLE=memory-profiling NETLIB_USES= blaslapack:netlib NETLIB_CONFIGURE_ON= --disable-BLAS-shlib NLS_CONFIGURE_OFF= --disable-nls NLS_USES= gettext OPENBLAS_USES= blaslapack:openblas OPENBLAS_CONFIGURE_ON= --disable-BLAS-shlib OPENMP_CONFIGURE_ENABLE=openmp OPENMP_LIB_DEPENDS= libomp.so:devel/openmp PNG_IMPLIES= X11 PNG_LIB_DEPENDS= libpng.so:graphics/png PNG_CONFIGURE_WITH= libpng RBLAS_CONFIGURE_ON= --without-blas \ --without-lapack \ --enable-BLAS-shlib RBLAS_CONFIGURE_OFF= --with-blas="-L${LOCALBASE}/lib ${BLASLIB}" \ --with-lapack="${LAPACKLIB}" RBLAS_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_extra_blas_Makefile.in \ ${PATCHDIR}/extra-patch-src_modules_lapack_Makefile.in RPROF_CONFIGURE_ENABLE= R-profiling TCLTK_IMPLIES= X11 TCLTK_USES= tcl tk TCLTK_CONFIGURE_WITH= tcltk .for i in KPSEWHICH MAKEINDEX PDFLATEX PDFTEX TEX TEXI2DVI TEXDOCS_CONFIGURE_ENV_OFF+= ac_cv_path_${i}="" .endfor TEXDOCS_INSTALL_TARGET= install-pdf TEXDOCS_USE= tex=dvipsk:build,kpathsea:build,pdftex:build TIFF_IMPLIES= X11 TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff TIFF_CONFIGURE_WITH= libtiff X11_CONFIGURE_WITH= x X11_USE= xorg=ice,sm,x11,xext,xmu,xscrnsaver,xt LIBVER= ${PORTVERSION:R} PLIST_SUB= LIBVER=${LIBVER} post-patch: @${REINPLACE_CMD} -e "s|/usr/local|${LOCALBASE}|g" ${WRKSRC}/configure @${REINPLACE_CMD} "s|%%LIBVER%%|${LIBVER}|" \ ${WRKSRC}/src/main/Makefile.in \ ${WRKSRC}/src/extra/blas/Makefile.in \ ${WRKSRC}/src/modules/lapack/Makefile.in post-install-RBLAS-on: @${REINPLACE_CMD} -e "s| -lR| -lR -lRblas|" \ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/libR.pc post-install-RBLAS-off: @${REINPLACE_CMD} -e "s| -lR| -lR ${BLASLIB}|" \ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/libR.pc .include .include "compiler.mk" .include Index: head/math/libRmath/Makefile =================================================================== --- head/math/libRmath/Makefile (revision 454427) +++ head/math/libRmath/Makefile (revision 454428) @@ -1,64 +1,55 @@ # Created by: Eric van Gyzen # $FreeBSD$ PORTNAME= libRmath DISTVERSION= 3.4.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= math lang MASTER_SITES= CRAN/src/base/R-${PORTVERSION:C|\..*||} DISTNAME= R-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} MAINTAINER= jrm@FreeBSD.org COMMENT= Standalone math library from R LICENSE= GPLv2 ONLY_FOR_ARCHS= aarch64 amd64 i386 LIB_DEPENDS= libcurl.so:ftp/curl \ libpcre.so:devel/pcre BUILD_WRKSRC= ${WRKSRC}/src/nmath/standalone CONFIGURE_ARGS= --disable-nls --with-ICU=no --with-cairo=no \ --with-jpeglib=no --with-libpng=no --with-libtiff=no \ --with-readline=no --with-tcltk=no --with-x=no \ --without-libintl-prefix CONFIGURE_ENV+= ac_cv_header_iconv_h=no FPICFLAGS=-fPIC GNU_CONFIGURE= yes RMATH_SOVERSION=${PORTVERSION:R} USES= localbase USE_LDCONFIG= yes PLIST_SUB= RMATH_SOVERSION="${RMATH_SOVERSION}" -OPTIONS_SINGLE= FORTRAN -OPTIONS_SINGLE_FORTRAN= ${OPTIONS_SINGLE_FORTRAN_${MACHINE_ARCH}} -OPTIONS_SINGLE_FORTRAN_amd64= GFORTRAN FLANG -OPTIONS_DEFAULT_amd64= FLANG +OPTIONS_DEFINE= FLANG +OPTIONS_EXCLUDE_aarch64=FLANG +OPTIONS_EXCLUDE_i386= FLANG -FLANG_DESC= Build Fortran source with flang -GFORTRAN_DESC= Build Fortran source with gfortran - -GFORTRAN_USES= fortran:gcc +FLANG_DESC= Use flang instead of the default Fortran compiler FLANG_USES= fortran:flang - -.include - -.if ${ARCH} != amd64 -USES+= fortran:gcc -.endif +FLANG_USES_OFF= fortran post-patch: @${REINPLACE_CMD} -e 's|(libdir)/pkgconfig|(prefix)/libdata/pkgconfig|g'\ ${WRKSRC}/src/nmath/standalone/Makefile.in \ ${WRKSRC}/src/unix/Makefile.in @${REINPLACE_CMD} -e "s|/usr/local|${LOCALBASE}|g" \ ${WRKSRC}/configure do-install: ${INSTALL_DATA} ${WRKSRC}/src/include/Rmath.h ${STAGEDIR}${PREFIX}/include ${INSTALL_DATA} ${BUILD_WRKSRC}/libRmath.a ${STAGEDIR}${PREFIX}/lib ${INSTALL_LIB} ${BUILD_WRKSRC}/libRmath.so ${STAGEDIR}${PREFIX}/lib/libRmath.so (cd ${STAGEDIR}${PREFIX}/lib; ${LN} -sf libRmath.so libRmath.so.${RMATH_SOVERSION}) .include