Sat Dec 23 20:10:56 2023 UTC (175d)
math/R: update from 4.2.0 to patch release 4.2.3 (current upstream is 4.3.2)

Only the small update because of freeze. 4.2.0 is just outdated, 4.2.3 is from
March this year, 4.3.2 available since end of October.

CHANGES IN R 4.2.3:

  C-LEVEL FACILITIES:

    * The definition of DL_FUNC in R_ext/Rdynload.h has been changed to
      be fully C-compliant.  This means that functions loaded _via_ for
      example R_GetCCallable need to be cast to an appropriate type if
      they have any arguments.

    * .Machine has a new element sizeof.time_t to identify old systems
      with a 32-bit type and hence a limited range of date-times (and
      limited support for dates millions of years from present).

  PACKAGE INSTALLATION:

    * (Windows) The default C++ standard had accidentally been left at
      C++11 when it was changed to C++14 on Unix.

  BUG FIXES:

    * As "POSIXlt" objects may be "partially filled" and their list
      components meant to be recycled, length() now is the length of
      the longest component.

    * as.POSIXlt.Date() could underflow for dates in the far past (more
      than half a million years BCE).

    * as.Date.POSIXlt(x) would return "1970-01-01" instead of NA in R
      4.2.2, e.g., for

              x <- as.POSIXlt(c("2019-01-30","2001-1-1"))
              x$mon <- c(0L, NA); as.Date(x)

    * R CMD check failed to apply enabled _R_CHECK_SUGGESTS_ONLY_ to
      examples and vignettes (regression in R 4.2.0).

    * R CMD check did not re-build vignettes in separate processes by
      default (regression in R 4.2.0).

    * Running examples from HTML documentation now restores previous
      knitr settings and options (PR#18420).

    * Quartz: fonts are now located using Core Graphics API instead of
      deprecated ATS which is no longer supported in the macOS 13 SDK
      (PR#18426).  This also addresses an issue where the currently
      used font in the Quartz device context was not correctly
      retained.

    * (Windows) Math symbols in text drawing functions are again
      rendered correctly (PR#18440).  This fixes a regression in R
      4.2.1 caused by a fix in PR#18382 which uncovered an issue in
      GraphApp due to which the symbol charset was not used with TT
      Symbol font face.

    * (Windows) Installing a package with a src/Makefile.{win,ucrt}
      file includes ~/.R/Makevars.win64 in the search for user
      makevars, as documented in "R Installation and Administration"
      and done for packages with a src/Makevars.{win,ucrt} file.

    * format(<POSIXlt_w/_unbalanced_sec>, "....%OS<n>") with n > 0 no
      longer accidentally uses the unbalanced seconds, thanks to
      Suharto Anggono's report (including patch) in PR#18448.

    * solve.default(a, b) works around issues with some versions of
      LAPACK when a contains NA or NaN values.

    * When UseMethod() cannot dispatch, it no longer segfaults
      producing the error message in case of a long class(), thanks to
      Joris Vankerschaver's report (including patch) in PR#18447.

    * When example(foo, ..) produces graphics on an interactive device
      it needs to open itself, it now leaves devAskNewPage() unchanged
      even when it was FALSE, thus fixing a 14 years old '<FIXME>'.

    * packageDescription() again catches errors from encoding
      conversions. This also fixes broken packageVersion() in C locale
      on systems where iconv does not support transliteration.

CHANGES IN R 4.2.2:

  NEW FEATURES:

    * tools::Rdiff(useDiff = TRUE) checks for the presence of an
      external diff command and switches to useDiff = FALSE if none is
      found.  This allows R CMD Rdiff to always work.

    * On Windows, environment variable R_LIBCURL_SSL_REVOKE_BEST_EFFORT
      can be used to switch to only 'best-effort' SSL certificate
      revocation checks with the default "libcurl" download method.
      This reduces security, but may be needed for downloads to work
      with MITM proxies (PR#18379).

    * (macOS) The run-time check for libraries from XQuartz for X11 and
      Tcl/Tk no longer uses otool from the Apple Developer Tools
      (PR#18400).

    * The LaTeX style for producing the PDF manuals, Rd.sty, now loads
      the standard amsmath, amsfonts and amssymb packages for greater
      coverage of math commands in the Rd \eqn and \deqn macros.  The
      \mathscr LaTeX command is also provided (via the mathrsfs
      package, if available, or the amsfonts bundle otherwise),
      fulfilling the wish of PR#18398.

    * (Windows) The default format of readClipboard() and
      writeClipboard() has been changed to 13 (CF_UNICODETEXT).

  INSTALLATION on a UNIX-ALIKE:

    * The PDF manuals (if built) can be compacted by the new target
      make compact-pdf (at the top level or in directory doc/manual).

    * There is now configure support for LLVM clang 15 on Linux, which
      defaults to position-independent (PIE) executables whereas
      gfortran does not.

    * Many small changes to ease compilation (and suppress warnings)
      with LLVM clang 15.

  BUG FIXES:

    * Rscript -e would fail if stdin were closed (Reported by Henrik
      Bengtsson.)

    * qt(*, log.p=TRUE) in outer tails no longer produces NaN in its
      final steps, thus fixing PR#18360.

    * tools::Rd2latex() now escapes hashes and ampersands when writing
      URLs, fixing LaTeX errors with such URLs in \tabular.

    * When isGeneric(f, fdef=*) is used with mismatching names, the
      warning is better understandable; reported (with fix) in PR#18370
      by Gabe Becker.

    * poly(x, n) now works again (and is now documented) when x is a
      "Date" or "POSIXct" object, or of another class while fulfilling
      mode(x) == "numeric".  This also enables poly(x, *, raw=TRUE) for
      such variables.  Reported by Michael Chirico to R-devel.

    * write.table(), write.csv() and write.csv2() restore their
      numerical precision (internal equivalent of digits = 15) after an
      interrupt (PR#18384).

    * One can now read also byte FF from a clipboard connection
      (PR#18385).

    * source("") and source(character()) now give more helpful error
      messages.

    * R CMD check --as-cran set _R_CHECK_TIMINGS_ too late to have the
      intended effect.

    * as.POSIXlt(x) now also works with very large dates x, fixing
      PR#18401 reported by Hannes M"uhleisen.

    * Files can now be extracted even from very large zip archives
      (PR#18390, thanks to Martin Jakt).

    * Non-finite objects of class "POSIXlt" are now correctly coerced
      to classes "Date" and "POSIXct"; following up on the extension to
      format() them correctly.

    * Added methods for is.finite(), is.infinite() and is.nan() for
      "POSIXlt" date-time objects.

  BUG FIXES on Windows:

    * Non-ASCII characters are now properly displayed on Windows in
      windows created using GraphApp via e.g. winDialogString thanks to
      a workaround for an at least surprising Windows behavior with
      UTF-8 as the system encoding (PR#18382).

    * Find and replace operations work again in the script editor in
      Rgui on Windows.

    * Computation of window size based on requested client size in
      GraphApp when running in a multi-byte locale on Windows has been
      fixed (regression in R 4.2.0 for users of systems where R 4.1
      used a single-byte locale).  Rgui again respects the number of
      console rows and columns given in Rconsole file.

    * Rterm support for Alt+xxx sequences has been fixed to produce the
      corresponding character (only) once. This fixes pasting text with
      tilde on Italian keyboard (PR#18391).

CHANGES IN R 4.2.1:

  NEW FEATURES:

    * New function utils::findCRANmirror() to find out if a CRAN mirror
      has been selected, otherwise fallback to the main site.  This
      behaves in the same way as tools::CRAN_package_db() and is
      intended for packages wishing to access CRAN for purposes other
      than installing packages.

      The need for this was shown by a day when the main CRAN website
      was offline and a dozen or so packages which had its URL
      hardcoded failed their checks.

  INSTALLATION on a UNIX-ALIKE:

    * The libraries searched for by --with-blas (without a value) now
      include BLIS (after OpenBLAS but before ATLAS).  And on macOS,
      the Accelerate framework (after ATLAS).  (This is patterned after
      the AX_BLAS macro from the Autoconf Archive.)

    * The included LAPACK sources have been updated to 3.10.1.

  UTILITIES:

    * The (full path to) the command tidy to be used for HTML
      validation can be set by environment variable R_TIDYCMD.

    * Setting environment variable _R_CHECK_RD_VALIDATE_RD2HTML_ to a
      false value will override R CMD check --as-cran and turn off HTML
      validation.  This provides a way to circumvent a problematic
      tidy.

      The 2006 version that ships with macOS is always skipped.

  C-LEVEL FACILITIES:

    * The undocumented legacy declarations of Sint, Sfloat, SINT_MAX
      and SINT_MIN in header R.h are deprecated.

  BUG FIXES:

    * fisher.test(d) no longer segfaults for "large" d; fixing PR#18336
      by preventing/detecting an integer overflow reliably.

    * tar(., files=*) now produces correctly the warning about invalid
      UID or GID of files, fixing PR#18344, reported by Martin Morgan.

    * tk_choose.files() with multi = FALSE misbehaved on paths
      containing spaces (PR#18334) (regression introduced in R 4.0.0).

    * sort(x, partial = ind, *) now works correctly notably for the
      non-default na.last = FALSE or TRUE, fixing PR#18335 reported by
      James Edwards.

    * Environment variable _R_CHECK_XREFS_REPOSITORIES_ is only used
      for checking .Rd cross-references in R CMD check (as documented)
      and not for other uses looking for a CRAN mirror.

    * The search for a CRAN mirror when checking packages now uses
      getOption("repos") if that specifies a CRAN mirror, even when it
      does not also specify all three Bioconductor repositories (as was
      previously required).

    * The HTML code generated by tools::Rd2HTML() has been improved to
      pass tidy 5.8.0.

  BUG FIXES on Windows:

    * Writing to a clipboard connection works again, fixing a
      regression in R 4.2.0 (PR#18332).  Re-using a closed clipboard
      connection no longer issues a spurious warning about an ignored
      encoding argument.

    * C function getlocale no longer attempts to query an unsupported
      category from the OS, even when requested at R level, which may
      cause crashes when R 4.2.0 (which uses UCRT) is embedded
      (reported by Kevin Ushey).

    * Accent keys now work in GraphApp Unicode windows, which are used
      by Rgui whenever running in a multibyte locale (so also in UTF-8,
      hence fixing a regression in R 4.2.0 for users of systems where R
      4.1 used a single-byte locale).

    * Completion in Rgui now works also with non-ASCII characters.

    * Rgui no longer truncates usage information with --help.

    * Text injection from external applications via SendInput now works
      in GraphApp Unicode windows, fixing a regression in R 4.2.0 for
      Rgui users of systems where R 4.1 used a single-byte locale but R
      4.2.0 uses UTF-8.

    * Performance of txtProgressBar() in Rgui when running in a
      multi-byte locale has been improved (fixing a performance
      regression in R 4.2.0 for users of systems where R 4.1 used a
      single-byte locale).

    * The script editor in Rgui now works also on systems using UTF-8
      as the native encoding.  Users of the script editor have to
      convert their scripts with non-ASCII characters to UTF-8 before
      reading them in R 4.2.1 or newer (on recent Windows where UTF-8
      is used).  This fixes a regression in R 4.2.0, which prevented
      some operations with scripts when they contained non-ASCII
      characters.


(thor)
diff -r1.248 -r1.249 pkgsrc/math/R/Makefile
diff -r1.97 -r1.98 pkgsrc/math/R/distinfo
diff -r1.2 -r1.3 pkgsrc/math/R/patches/patch-m4_R.m4

cvs diff -r1.248 -r1.249 pkgsrc/math/R/Makefile (expand / switch to unified diff)

--- pkgsrc/math/R/Makefile 2023/11/14 14:02:26 1.248
+++ pkgsrc/math/R/Makefile 2023/12/23 20:10:56 1.249
@@ -1,21 +1,20 @@ @@ -1,21 +1,20 @@
1# $NetBSD: Makefile,v 1.248 2023/11/14 14:02:26 wiz Exp $ 1# $NetBSD: Makefile,v 1.249 2023/12/23 20:10:56 thor Exp $
2 2
3# 3#
4# If updating this package, please try to ensure PLIST.Darwin is kept in sync 4# If updating this package, please try to ensure PLIST.Darwin is kept in sync
5# to avoid unnecessarily breaking macOS users. 5# to avoid unnecessarily breaking macOS users.
6# 6#
7DISTNAME= R-4.2.0 7DISTNAME= R-4.2.3
8PKGREVISION= 12 
9CATEGORIES= math 8CATEGORIES= math
10MASTER_SITES= ${MASTER_SITE_R_CRAN:=base/R-4/} 9MASTER_SITES= ${MASTER_SITE_R_CRAN:=base/R-4/}
11 10
12MAINTAINER= pkgsrc-users@NetBSD.org 11MAINTAINER= pkgsrc-users@NetBSD.org
13HOMEPAGE= https://www.R-project.org/ 12HOMEPAGE= https://www.R-project.org/
14COMMENT= Statistical language for data analysis and graphics 13COMMENT= Statistical language for data analysis and graphics
15LICENSE= gnu-gpl-v2 14LICENSE= gnu-gpl-v2
16 15
17USE_GCC_RUNTIME= yes 16USE_GCC_RUNTIME= yes
18 17
19BUILD_TARGET= all info 18BUILD_TARGET= all info
20INSTALL_TARGET= install install-info 19INSTALL_TARGET= install install-info
21TEST_TARGET= check 20TEST_TARGET= check

cvs diff -r1.97 -r1.98 pkgsrc/math/R/distinfo (expand / switch to unified diff)

--- pkgsrc/math/R/distinfo 2023/03/22 13:53:29 1.97
+++ pkgsrc/math/R/distinfo 2023/12/23 20:10:56 1.98
@@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
1$NetBSD: distinfo,v 1.97 2023/03/22 13:53:29 wiz Exp $ 1$NetBSD: distinfo,v 1.98 2023/12/23 20:10:56 thor Exp $
2 2
3BLAKE2s (R-4.2.0.tar.gz) = 387280cfca2ea0ed9963f4a9ed4f8cd1a2a81fc9235808659dd22a516e5ddd22 3BLAKE2s (R-4.2.3.tar.gz) = 68ba598f6aec52d4464bb9c4bca99398af63d31257f1bff95d8aeb0547e9dbc8
4SHA512 (R-4.2.0.tar.gz) = 99e71dad00b63e44bfcb8dc9539ff1951809112882d9ee7e06a4e99bce2e6ceac24e8348fd598c21e6d5ab0e0629a85170cde208bfa8145af91c398ac4ef7bcd 4SHA512 (R-4.2.3.tar.gz) = 060bb4e1d1f1a5a0383a3b4372ac9247c0a20285020da17cebeb40ddc54da12d5f369ea243ea04d2c6970986fe22b3f9c37fbdfb3405cd8aa4f2353091ea9c5c
5Size (R-4.2.0.tar.gz) = 37585694 bytes 5Size (R-4.2.3.tar.gz) = 34010655 bytes
6SHA1 (patch-configure.ac) = d6661984716a131bbfa1a2aa56385c535881d43d 6SHA1 (patch-configure.ac) = d6661984716a131bbfa1a2aa56385c535881d43d
7SHA1 (patch-m4_R.m4) = c55ae5a10bb995e147aceb12fd7393d8a6a64876 7SHA1 (patch-m4_R.m4) = f21948d2c1f662611e0bca3922dc2dedeabd473e
8SHA1 (patch-src_library_stats_src_Makefile.in) = 4eb93292858392792c37a706399e2cef91821bbe 8SHA1 (patch-src_library_stats_src_Makefile.in) = 4eb93292858392792c37a706399e2cef91821bbe
9SHA1 (patch-src_main_character.c) = 842ae5d291f36f2beead4d32c1d41b18cbff878d 9SHA1 (patch-src_main_character.c) = 842ae5d291f36f2beead4d32c1d41b18cbff878d

cvs diff -r1.2 -r1.3 pkgsrc/math/R/patches/patch-m4_R.m4 (expand / switch to unified diff)

--- pkgsrc/math/R/patches/patch-m4_R.m4 2023/03/22 13:53:29 1.2
+++ pkgsrc/math/R/patches/patch-m4_R.m4 2023/12/23 20:10:56 1.3
@@ -1,18 +1,18 @@ @@ -1,18 +1,18 @@
1$NetBSD: patch-m4_R.m4,v 1.2 2023/03/22 13:53:29 wiz Exp $ 1$NetBSD: patch-m4_R.m4,v 1.3 2023/12/23 20:10:56 thor Exp $
2 2
3Ensure tests for clog & co. fail, not just emit warning 3Ensure tests for clog & co. fail, not just emit warning
4 4
5--- m4/R.m4.orig 2022-04-03 22:15:01.000000000 +0000 5--- m4/R.m4.orig 2022-11-01 23:15:01.000000000 +0000
6+++ m4/R.m4 6+++ m4/R.m4
7@@ -225,7 +225,7 @@ if test -z "${texi2any_version_maj}" \ 7@@ -225,7 +225,7 @@ if test -z "${texi2any_version_maj}" \
8 elif test ${texi2any_version_maj} -gt 5; then 8 elif test ${texi2any_version_maj} -gt 5; then
9 r_cv_prog_texi2any_v5=yes 9 r_cv_prog_texi2any_v5=yes
10 elif test ${texi2any_version_maj} -lt 5 \ 10 elif test ${texi2any_version_maj} -lt 5 \
11- || test ${texi2any_version_min} -lt 1; then 11- || test ${texi2any_version_min} -lt 1; then
12+ || test ${texi2any_version_maj} = 5 -a ${texi2any_version_min} -lt 1; then 12+ || test ${texi2any_version_maj} = 5 -a ${texi2any_version_min} -lt 1; then
13 r_cv_prog_texi2any_v5=no 13 r_cv_prog_texi2any_v5=no
14 else 14 else
15 r_cv_prog_texi2any_v5=yes 15 r_cv_prog_texi2any_v5=yes
16@@ -904,6 +904,9 @@ dnl Yes we need to double quote this ... 16@@ -904,6 +904,9 @@ dnl Yes we need to double quote this ...
17  17
18 extern void F77_SYMBOL(cftest)(int *a, int *b, double *x, double *y); 18 extern void F77_SYMBOL(cftest)(int *a, int *b, double *x, double *y);
@@ -23,38 +23,38 @@ Ensure tests for clog & co. fail, not ju @@ -23,38 +23,38 @@ Ensure tests for clog & co. fail, not ju
23 int main () { 23 int main () {
24 int a[3] = {17, 237, 2000000000}, b[2], res = 0; 24 int a[3] = {17, 237, 2000000000}, b[2], res = 0;
25 double x[3] = {3.14159265, 123.456789, 2.3e34}, z[3]; 25 double x[3] = {3.14159265, 123.456789, 2.3e34}, z[3];
26@@ -996,6 +999,9 @@ typedef struct { 26@@ -996,6 +999,9 @@ typedef struct {
27  27
28 extern void F77_SYMBOL(cftest)(Rcomplex *x); 28 extern void F77_SYMBOL(cftest)(Rcomplex *x);
29  29
30+int MAIN_ () { return 0; } 30+int MAIN_ () { return 0; }
31+int MAIN__ () { return 0; } 31+int MAIN__ () { return 0; }
32+ 32+
33 int main () { 33 int main () {
34 Rcomplex z[3]; 34 Rcomplex z[3];
35  35
36@@ -3733,9 +3739,9 @@ R_CHECK_FUNCS([cabs carg cexp clog csqrt 36@@ -3763,9 +3769,9 @@ R_CHECK_FUNCS([cabs carg cexp clog csqrt
37 AC_DEFUN([R_CHECK_DECL], 37 AC_DEFUN([R_CHECK_DECL],
38 [AS_VAR_PUSHDEF([ac_Symbol], [ac_cv_have_decl_$1])dnl 38 [AS_VAR_PUSHDEF([ac_Symbol], [ac_cv_have_decl_$1])dnl
39 AC_CACHE_CHECK([whether $1 exists and is declared], ac_Symbol, 39 AC_CACHE_CHECK([whether $1 exists and is declared], ac_Symbol,
40-[AC_LINK_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$4])], 40-[AC_LINK_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$4])],
41-[#ifndef $1 41-[#ifndef $1
42- char *p = (char *) $1; 42- char *p = (char *) $1;
43+[AC_LINK_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$4]) 43+[AC_LINK_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$4])
44+#ifndef $1 44+#ifndef $1
45+char *p = (char *) $1; 45+char *p = (char *) $1;
46 #endif 46 #endif
47 ])], 47 ])],
48 [AS_VAR_SET(ac_Symbol, yes)], 48 [AS_VAR_SET(ac_Symbol, yes)],
49@@ -4277,9 +4283,9 @@ AC_CACHE_CHECK([if libcurl is version 7  49@@ -4307,9 +4313,9 @@ AC_CACHE_CHECK([if libcurl is version 7
50 int main()  50 int main(int argc, const char * argv[])
51 { 51 {
52 #ifdef LIBCURL_VERSION_MAJOR 52 #ifdef LIBCURL_VERSION_MAJOR
53-#if LIBCURL_VERSION_MAJOR > 7 53-#if LIBCURL_VERSION_MAJOR > 7
54+#if LIBCURL_VERSION_MAJOR > 8 54+#if LIBCURL_VERSION_MAJOR > 8
55 exit(1); 55 exit(1);
56-#elif LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 28 56-#elif LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 28
57+#elif (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 28) || LIBCURL_VERSION_MAJOR == 8 57+#elif (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 28) || LIBCURL_VERSION_MAJOR == 8
58 exit(0); 58 exit(0);
59 #else 59 #else
60 exit(1); 60 exit(1);