On Thu, Dec 10, 2015 at 4:21 PM, Ingo Feinerer <[email protected]> wrote:
> Dear useRs,
>
> Update math/R 3.2.2 -> 3.2.3:
>
> - Use new --disable-java which eliminates the need for patch-Makefile_in
> - Use new R_DYLIB_VERSION variable which allows us to get rid of
> MAKE_FLAGS and patch-src_scripts_javareconf_in. However we now need to
> have all SHARED_LIBS in sync (consequently bumping libR).
> - External libintl handling is now fixed upstream
> (https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=16464), so zap
> patch-src_main_Makefile_in and corresponding parts in patch-configure
> - Use upstream tests in patch-configure to unbreak build on powerpc*
> (already in R-devel)
> - Fix typo and sync with recommended upstream settings for egcc in
> pkg/README
> - make port-lib-depends-check tells me that WANTLIB no longer should
> include "fontconfig freetype pangoft2-1.0"
>
> OK?
Finally managed to test this update.
All looks good: ok dcoppa@.
> Best regards,
> Ingo
Ciao!
David
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/math/R/Makefile,v
> retrieving revision 1.76
> diff -u -p -r1.76 Makefile
> --- Makefile 30 Oct 2015 12:47:40 -0000 1.76
> +++ Makefile 10 Dec 2015 14:52:24 -0000
> @@ -3,12 +3,12 @@
> SHARED_ONLY= Yes
>
> COMMENT= powerful math/statistics/graphics language
> -DISTNAME= R-3.2.2
> -REVISION= 1
> +DISTNAME= R-3.2.3
>
> -SHARED_LIBS= R 3.1
> -SHARED_LIBS+= Rlapack 31.2 # 31.2
> -SHARED_LIBS+= Rblas 31.2 # 31.2
> +SO_VERSION= 31.2
> +.for _lib in R Rblas Rlapack
> +SHARED_LIBS += ${_lib} ${SO_VERSION}
> +.endfor
>
> CATEGORIES= math
> HOMEPAGE= http://www.r-project.org/
> @@ -19,10 +19,10 @@ MAINTAINER= Ingo Feinerer <feinerer@logi
> PERMIT_PACKAGE_CDROM= Yes
>
> WANTLIB= ICE SM X11 Xext Xmu Xss Xt bz2 c crypto curl \
> - cairo readline fontconfig freetype glib-2.0 \
> + cairo readline glib-2.0 \
> gobject-2.0 icui18n icuuc idn jpeg lzma m \
> ncurses nghttp2 pango-1.0 pangocairo-1.0 \
> - pangoft2-1.0 pcre png pthread ssl tiff z \
> + pcre png pthread ssl tiff z \
> ${MODTK_WANTLIB}
>
> MASTER_SITES= http://cran.r-project.org/src/base/R-3/ \
> @@ -79,6 +79,7 @@ CONFIGURE_STYLE=gnu
> MODGNU_CONFIG_GUESS_DIRS=${WRKSRC}/tools
>
> CONFIGURE_ARGS= ${CONFIGURE_SHARED} \
> + --disable-java \
> --enable-BLAS-shlib \
> --enable-R-shlib \
> --with-tcl-config=${MODTCL_CONFIG} \
> @@ -89,12 +90,9 @@ CONFIGURE_ENV= FFLAGS="${FFLAGS}" \
> LDFLAGS="-L${LOCALBASE}/lib -Wl,-R${LOCALBASE}/lib/R/lib" \
> LIBnn=lib \
> MAKEINFO="${LOCALBASE}/bin/gtexi2any" \
> + R_DYLIB_VERSION=${SO_VERSION} \
> TEXI2DVI="${LOCALBASE}/bin/gtexi2dvi" \
> rdocdir="${PREFIX}/share/doc/R"
> -
> -MAKE_FLAGS= DYLIB_EXT=".so.${LIBR_VERSION}" \
> - Rblas_la="libRblas.so.${LIBRblas_VERSION}" \
> - Rlapack_la="libRlapack.so.$(LIBRlapack_VERSION)"
>
> SEPARATE_BUILD= Yes
>
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/math/R/distinfo,v
> retrieving revision 1.26
> diff -u -p -r1.26 distinfo
> --- distinfo 17 Aug 2015 15:33:04 -0000 1.26
> +++ distinfo 10 Dec 2015 14:52:24 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (R-3.2.2.tar.gz) = nJFS50E0tosPOhxwg3ZK3By1b9gza+wAP9DKVQzSRh0=
> -SIZE (R-3.2.2.tar.gz) = 29772864
> +SHA256 (R-3.2.3.tar.gz) = uTt9h4E4J5I0Fg8AfLm3+BuKcsASoVVm6exTlc/ZtsE=
> +SIZE (R-3.2.3.tar.gz) = 29816176
> Index: patches/patch-Makefile_in
> ===================================================================
> RCS file: patches/patch-Makefile_in
> diff -N patches/patch-Makefile_in
> --- patches/patch-Makefile_in 23 Jun 2015 15:14:52 -0000 1.8
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,13 +0,0 @@
> -$OpenBSD: patch-Makefile_in,v 1.8 2015/06/23 15:14:52 feinerer Exp $
> -
> ---- Makefile.in.orig Thu Mar 19 02:02:06 2015
> -+++ Makefile.in Sat May 2 11:47:48 2015
> -@@ -82,8 +82,6 @@ vignettes: stamp-recommended
> - ## This needs packages built, hence 'R' dependence on 'javaconf'
> - ## javareconf gets remade often.
> - stamp-java : etc/javaconf $(srcdir)/src/scripts/javareconf.in
> -- @$(ECHO) "configuring Java ..."
> -- @-bin/R CMD javareconf
> - @touch stamp-java
> -
> - javaconf: R
> Index: patches/patch-configure
> ===================================================================
> RCS file: /cvs/ports/math/R/patches/patch-configure,v
> retrieving revision 1.26
> diff -u -p -r1.26 patch-configure
> --- patches/patch-configure 28 Sep 2015 07:32:19 -0000 1.26
> +++ patches/patch-configure 10 Dec 2015 14:52:24 -0000
> @@ -2,64 +2,28 @@ $OpenBSD: patch-configure,v 1.26 2015/09
>
> Unbreak build on powerpc (relocation truncated to fit: R_PPC_GOT16...)
>
> -Fix linking with external libintl
> -(https://marc.info/?l=openbsd-ports&m=143526271406832&w=2)
> -
> ---- configure.orig Thu Aug 13 11:21:16 2015
> -+++ configure Thu Sep 24 15:12:30 2015
> -@@ -26258,7 +26258,7 @@ if test "${GCC}" = yes; then
> - ## has 32k and so can use -fpic.
> - ## However, although the gcc docs do not mention it, it seems s390/s390x
> - ## also supports and needs -fPIC
> -- sparc*|ppc64|powerpc64|s390*)
> -+ sparc*|ppc64|powerpc*|s390*)
> - cpicflags="-fPIC"
> - ;;
> - *)
> -@@ -26269,7 +26269,7 @@ if test "${GCC}" = yes; then
> - fi
> - if test "${G77}" = yes; then
> - case "${host_cpu}" in
> -- sparc*|ppc64|powerpc64|s390*)
> -+ sparc*|ppc64|powerpc*|s390*)
> - fpicflags="-fPIC"
> - ;;
> - *)
> -@@ -26279,7 +26279,7 @@ if test "${G77}" = yes; then
> - fi
> - if test "${GXX}" = yes; then
> - case "${host_cpu}" in
> -- sparc*|ppc64|powerpc64|s390*)
> -+ sparc*|ppc64|powerpc*|s390*)
> - cxxpicflags="-fPIC"
> - ;;
> - *)
> -@@ -38836,7 +38836,7 @@ fi
> - ## use this to pick out gfortran (even though it is unreliable).
> - if test "${ac_cv_fc_compiler_gnu}" = yes; then
> - case "${host_cpu}" in
> -- sparc*|ppc64|powerpc64|s390*)
> -+ sparc*|ppc64|powerpc*|s390*)
> - fcpicflags="-fPIC"
> - ;;
> - *)
> -@@ -42590,7 +42590,7 @@ else
> - gt_save_CPPFLAGS="$CPPFLAGS"
> - CPPFLAGS="$CPPFLAGS $INCINTL"
> - gt_save_LIBS="$LIBS"
> -- LIBS="$LIBS $LIBINTL"
> -+ LIBS="$LIBS $LTLIBINTL"
> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext
> - /* end confdefs.h. */
> - #include <libintl.h>
> -@@ -42747,8 +42747,8 @@ $as_echo "$gt_source" >&6; }
> - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" =
> "yes"; }; then
> - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with
> libintl" >&5
> - $as_echo_n "checking how to link with libintl... " >&6; }
> -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
> --$as_echo "$LIBINTL" >&6; }
> -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LTLIBINTL" >&5
> -+$as_echo "$LTLIBINTL" >&6; }
> -
> - for element in $INCINTL; do
> - haveit=
> +--- configure.orig Thu Dec 10 15:45:13 2015
> ++++ configure Thu Dec 10 15:47:05 2015
> +@@ -26576,6 +26576,22 @@ $as_echo "$as_me: WARNING: Use of flat namespace is
> re
> + main_ldflags="${wl}-export-dynamic"
> + shlib_ldflags="-shared -fPIC"
> + fi
> ++ case "${host_cpu}" in
> ++ powerpc*)
> ++ ## GCC -fpic limits to 2**16 on OpenBSD powerpc.
> ++ ## Error message without -fPIC:
> ++ ## relocation truncated to fit: R_PPC_GOT16...
> ++ if test "${GCC}" = yes; then
> ++ cpicflags="-fPIC"
> ++ fi
> ++ if test "${G77}" = yes; then
> ++ fpicflags="-fPIC"
> ++ fi
> ++ if test "${GXX}" = yes; then
> ++ cxxpicflags="-fPIC"
> ++ fi
> ++ ;;
> ++ esac
> + ;;
> + osf*)
> + cpicflags=
> Index: patches/patch-src_main_Makefile_in
> ===================================================================
> RCS file: patches/patch-src_main_Makefile_in
> diff -N patches/patch-src_main_Makefile_in
> --- patches/patch-src_main_Makefile_in 26 Jun 2015 18:54:47 -0000 1.13
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,16 +0,0 @@
> -$OpenBSD: patch-src_main_Makefile_in,v 1.13 2015/06/26 18:54:47 feinerer Exp
> $
> -
> -Fix linking with external libintl
> -(https://marc.info/?l=openbsd-ports&m=143526271406832&w=2)
> -
> ---- src/main/Makefile.in.orig Fri Jun 26 20:10:33 2015
> -+++ src/main/Makefile.in Fri Jun 26 20:11:11 2015
> -@@ -103,7 +103,7 @@ EXTRA_STATIC_LIBS = \
> - $(R_ZLIBS) $(R_BZLIBS) $(R_PCRE) $(R_TRE) $(R_XDR) $(R_XZ) $(R_LIBINTL)
> $(R_TZONE)
> - STATIC_LIBS = $(MAIN_LIBS) $(EXTRA_STATIC_LIBS)
> -
> --EXTRA_LIBS = $(BLAS_LIBS) $(FLIBS) $(R_XTRA_LIBS) @LIBINTL@
> $(READLINE_LIBS) $(LIBS)
> -+EXTRA_LIBS = $(BLAS_LIBS) $(FLIBS) $(R_XTRA_LIBS) @LTLIBINTL@
> $(READLINE_LIBS) $(LIBS)
> -
> - R_binary = R.bin
> - R_bin_OBJECTS = Rmain.o @WANT_R_SHLIB_FALSE@$(OBJECTS)
> Index: patches/patch-src_scripts_javareconf_in
> ===================================================================
> RCS file: patches/patch-src_scripts_javareconf_in
> diff -N patches/patch-src_scripts_javareconf_in
> --- patches/patch-src_scripts_javareconf_in 23 Jun 2015 15:14:52 -0000
> 1.5
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,30 +0,0 @@
> -$OpenBSD: patch-src_scripts_javareconf_in,v 1.5 2015/06/23 15:14:52 feinerer
> Exp $
> ---- src/scripts/javareconf.in.orig Fri Jun 19 18:53:14 2015
> -+++ src/scripts/javareconf.in Fri Jun 19 18:54:28 2015
> -@@ -6,7 +6,7 @@ fi
> - ## pick up configure-time settings
> - . "${R_HOME}/etc${R_ARCH}/javaconf"
> -
> --DYLIB_EXT=`${R_HOME}/bin/R CMD config DYLIB_EXT`
> -+SHLIB_EXT=`${R_HOME}/bin/R CMD config SHLIB_EXT`
> - tools_classpath=${R_SHARE_DIR}/java
> -
> - revision='$Rev: 67942 $'
> -@@ -223,7 +223,7 @@ if test "${JAVA_LIBS}" = "~autodetect~"; then
> - has_libjvm=no
> - save_IFS=$IFS; IFS=:
> - for dir in ${java_library_path}; do
> -- if test -f "$dir/libjvm${DYLIB_EXT}"; then
> -+ if test -f "$dir/libjvm${SHLIB_EXT}"; then
> - has_libjvm=yes
> - java_library_path="${dir}"
> - break
> -@@ -234,7 +234,7 @@ if test "${JAVA_LIBS}" = "~autodetect~"; then
> - boot_path=`"$JAVA" -classpath "${tools_classpath}" getsp
> sun.boot.library.path| ${SED-sed} -e 's/:$//' -e 's/^://'`
> - if test -n "${boot_path}"; then
> - for dir in "${boot_path}" "${boot_path}/client"
> "${boot_path}/server"; do
> -- if test -f "$dir/libjvm${DYLIB_EXT}"; then
> -+ if test -f "$dir/libjvm${SHLIB_EXT}"; then
> - has_libjvm=yes
> - java_library_path="${dir}"
> - break
> Index: pkg/README
> ===================================================================
> RCS file: /cvs/ports/math/R/pkg/README,v
> retrieving revision 1.3
> diff -u -p -r1.3 README
> --- pkg/README 17 Aug 2015 15:33:04 -0000 1.3
> +++ pkg/README 10 Dec 2015 14:52:24 -0000
> @@ -22,8 +22,8 @@ Customizing package compilation
> Make variables to be used by R packages compiling code at installation time
> can be customized via ~/.R/Makevars
>
> (https://cran.r-project.org/doc/manuals/r-release/R-admin.html#Customizing-package-compilation).
> -E.g., for using recent compilers (packages g++, g95, and gcc) add
> +E.g., for using recents compilers (packages g++, g95, and gcc) add
>
> -CC=egcc
> +CC=egcc -std=gnu99
> CXX=eg++
> F77=egfortran
>
--
"If you try a few times and give up, you'll never get there. But if
you keep at it... There's a lot of problems in the world which can
really be solved by applying two or three times the persistence that
other people will."
-- Stewart Nelson