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

Reply via email to