Dear useRs,

update math/R 3.4.3 -> 3.4.4

- Add a patch to pass stack-register checking when using an alternate
  signal stack. Please have a careful look at this.
- Adapt WANTLIB
- Regenerate existing patch

`make test` still fails for `tan(1+1000i)` (see
https://marc.info/?l=openbsd-tech&m=150737856618497&w=2 for details).

OK?

Best regards,
Ingo

Index: Makefile
===================================================================
RCS file: /cvs/ports/math/R/Makefile,v
retrieving revision 1.97
diff -u -p -r1.97 Makefile
--- Makefile    6 Dec 2017 18:22:52 -0000       1.97
+++ Makefile    16 Mar 2018 14:54:36 -0000
@@ -1,7 +1,7 @@
 # $OpenBSD: Makefile,v 1.97 2017/12/06 18:22:52 feinerer Exp $
 
 COMMENT=       powerful math/statistics/graphics language
-DISTNAME=      R-3.4.3
+DISTNAME=      R-3.4.4
 
 SO_VERSION=    33.0
 .for _lib in R Rblas Rlapack
@@ -16,7 +16,7 @@ MAINTAINER=   Ingo Feinerer <feinerer@logi
 # GPLv2+
 PERMIT_PACKAGE_CDROM=  Yes
 
-WANTLIB += ${MODTK_WANTLIB}
+WANTLIB += ${COMPILER_LIBCXX} ${MODTK_WANTLIB}
 WANTLIB += ICE SM X11 Xext Xmu Xss Xt bz2 c cairo crypto curl curses glib-2.0
 WANTLIB += gobject-2.0 iconv icui18n icuuc intl jpeg lzma m
 WANTLIB += nghttp2 pango-1.0 pangocairo-1.0 pcre png readline ssl tiff z
Index: distinfo
===================================================================
RCS file: /cvs/ports/math/R/distinfo,v
retrieving revision 1.37
diff -u -p -r1.37 distinfo
--- distinfo    6 Dec 2017 18:22:52 -0000       1.37
+++ distinfo    16 Mar 2018 14:54:36 -0000
@@ -1,2 +1,2 @@
-SHA256 (R-3.4.3.tar.gz) = ejy4Md5bQVHh+JARPtIHUnt9SxbfnsazXglkFwAH9CY=
-SIZE (R-3.4.3.tar.gz) = 30249655
+SHA256 (R-3.4.4.tar.gz) = s+l9L6tyVtHGVcQHWTRyW6HNfLkjckChG7Isza2WAzc=
+SIZE (R-3.4.4.tar.gz) = 30474612
Index: patches/patch-configure
===================================================================
RCS file: /cvs/ports/math/R/patches/patch-configure,v
retrieving revision 1.33
diff -u -p -r1.33 patch-configure
--- patches/patch-configure     6 Dec 2017 18:22:52 -0000       1.33
+++ patches/patch-configure     16 Mar 2018 14:54:36 -0000
@@ -3,7 +3,7 @@ $OpenBSD: patch-configure,v 1.33 2017/12
 Index: configure
 --- configure.orig
 +++ configure
-@@ -40301,8 +40301,8 @@ fi
+@@ -40313,8 +40313,8 @@ fi
  
  fi
  if test "${have_zlib}" = yes; then
@@ -14,7 +14,7 @@ Index: configure
  if ${r_cv_header_zlib_h+:} false; then :
    $as_echo_n "(cached) " >&6
  else
-@@ -40317,7 +40317,7 @@ else
+@@ -40329,7 +40329,7 @@ else
  #include <zlib.h>
  int main() {
  #ifdef ZLIB_VERNUM
Index: patches/patch-src_main_main_c
===================================================================
RCS file: patches/patch-src_main_main_c
diff -N patches/patch-src_main_main_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_main_main_c       16 Mar 2018 14:54:36 -0000
@@ -0,0 +1,26 @@
+$OpenBSD$
+
+Allocate stack with MAP_STACK to pass stack-register checking.
+
+Index: src/main/main.c
+--- src/main/main.c.orig
++++ src/main/main.c
+@@ -19,6 +19,8 @@
+  *  https://www.R-project.org/Licenses/
+  */
+ 
++#include <sys/mman.h>
++
+ #ifdef HAVE_CONFIG_H
+ #include <config.h>
+ #endif
+@@ -643,7 +645,8 @@ static void init_signal_handlers(void)
+ {
+     /* <FIXME> may need to reinstall this if we do recover. */
+     struct sigaction sa;
+-    signal_stack = malloc(SIGSTKSZ + R_USAGE);
++    signal_stack = mmap(NULL, SIGSTKSZ + R_USAGE, PROT_WRITE | PROT_READ,
++        MAP_PRIVATE | MAP_ANON | MAP_STACK, -1, 0);
+     if (signal_stack != NULL) {
+       sigstk.ss_sp = signal_stack;
+       sigstk.ss_size = SIGSTKSZ + R_USAGE;

Reply via email to