svn commit: r446636 - in head/math/R: . files
Joseph Mingrone
jrm at FreeBSD.org
Tue Jul 25 23:28:28 UTC 2017
Author: jrm
Date: Tue Jul 25 23:28:26 2017
New Revision: 446636
URL: https://svnweb.freebsd.org/changeset/ports/446636
Log:
math/R: Fix build issues when LIBR option is off and fix runtime issue by
permitting FLANG only with RBLAS
- Only apply SONAME patches when the relevant options are chosen. This
prevents install errors when LIBR is off.
- Only permit the FLANG option when RBLAS is chosen, because FLANG causes
some configure-time checks to fail and the shared RBLAS library is fallen
back upon, but not properly packaged, which causes runtime issues.
- Bump PORTREVISION
Reported by: rhurlin at gwdg.de
Differential Revision: https://reviews.freebsd.org/D11726
Added:
head/math/R/files/extra-patch-src_extra_blas_Makefile.in
- copied unchanged from r446635, head/math/R/files/patch-src_extra_blas_Makefile.in
head/math/R/files/extra-patch-src_main_Makefile.in
- copied unchanged from r446635, head/math/R/files/patch-src_main_Makefile.in
head/math/R/files/extra-patch-src_modules_lapack_Makefile.in
- copied unchanged from r446635, head/math/R/files/patch-src_modules_lapack_Makefile.in
Deleted:
head/math/R/files/patch-src_extra_blas_Makefile.in
head/math/R/files/patch-src_main_Makefile.in
head/math/R/files/patch-src_modules_lapack_Makefile.in
Modified:
head/math/R/Makefile
Modified: head/math/R/Makefile
==============================================================================
--- head/math/R/Makefile Tue Jul 25 23:28:01 2017 (r446635)
+++ head/math/R/Makefile Tue Jul 25 23:28:26 2017 (r446636)
@@ -3,7 +3,7 @@
PORTNAME= R
PORTVERSION= 3.4.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= math lang
MASTER_SITES= CRAN/src/base/R-${PORTVERSION:C|\..*||}
@@ -76,6 +76,7 @@ CAIROPANGO_CONFIGURE_WITH=cairo
CAIROPANGO_USES= gettext jpeg pkgconfig
CAIROPANGO_USE= GNOME=pango,cairo
FLANG_USE= binutils
+FLANG_PREVENTS= ATLAS OPENBLAS NETLIB
FLANG_BUILD_DEPENDS= flang:devel/flang
FLANG_RUN_DEPENDS= flang:devel/flang
FLANG_VARS= F77=flang FC=flang
@@ -96,6 +97,7 @@ 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
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}"
@@ -121,6 +123,8 @@ RBLAS_CONFIGURE_ON= --without-blas \
--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:84+
Copied: head/math/R/files/extra-patch-src_extra_blas_Makefile.in (from r446635, head/math/R/files/patch-src_extra_blas_Makefile.in)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/R/files/extra-patch-src_extra_blas_Makefile.in Tue Jul 25 23:28:26 2017 (r446636, copy of r446635, head/math/R/files/patch-src_extra_blas_Makefile.in)
@@ -0,0 +1,27 @@
+--- src/extra/blas/Makefile.in.orig 2017-07-16 08:46:49 UTC
++++ src/extra/blas/Makefile.in
+@@ -19,7 +19,7 @@ SOURCES = blas00.c blas.f cmplxblas.f
+ Rblas_la = libRblas$(R_DYLIB_EXT)
+ ## @RBLAS_LDFLAGS@ is used on macOS
+ ## first for internal BLAS
+-Rblas_la_LIBADD = @RBLAS_LDFLAGS@ $(FLIBS_IN_SO)
++Rblas_la_LIBADD = -Wl,-soname,libRblas.so.%%LIBVER%% $(FLIBS_IN_SO)
+ ## then external one
+ Rblas_la_LIBADD0 = @RBLAS_LDFLAGS@
+
+@@ -43,6 +43,7 @@ Rblas_install: $(Rblas_la)
+ @$(MKINSTALLDIRS) $(DESTDIR)$(Rexeclibdir)
+ @$(SHELL) $(top_srcdir)/tools/copy-if-change $(Rblas_la) \
+ $(DESTDIR)$(Rexeclibdir)/$(Rblas_la)
++ @cd $(DESTDIR)$(Rexeclibdir) && ln -s $(Rblas_la) $(Rblas_la).%%LIBVER%%
+
+ Rblas_install-strip: $(Rblas_la)
+ @$(MKINSTALLDIRS) $(DESTDIR)$(Rexeclibdir)
+@@ -50,6 +51,7 @@ Rblas_install-strip: $(Rblas_la)
+ @if test -n "$(STRIP_LIBS)"; then \
+ $(STRIP_LIBS) "$(DESTDIR)$(Rexeclibdir)/$(Rblas_la)" ;\
+ fi
++ @cd "$(DESTDIR)$(Rexeclibdir)" && ln -s $(Rblas_la) $(Rblas_la).%%LIBVER%%
+
+ mostlyclean: clean
+ clean:
Copied: head/math/R/files/extra-patch-src_main_Makefile.in (from r446635, head/math/R/files/patch-src_main_Makefile.in)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/R/files/extra-patch-src_main_Makefile.in Tue Jul 25 23:28:26 2017 (r446636, copy of r446635, head/math/R/files/patch-src_main_Makefile.in)
@@ -0,0 +1,19 @@
+--- src/main/Makefile.in.orig 2017-07-16 08:46:49 UTC
++++ src/main/Makefile.in
+@@ -110,7 +110,7 @@ libR_la_LIBADD = $(MAIN_OBJS) $(EXTRA_STATIC_LIBS) $(
+ libR_la_DEPENDENCIES = $(STATIC_LIBS) $(R_TZONE) @WANT_R_SHLIB_TRUE@ @USE_EXPORTFILES_TRUE@ $(top_builddir)/etc/R.exp
+
+ ## The next is needed for macOS only at present
+-LIBR_LDFLAGS = @LIBR_LDFLAGS@
++LIBR_LDFLAGS = -Wl,-soname,libR.so.%%LIBVER%%
+
+
+ all: R
+@@ -200,6 +200,7 @@ install-bin: installdirs
+ install-lib: installdirs
+ @$(MKINSTALLDIRS) "$(DESTDIR)$(Rexeclibdir)"
+ @$(SHELL) $(top_srcdir)/tools/copy-if-change $(libR_la) "$(DESTDIR)$(Rexeclibdir)/$(libR_la)"
++ @cd "$(DESTDIR)$(Rexeclibdir)" && ln -s $(libR_la) $(libR_la).%%LIBVER%%
+ install-static: installdirs
+ @$(MKINSTALLDIRS) "$(DESTDIR)$(Rexeclibdir)"
+ @$(SHELL) $(top_srcdir)/tools/copy-if-change libR.a "$(DESTDIR)$(Rexeclibdir)/libR.a"
Copied: head/math/R/files/extra-patch-src_modules_lapack_Makefile.in (from r446635, head/math/R/files/patch-src_modules_lapack_Makefile.in)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/R/files/extra-patch-src_modules_lapack_Makefile.in Tue Jul 25 23:28:26 2017 (r446636, copy of r446635, head/math/R/files/patch-src_modules_lapack_Makefile.in)
@@ -0,0 +1,30 @@
+--- src/modules/lapack/Makefile.in.orig 2017-07-16 08:46:49 UTC
++++ src/modules/lapack/Makefile.in
+@@ -82,16 +82,17 @@ $(lapack_la): $(lapack_la_OBJECTS)
+ ## Include BLAS here, as with (static) ATLAS that pulls all the
+ ## BLAS routines into one place.
+ $(Rlapack_la): $(LIBOBJECTS)
+- $(DYLIB_LINK) -o $@ $(LIBOBJECTS) @RLAPACK_LDFLAGS@ @BLAS_LIBS@ $(Rlapack_la_LIBADD)
++ $(DYLIB_LINK) -o $@ $(LIBOBJECTS) -Wl,-soname,libRlapack.so.%%LIBVER%% @BLAS_LIBS@ $(Rlapack_la_LIBADD)
+
+ Rlapack_install: $(Rlapack_la)
+ @$(MKINSTALLDIRS) "$(DESTDIR)$(Rexeclibdir)"
+ @$(SHELL) $(top_srcdir)/tools/copy-if-change $(Rlapack_la) \
+ $(Rexeclibdir)/$(Rlapack_la)
+-
++ @cd $(Rexeclibdir) && ln -s $(Rlapack_la) $(Rlapack_la).%%LIBVER%%
+ install: installdirs
+ @$(SHELL) $(top_srcdir)/tools/copy-if-change $(lapack_la) "$(DESTDIR)$(Rexecmodulesdir)/$(lapack_la)"
+ @USE_EXTERNAL_LAPACK_FALSE@ @$(SHELL) $(top_srcdir)/tools/copy-if-change $(Rlapack_la) "$(DESTDIR)$(Rexeclibdir)/$(Rlapack_la)"
++ at USE_EXTERNAL_LAPACK_FALSE@ @cd "$(DESTDIR)$(Rexeclibdir)" && ln -sf $(Rlapack_la) $(Rlapack_la).%%LIBVER%%
+ installdirs:
+ @$(MKINSTALLDIRS) "$(DESTDIR)$(Rexecmodulesdir)"
+ install-strip-Rlapack:
+@@ -104,6 +105,7 @@ install-strip: @USE_EXTERNAL_LAPACK_FALSE@ install-str
+ @if test -n "$(STRIP_LIBS)"; then \
+ $(STRIP_LIBS) "$(DESTDIR)$(Rexecmodulesdir)/$(lapack_la)"; \
+ fi
++ @cd "$(DESTDIR)$(Rexeclibdir)" && ln -s $(Rlapack_la) $(Rlapack_la).%%LIBVER%%
+ uninstall:
+ @rm -f "$(Rexecmodulesdir)/$(lapack_la)"
+
More information about the svn-ports-all
mailing list