Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Jul 2017 23:28:27 +0000 (UTC)
From:      Joseph Mingrone <jrm@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r446636 - in head/math/R: . files
Message-ID:  <201707252328.v6PNSRHn046947@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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)"
++@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)"
+ 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201707252328.v6PNSRHn046947>