pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

(math/R) update to 4.5.2



Module Name:	pkgsrc-wip
Committed By:	Makoto Fujiwara <makoto%if.t.u-tokyo.ac.jp@localhost>
Pushed By:	mef
Date:		Sat Jan 3 20:59:40 2026 +0900
Changeset:	52774322a897d003db227b57dfad06ed540aafea

Modified Files:
	R/COMMIT_MSG
	R/Makefile
	R/PLIST
	R/distinfo
	R/patches/patch-src_extra_xdr_xdr__stdio.c
	R/patches/patch-src_include_R__ext_Error.h
Added Files:
	R/patches/patch-src_library_grDevices_src_devPS.c
Removed Files:
	R/patches/patch-m4_R.m4

Log Message:
(math/R) update to 4.5.2

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=52774322a897d003db227b57dfad06ed540aafea

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 R/COMMIT_MSG                                      | 890 ++++++++++++++++++++--
 R/Makefile                                        |   2 +-
 R/PLIST                                           |  20 +-
 R/distinfo                                        |  12 +-
 R/patches/patch-m4_R.m4                           |  57 --
 R/patches/patch-src_extra_xdr_xdr__stdio.c        |  11 +-
 R/patches/patch-src_include_R__ext_Error.h        |  14 +-
 R/patches/patch-src_library_grDevices_src_devPS.c |  18 +
 8 files changed, 891 insertions(+), 133 deletions(-)

diffs:
diff --git a/R/COMMIT_MSG b/R/COMMIT_MSG
index 887d99d9bf..807697ea9f 100644
--- a/R/COMMIT_MSG
+++ b/R/COMMIT_MSG
@@ -1,86 +1,864 @@
-(math/R) Updated 4.4.2 to 4.4.3
+(math/R) Updated 4.4.3 to 4.5.2 ( some 800 lines)
 
-CHANGES IN R 4.4.3:
+CHANGES IN R 4.5.2:
+
+  UTILITIES:
+
+         * 'R CMD check' now handles archives with extension '.tar' or
+           '.tar.zstd' (where 'zstd' compression is supported by the R
+           build).
+
+  BUG FIXES:
+
+         * 't.test(c(1:3, Inf))' and similar no longer produce an error
+           but return a (still not so useful) '"htest"' result, fixing
+           PR#18901, thanks to Jesse Alderliesten.
+
+         * 'attr(., "tsp") <- val' now uses 'getOption("ts.eps")'
+           instead of hardwired '1e-5'; consequently, 'ts(..,
+           ts.eps=*)' now passes 'ts.eps' to the '"tsp"' setting C
+           code; both fixing a long-standing 'FIXME'.
+
+         * 'insertSource()' now ignores the internal '.packageName'
+           object, avoiding a superfluous message.
+
+         * In static HTML help, links to vignette files from the
+           default 'doc/index.html' page now also work for packages not
+           installed in the default '.Library', thanks to a report by
+           Patrice Kiener.
+
+         * 'fixInNamespace("<S3method>")' failed to update the S3
+           methods table when the generic was not on the search path.
+
+         * In plain-text help ('Rd2txt'), an initial newline from an Rd
+           inline \eqn no longer breaks the paragraph.
+
+         * 'hist(*, log = "x")' now works without a warning, thanks to
+           Martin Smith's PR#18921.
+
+         * Subassigning '"POSIXlt"', i.e., '<tdat>[i] <- val' and
+           '<tdat>[[i]] <- val' now rebalance as they should, thanks to
+           Mikael Jagan's PR#18919.
+
+         * '<POSIXlt>[*]' (re-)setting '"balanced"', fixing PR#18681
+           comment #7, thanks to Mikael Jagan.
+
+         * All four of '{col,row}{Sums,Means}(Z, na.rm=TRUE)' now
+           correctly work with complex 'Z' where 'is.na(Re(Z))' differs
+           from 'is.na(Im(Z))', fixing PR#18942, unearthed by Dirk
+           Eddelbuettel.
+
+         * Fix for glyph rendering on the 'quartz()' device when there
+           is other ("normal") text drawn on the device.  The problem
+           was that the text transformation matrix was not reset so
+           glyphs would be rendered incorrectly (often completely
+           outside the device, i.e., not visible).
+
+         * Functions 'install.packages()' and 'download.packages()'
+           again consult option 'download.file.method' when the
+           download method is unspecified.
+
+         * Tanguy Barthelemy and colleagues at the 'R Dev Day'
+           following Rencontres R in May 2025 extended the help page of
+           'lm()', fixing PR#18058.  As suggested by Thomas Soeiro,
+           such notes were also added to the 'glm()', 'poly()' and
+           'splines::bs()' and 'ns()' pages.
+
+         * 'lbeta(1i, 1)' now signals an error, as 'lbeta()' is not
+           implemented for 'complex', fixing PR#18946 from Ben Bolker
+           and Kasper Kristensen.
+
+         * The Cairo-based SVG device uses 'pt' as the default document
+           unit also with Cairo >= 1.17.8 (PR#18912).
+
+         * 'pretty(*, eps.correct = 2)' has been fixed, e.g., to avoid
+           over 1 million length result for 'pretty(c(0, 1e-322),
+           eps.correct = 2)'.
+
+         * When '"POSIXlt"' date-time objects are 'NA'-padded from
+           subsetting or increasing 'length' in the '`[`' or
+           '`length<-`' methods, the '"balanced"' attribute is set to
+           'NA', now; noted in PR#18681, thanks to Mikael Jagan.
+
+CHANGES IN R 4.5.1:
+
+  NEW FEATURES:
+
+         * The internal method of 'unzip()' now follows 'unzip 6.00' in
+           how it handles extracted file paths which contain '"../"'.
+           With thanks to Ivan Krylov.
 
   INSTALLATION:
 
-         * R can be installed using C23 (for example with '-std=gnu23'
-           or '-std=gnu2x') with recent compilers including 'gcc'
-           12-14, Apple 'clang' 15-16, LLVM 'clang' 17-20 and Intel
-           'icx' 2024.2.
+         * Standalone 'nmath' can be built with early-2025 versions of
+           'clang'-based compilers such as LLVM 'clang' 20, Apple
+           'clang' 17 and Intel 'icx' 2025.0.
+
+         * Tcl/Tk 9 can be used to build package 'tcltk': this has
+           become the default in some Linux distributions.
+
+  BUG FIXES:
+
+         * Java detection in 'javareconf' could not detect 'libjvm.*'
+           in the 'zero' variant of the JDK (PR#18884).  All valid
+           variants as of JDK 24u are now supported.
+
+         * 'factanal(.., rotation=*)' now correctly updates 'rotmat',
+           fixing PR#18886.
+
+         * 'dnbinom(<large>, <muchlarger>, ..)' now is '0' correctly,
+           instead of 'NaN' or 'Inf' sometimes.
+
+         * 'dbinom(<large>, n=Inf, ..)' is '0' now correctly, instead
+           of 'NaN' which also fixes many 'dnbinom()' cases, notably
+           those mentioned in PR#16727 comment #5.
+
+         * Fixing C level "binomial deviance" 'bd0()' for extreme
+           arguments (preventing under-/overflow) solves more PR#16727
+           cases and also prevents some full accuracy loss in such
+           cases for 'dbinom()', 'dnbinom()', and via 'dbinom^raw()'
+           potentially 'dgeom()', 'dhyper()', 'dbeta()', and 'df()'.
+
+         * 'signif(1.**e308, digits)' no longer truncates unnecessarily
+           (but still to prevent overflow to 'Inf'), fixing PR#18889.
+
+         * 'prettyNum(*, zero.print={>=1-char}, replace.zero=TRUE)' now
+           works as documented, thanks to Marttila Mikko and Ivan
+           Krylov's messages on R-devel.
+
+         * 'pbeta(x, a,b, ..)' for very large 'a,b' no longer returns
+           'NaN' but the correct values (0 or 1, or their logs for
+           'log.p = TRUE').  This improves Mathlib's C level 'bratio()'
+           and hence also 'pnbinom()', etc..
+
+CHANGES IN R 4.5.0:
+
+  NEW FEATURES:
+
+         * 'as.integer(rl)' and hence 'as.raw(rl)' now work for a
+           'list' of 'raw(1)' elements, as proposed by Michael
+           Chirico's PR#18696.
+
+         * 'graphics'' 'grid()' gains optional argument 'nintLog'.
+
+         * New functions 'check^package^urls()' and
+           'check^package^dois()' in package 'tools' for checking URLs
+           and DOIs in package sources.
+
+         * New 'head()' and 'tail()' methods for class '"ts"' time
+           series, proposed by Spencer Graves on R-devel.
+
+         * New 'qr.influence()' function, a "bare bones" interface to
+           the 'lm.influence()' leave-one-out diagnostics computations;
+           wished for in PR#18739.
+
+         * Package 'citation()' results auto-generated from the package
+           metadata now also provide package DOIs for CRAN and
+           Bioconductor packages.
+
+         * New function 'grepv()' identical to 'grep()' except for the
+           default 'value = TRUE'.
+
+         * 'methods(<pkg>:::<genfun>)' now does report methods when
+           neither the generic nor the methods have been exported.
+
+         * 'pdf()' gains an 'author' argument to set the corresponding
+           metadata field, and logical arguments 'timestamp' and
+           'producer' to optionally omit the respective metadata.
+           (Thanks to Edzer Pebesma.)
+
+         * 'grDevices::glyphInfo()' gains a 'rot' argument to allow
+           per-glyph rotation.  (Thanks to Daniel Sabanes Bove.)
+
+         * Package 'tools' now exports functions 'CRAN^current^db()',
+           'CRAN^aliases^db()', 'CRAN^rdxrefs^db()',
+           'CRAN^archive^db()', and 'CRAN^authors^db()'.
+
+         * Package 'tools' now exports functions 'R()' and
+           'parse^URI^reference()'.
+
+         * Package 'tools' now exports functions 'base^aliases^db()'
+           and 'base^rdxrefs^db()'.
+
+         * It is now possible to set the background color for row and
+           column names in the data editor on Windows ('Rgui').
+
+         * 'Rterm' on Windows now accepts input lines of unlimited
+           length.
+
+         * 'file.info()' on Windows now provides file owner name and
+           domain.
+
+         * 'Sys.info()' on Windows now provides current user domain.
+
+         * 'findInterval()' gets new arguments 'checkSorted' and
+           'checkNA' which allow skipping relatively costly checks;
+           related to PR#16567.
+
+         * 'pnorm(x)' underflows more gracefully.
+
+         * 'get(nam, env)' now signals a ^classed^ error,
+           '"getMissingError"', as "subclass" of '"missingArgError"'
+           where the latter is used also in similar situations, e.g.,
+           'f <- function(x) exp(x); try(f())' .
+
+         * The set operations now avoid the 'as.vector()'
+           transformation for same-kind apparently vector-like
+           operands.
+
+         * 'md5sum()' can be used to compute an MD5 hash of a raw
+           vector of bytes by using the 'bytes=' argument instead of
+           'files='. The two arguments are mutually exclusive.
+
+         * Added function 'sha256sum()' in package 'tools' analogous to
+           'md5sum()' implementing the SHA-256 hashing algorithm.
+
+         * The 'xtfrm()' method for class '"AsIs"' is now considerably
+           faster thanks to a patch provided by Ivan Krylov.
+
+         * The 'merge()' method for data frames will no longer convert
+           row names used for indexing using 'I()', which will lead to
+           faster execution in cases where 'sort = TRUE' and 'all.x'
+           and/or 'all.y' are set to 'TRUE'.
+
+         * The 'methods' package internal function '.requirePackage()'
+           now calls 'requireNamespace(p)' instead of 'require(p)',
+           hence no longer adding packages to the 'search()' path in
+           cases methods or class definitions are needed.
+           Consequently, previous workflows relying on the old
+           behaviour will have to be amended by adding corresponding
+           'library(p)' calls.
+
+         * More R-level messages use a common format containing
+           '"character string"' for more consistency and less
+           translation work.
+
+         * 'available.packages()' and 'install.packages()' get an
+           optional switch 'cache^user^dir', somewhat experimentally.
+
+         * The 'sunspot.month' data have been updated to Oct 2024;
+           because of recalibration also historical numbers are
+           changed, and we keep the previous data as 'sunspot.m2014'
+           for reproducibility.
+
+         * The 'quartz()' device now supports alpha masks.  Thanks to
+           George Stagg, Gwynn Gebeyhu, Heather Turner, and Tomek
+           Gieorgijewski.
+
+         * The 'print()' method for date-time objects ('POSIX.t') gets
+           an optional 'digits' argument for ^fractional^ seconds,
+           passed to improved 'format.POSIXlt()'; consequently,
+           'print(<date.time>, digits = n)' allows to print fractions
+           of seconds.
+
+         * 'install.packages()' and 'download.packages()' download
+           packages simultaneously using 'libcurl', significantly
+           reducing download times when installing or downloading
+           multiple packages.
+
+         * Status reporting in 'download.file()' has been extended to
+           report the outcome for individual files in simultaneous
+           downloads.
+
+         * The Rd \link macro now allows markup in the link text when
+           the topic is given by the optional argument, e.g.,
+           '\link[=gamma]{\eqn{\Gamma(x)}}'.
+
+         * If 'La^library()' is empty, 'sessionInfo()' still reports
+           'La^version()' when available.
+
+         * 'seq.int(from, to, by, ....)' when |by| = 1 now behaves as
+           if 'by' was omitted, and hence returns 'from:to', possibly
+           integer.
+
+         * 'seq.Date(from, to, by, ....)' and 'seq.POSIXt(..)' now also
+           work when 'from' is missing and sufficient further arguments
+           are provided, thanks to Michael Chirico's report, patch
+           proposal in PR#17672 and 'R Dev Day' contributions.
+
+           The 'Date' method also works for 'seq(from, to)', when 'by'
+           is missing and now defaults to '"1 days"'.
+
+           It is now documented (and tested) that the 'by' string may
+           be ^abbreviated^ in both 'seq' methods.
+
+           Both methods return or keep internal type '"integer"' more
+           consistently now.  Also, 'as.POSIXct({})' is internally
+           integer.
+
+         * 'duplicated()', 'unique()', and 'anyDuplicated()' now also
+           work for class 'expression' vectors.
+
+         * New function 'use()' to use packages in R scripts with full
+           control over what gets added to the search path.  (Actually
+           already available since R 4.4.0.)
+
+         * There is some support for 'zstd' compression of tarballs in
+           'tar()' and 'untar()'.  (This depends on OS support of
+           'libzstd' or by 'tar'.)
+
+         * 'print(summary(<numbers>))' gets new optional argument
+           'zdigits' to allow more flexible and consistent (double)
+           rounding.  The current default 'zdigits = 4L' is somewhat
+           experimental.  Specifying both 'digits = *, zdigits = *'
+           allows behaviour independent of the global 'digits' option.
+
+         * The 'format()' method for '"difftime"' objects gets a new
+           back compatible option 'with.units'.
+
+         * A 'summary()' method for '"difftime"' objects which prints
+           nicely, similar to those for '"Date"' and '"POSIXct"'.
+
+         * 'unique()''s default method now also deals with '"difftime"'
+           objects.
+
+         * 'optimize(f, *)' when 'f(x)' is not finite says more about
+           the value in its 'warning' message.  It no longer replaces
+           '-Inf' by the largest ^positive^ finite number.
+
+         * The documentation of 'gamma()' and 'is.numeric()' is more
+           specific, thanks to the contributors of PR#18677.
+
+         * New dataset 'gait' thanks to Heather Turner and Ella Kaye,
+           used in examples.
+
+         * New datasets 'penguins' and 'penguins^raw' thanks to Ella
+           Kaye, Heather Turner, and Kristen Gorman.
+
+         * 'isSymmetric(<matrix>)' gains a new option 'trans = "C"';
+           when set to non-default, it tests for "simple" symmetry of
+           complex matrices.
+
+         * 'model.frame()' produces more informative error messages in
+           some cases when variables in the formula are not found,
+           thanks to Ben Bolker's PR#18860.
+
+         * 'selectMethod(f, ..)' now keeps the function name if the
+           function belongs to a group generic and the method is for
+           the generic.
+
+  BLAS and LAPACK:
+
+         * The bundled BLAS and LAPACK sources have been updated to
+           those shipped as part of January 2025's LAPACK 3.12.1.
+
+         * It is intended that this will be the last update to BLAS and
+           LAPACK in the R sources.  Those building R from source are
+           encouraged to use external BLAS and LAPACK and this will be
+           required in future.
+
+         * This update was mainly bug fixes but contained a barely
+           documented major change.  The set of BLAS routines had been
+           unchanged since 1988, so throughout R's history.  This
+           update introduced new BLAS routines 'dgemmtr' and 'zgemmtr'
+           which are now used by LAPACK routines.  This means that BLAS
+           implementations are no longer interchangeable.
 
-           It can be installed with the upcoming (at the time of
-           writing) 'gcc' 15, which defaults to C23.
+         * To work around this, R can be configured with option
+           '--with-2025blas' which arranges for the 2025 BLAS additions
+           to be compiled into 'libRlapack' (the internal LAPACK, not
+           built if an external LAPACK is used).
+
+           This option allows the continuation of the practice of
+           swapping the BLAS in use by symlinking 'lib/libRblas.*'.  It
+           has the disadvantage of using the reference BLAS version of
+           the 2025 routines whereas an enhanced BLAS might have an
+           optimized version (OpenBLAS does as from version 0.3.29).
+
+         * Windows builds currently use the internal LAPACK and by
+           default the internal BLAS: notes on how to swap the latter
+           ^via^ 'Rblas.dll' are in file 'src/extra/blas/Makefile.win'.
+
+  INSTALLATION on a UNIX-ALIKE:
+
+         * A C23 compiler (if available) is now selected by default for
+           compilation of R and packages.  R builds can opt out ^via^
+           the 'configure' flag '--without-C23', unless the specified
+           or default (usually 'gcc') compiler defaults to C23: 'gcc'
+           15 does.
+
+           A C23 compiler is known to be selected with 'gcc' 13-15,
+           LLVM 'clang' 18-20 (and 15 should), Apple 'clang' 15-17 and
+           Intel 2024.2-2025.0 (and 2022.2 should).
+
+           Current binary distributions on macOS use Apple 'clang' 14
+           and so do not use C23.
+
+         * The minimum 'autoconf' requirement for a maintainer build
+           has been increased to 'autoconf' 2.72.
+
+         * Building the HTML and Info versions of the R manuals now
+           requires 'texi2any' from Texinfo 6.1 or later.
+
+         * Failures in building the manuals under 'doc' now abort the
+           installation, removing any file which caused the failure.
+
+         * Control of symbol visibility is now supported on macOS (the
+           previous check only worked on ELF platforms).
+
+         * There is now support for installing the debug symbols for
+           recommended packages on macOS: see 'REC^INSTALL^OPT' in file
+           'config.site'.
+
+         * 'configure' is now able to find an external 'libintl' on
+           macOS (the code from an older GNU gettext distribution
+           failed to try linking with the macOS Core Foundation
+           framework).
+
+  INSTALLATION on WINDOWS:
+
+         * Both building R and installing packages use the C compiler
+           in C23 mode.
+
+         * R on Windows by default uses 'pkg-config' for linking
+           against external libraries.  This makes it easier to test R
+           and packages with alternative toolchains (such as from
+           Msys2, e.g., testing with LLVM and possibly with
+           sanitizers). It also allows more significant Rtools updates
+           within a single R minor release.
+
+         * The installer scripts for Windows have been tailored to
+           Rtools45, an update of the Rtools44 toolchain.  It is based
+           on GCC 14.  The experimental support for 64-bit ARM
+           ('aarch64') CPUs is based on LLVM 19.  R-devel and R 4.5.x
+           are no longer maintained to be buildable using Rtools44 and
+           it is advised to switch to Rtools45.
+
+  DEPRECATED AND DEFUNCT:
+
+         * 'is.R()' is defunct.  Environment variable
+           '^R^DEPRECATED^IS^R^' no longer has any effect.
+
+         * Deprecated (for more than 9 years!) functions
+           'linearizeMlist', 'listFromMlist', and 'showMlist' and the
+           '"MethodsList"' class for S4 method handling were removed
+           from package 'methods'.  Deprecated functions
+           'balanceMethodsList', 'emptyMethodsList',
+           'inheritedSubMethodLists', 'insertMethod',
+           'insertMethodInEmptyList', 'makeMethodsList',
+           'mergeMethods', 'MethodsList', 'MethodsListSelect', and
+           'SignatureMethod' were made defunct, as were the
+           '"MethodsList"' branches of functions
+           'assignMethodsMetaData', 'finalDefaultMethod', and
+           'MethodAddCoerce'.
+
+         * 'getMethods(*, table = TRUE)' is deprecated.
+
+         * Building with the bundled (and old) version of 'libintl' is
+           deprecated and now gives a 'configure' warning.  This should
+           be selected only if neither the OS's 'libc' (as on GNU
+           Linux) nor an external 'libintl' library provide suitable
+           functions.
+
+           Instead install 'libintl' from a recent version of GNU
+           gettext (available for macOS) or use 'configure' option
+           '--disable-nls'.
+
+           The ability to use the bundled version may be removed as
+           soon as R 4.5.1.
+
+         * The deprecated 'xfig()' graphics device has been removed.
+
+  PACKAGE INSTALLATION:
+
+         * Packages are now installed using C23 where supported by the
+           OS and R build.
+
+           Packages using R's compiler settings can ask *not* to use
+           C23 ^via^ including 'USE^C17' in 'SystemRequirements' or can
+           be installed by 'R CMD INSTALL --use-C17'.  (Some packages
+           ignore these settings in their 'configure' script or when
+           compiling in sub-directories of 'src', as will those using a
+           'src/Makefile'.)
+
+         * Source installs now report the package version in the log.
+
+         * There is preliminary support for C++26 with GCC >= 14, Apple
+           'clang++' >= 16 and LLVM 'clang++' >= 17.
 
   C-LEVEL FACILITIES:
 
-         * The functions 'R_strtod' and 'R_atof' now allow hexadecimal
-           constants without an exponent, for compatibility with their
-           C99 versions (PR#18805).
+         * The non-API and hidden entry points 'Rf^setIVector',
+           'Rf^setRVector' and 'Rf^setSVector' have been removed.
+
+         * The internal code for changing the parent of an environment
+           now signals an error if the new parent is not an environment
+           or if the change would create a cycle in the parent chain.
+
+         * 'SET^TYPEOF' now signals an error unless the old and new
+           types have compatible memory structure and content. Use of
+           'SET^TYPE' in package C code should be avoided and may be
+           deprecated in the near future. It is better to allocate an
+           object of the desired type in the first place.
+
+         * The set of LAPACK (double and complex) routines declared in
+           the headers 'R^ext/Lapack.h' and 'R^ext/Applic.h' has been
+           extended, mostly to routines actually in use by packages.
+
+         * Memory allocation messages now use the (non-SI notation)
+           '"Mb"', '"Gb"' , ..., and '"Mbytes"' strings as ^arguments^
+           instead of as part of the (translatable format) string.
+           This is one step for PR#18297; from Henrik Bengtsson.
+
+         * Header 'R^ext/Constants.h' (included by 'R.h') now always
+           includes header 'float.h' or 'cfloat' for constants such as
+           'DBL^MAX'.
+
+         * Strict R headers are now the default.  This removes the
+           legacy definitions of 'PI', 'Calloc', 'Realloc' and 'Free':
+           use 'M^PI', 'R^Calloc', 'R^Realloc' or 'R^Free' instead.
+
+         * The deprecated and seemingly never-used S-compatibility
+           macros 'F77^COM' and 'F77^COMDECL' have been removed from
+           header 'R^ext/RS.h'.
+
+         * The 'enum' 'Rboolean' defined in header 'R^ext/Boolean.h'
+           now has a fixed underlying type of 'int' on platforms whose
+           C compiler supports this.
+
+           This is a C23 feature (taken from C++11) and also supported
+           in all C standards by some versions of 'clang' (from LLVM
+           and Apple) and (with a warning when using '-pedantic') by
+           GCC when in C17 mode.
+
+           A fair amount of code has assumed this: it may be changed to
+           a smaller type in future.  In particular, as standard
+           compilers do not check the validity of assignment to an
+           'enum', it has been possible to assign 'NA^INTEGER' to an
+           'Rboolean' variable, coerce it to 'int' and recover the
+           value.
+
+           If there were a platform which used an underlying type of a
+           different size this would be an ABI-breaking change (but we
+           are unaware of any such platform).
+
+         * Header 'R^ext/Boolean.h' now ensures that a 'bool' type is
+           available either as a keyword (C23 and C++) or by including
+           the C99 header 'stdbool.h'.  This is being used internally
+           in R to replace 'Rboolean' by 'bool'.
+
+         * There are new functions 'asRboolean' and 'asBool', variants
+           of 'asLogical' more suited to converting logical arguments
+           to 'Rboolean' or to 'bool'. They require a length-one input
+           and throw an error if that evaluates to 'NA'.
+
+         * Header 'R^exts/Error.h' now ensures that 'Rf^error' and
+           similar are given a 'noreturn' attribute when used from C++
+           under all compilers.
+
+         * Header 'R^exts/Utils.h' no longer contains a declaration for
+           'F77^SUB(interv)'.  This is intended to be called from
+           Fortran and was wrongly declared: 'LOGICAL' in Fortran
+           corresponds to 'int *' not 'Rboolean *'.
+
+         * Defining 'R^INCLUDE^BOOLEAN^H' to '0' before including
+           headers 'R.h' or 'Rinternals.h' (or any other header which
+           includes 'R^ext/Boolean.h') stops the inclusion of header
+           'R^ext/Boolean.h' which `defines' constants 'TRUE', 'FALSE',
+           'true', 'false' and the type 'bool' which some package
+           maintainers wish to avoid.
+
+           Note that the last three are keywords in C23 and C++11 so
+           cannot be avoided entirely.  However, with commonly-used
+           compilers they can be masked by a macro of the same name,
+           often with a warning.
+
+  C-LEVEL API:
+
+         * The 'Writing R Extensions' Texinfo source now contains very
+           experimental annotations for more clearly identifying the
+           API status of C entry points. These annotations are used to
+           produce indices for API, experimental API, and embedded API
+           entry points in the rendered versions.  This is very
+           preliminary and may be dropped if a better approach emerges.
+
+           Also for Fortran-callable entry points which are part of the
+           API.
+
+         * 'Writing R Extensions' has a new section 'Moving into C API
+           compliance' to help package authors move away from using
+           non-API endpoints. This section will continue to be updated
+           as work on clarifying and tightening the C API continues.
+
+         * New API function 'R^mkClosure'. This checks that its
+           arguments are valid and should be used instead of
+           'allocSExp(CLOSXP' followed by 'SET^FORMALS', 'SET^BODY',
+           and 'SET^CLOENV'.
+
+         * New API functions 'R^ClosureFormals', 'R^ClosureBody', and
+           'R^ClosureEnv' for extracting closure components.  The
+           existing functions 'R^ClosureExpr' and 'R^BytecodeExpr' have
+           also been added to the API.
+
+         * New API function 'R^ParentEnv' corresponding to R's
+           'parent.env()'.
+
+         * Further non-API entry points have been added to those
+           reported by 'R CMD check': 'COMPLEX0', 'ddfind', 'DDVAL',
+           'ENSURE^NAMEDMAX', 'ENVFLAGS', 'FRAME', 'HASHTAB',
+           'INTERNAL', 'IS^ASCII', 'IS^UTF8', 'LEVELS', 'NAMED',
+           'PRSEEN', 'RDEBUG', 'REAL0', 'Rf^findVarInFrame3',
+           'SET^BODY', 'SET^CLOENV', 'SET^FORMALS', 'SET^PRSEEN',
+           'SET^RDEBUG', 'STRING^PTR', 'SYMVALUE', and 'VECTOR^PTR'.
+           Any declarations for these in public header files will be
+           removed in the near future, and they will be hidden where
+           possible.
+
+         * Some 'R CMD check' 'NOTE's on the use of non-API entry
+           points have been upgraded to 'WARNING's in preparation for
+           removing declarations and, where possible, hiding these
+           entry points.
+
+         * Additional non-API entry points have been added to those
+           reported by 'R CMD check': 'IS^LONG^VEC', 'PRCODE', 'PRENV',
+           'PRVALUE', 'R^nchar', 'Rf^NonNullStringMatch',
+           'R^shallow^duplicate^attr', 'Rf^StringBlank', 'SET^TYPEOF',
+           'TRUELENGTH', 'XLENGTH^EX', and 'XTRUELENGTH'.
+
+         * Enable defining 'R^NO^REMAP^RMATH' and calling 'Rf^*()' as
+           has been documented in 'Writing R Extensions' for a while,
+           fixing PR#18800 thanks to Mikael Jagan and Suharto Anggono.
+
+         * 'R^GetCurrentSrcref(skip)' now skips calls rather than
+           'srcref's, consistent with counting items in the
+           'traceback()' display.  If 'skip == NA^INTEGER', it searches
+           for the first 'srcref', starting at the current evaluation
+           state and proceeding through the call stack; otherwise, it
+           returns the 'srcref' of the requested entry from the call
+           stack.
 
   UTILITIES:
 
-         * 'R CMD build' and 'R CMD check' now allow reference output
-           for demo scripts ('demo/<demo>.Rout.save' files) to be
-           shipped with the package, as proposed by Torsten Hothorn in
-           PR#18816.
+         * 'R CMD INSTALL' (and hence 'check') now compile C++ code
+           with '-DR^NO^REMAP'.
+
+           'Writing R Extensions' has been revised to describe the
+           remapped entry points, for with the 'Rf^' prefix remains
+           optional when used from C code (but is recommended for new C
+           code).
+
+         * 'R CMD check --as-cran' notes bad parts in the 'DESCRIPTION'
+           file's URL fields.
+
+         * 'R CMD check' now reports more warnings on
+           long-deprecated/obsolete Fortran features reported by
+           'gfortran -Wall'.  For hints on how to modernize these, see
+           <https://fortranwiki.org/fortran/show/Modernizing+Old+Fortran>.
+
+         * Since almost all supported R versions now use UTF-8, 'R CMD
+           check' no longer by default reports on marked UTF-8 or
+           Latin-1 strings in character data.  Set environment variable
+           '^R^CHECK^PACKAGE^DATASETS^SUPPRESS^NOTES^' to a false value
+           for the previous behaviour.
+
+         * 'tools::checkDocFiles()' notes more cases of usage
+           documentation without corresponding \alias.
+
+         * 'R CMD check' with a true value for environment variable
+           '^R^CHECK^BASHISMS^' checks more thoroughly, including for
+           'bash' scripts and bashisms in components of
+           'autoconf'-generated 'configure' scripts.
+
+         * 'R CMD check' gains option '--run-demo' to check demo
+           scripts analogously to tests.  This includes a check for
+           undeclared package dependencies: it can also be enabled
+           separately by setting the environment variable
+           '^R^CHECK^PACKAGES^USED^IN^DEMO^' to a true value (as done
+           by 'R CMD check --as-cran').
+
+         * 'R CMD build' now supports '--compression=zstd' on platforms
+           with sufficient support for 'zstd'.
+
+         * 'tools::texi2pdf(..., texinputs=<paths>)' now ^pre^pends the
+           specified <paths> to 'TEXINPUTS'.  When building R itself
+           ('doc/NEWS.pdf' and base vignettes) or package manuals using
+           'R CMD Rd2pdf', it is ensured that this R's 'Rd.sty' takes
+           precedence over any other (incompatible) versions in default
+           "texmf trees".
+
+         * 'tools::Rd2latex()' no longer outputs an
+           '\inputencoding{utf8}' line by default; such a declaration
+           is obsolete since LaTeX 2018-04-01.
 
   BUG FIXES:
 
-         * 'kappa(A, exact=TRUE)' for singular 'A' returns 'Inf' more
-           generally, fixing PR#18817 reported by Mikael Jagan.
+         * 'update^pkg^po()' now copies '.mo' files to the
+           'translation' package even if a 'DESCRIPTION' file exists,
+           thanks to Michael Chirico fixing PR#18694.
+
+         * Auto-generated 'citation()' entries no longer include
+           (additional) URLs in the 'note' field (PR#18547).
+
+         * 'as.data.frame.list()' gets a new option 'new.names' and now
+           preserves 'NA' names, thus fixing the 'format()' method for
+           data frames, and also bug PR#18745.  Relatedly, the
+           'format()' method gets an option 'cut.names'.
+
+         * 'stem()' formats correctly also in cases where rounding up,
+           e.g., from 9.96 to 10 needs more digits; thanks to Ella Kaye
+           and Kelly Bodwin, fixing PR#8934 during 'R Dev Day' at
+           useR!2024.
+
+           Additionally, 'stem(x)' now works normally also when
+           'length(x) == 1'.
+
+         * 'tools'' 'toTitleCase()' now works better, fixing PR#18674,
+           thanks to Shannon Pileggi, Sarah Zeller, Reiko Okamoto, and
+           Hugo Gruson's 'R Dev Day' effort.
+
+         * Printing matrices (typically with many rows and or columns)
+           now also omits columns when desirable according to option
+           'max.print', or argument 'max', respectively.  This is
+           primarily the work of Lorena Abad, Ekaterina Akimova, Hanne
+           Oberman, Abhishek Ulayil, and Lionel Henry at the 'R Dev
+           Day', thus fixing PR#15027.
+
+         * 'Sys.setLanguage()' now warns about ^some^ failures to
+           change the language.
+
+         * Printing 'ls.str()' now shows '"<missing>"' even when R's
+           language setting is not English.
+
+         * 'xyTable()' now handles and reports 'NA's fixing PR#18654.
+           Thanks to Heather Turner and Zhian Kamvar for report and
+           patch.
+
+         * 'as(*, "raw")' now works as documented, thanks to Mikael
+           Jagan's PR#18795.
+
+         * Informational messages of e.g., 'print(1:1e4, max=1000)',
+           now correctly mention 'max' in addition to
+           'getOption("max.print")'.
+
+         * 'rowSums(A, dims = dd)', 'colMeans(..)', etc, give a more
+           helpful error message when 'dd' is not of length one, thanks
+           to Michael Chirico's PR#18811.
+
+         * 'seq.Date()' no longer explicitly coerces results from
+           integer to double, analogously with 'seq.default()',
+           'seq.int()' and 'seq.POSIXt()', resolving a ^modified^
+           PR#18782.
+
+         * 'axisTicks(usr, ...)' documentation clarification for 'log =
+           TRUE', fixing bug PR#18821 thanks to Duncan Murdoch.
+
+         * 'debug()' and 'debugonce(fun)' now also accept a string
+           'fun' when it names an S4 generic, fixing PR#18822 thanks to
+           Mikael Jagan.
+
+         * 'debugonce(<S4-simple-body>, signature=*)' now works
+           correctly when "called twice", fixing PR#18824 thanks to
+           Mikael Jagan.
+
+         * 'format(dtime, digits=* / format=*)' is more consistent when
+           the 'POSIXt' date-time object 'dtime' has fractional (non
+           integer) seconds.  Fixes PR#17350, thanks to new
+           contributions by LatinR's 'R Dev Day' participants, Heather
+           Turner and Dirk Eddelbuettel; also fixes more cases, notably
+           when 'format' contains '%OS<nodigit>'.
+
+         * 'options(scipen = NULL)' and other invalid values now signal
+           an error instead of invalidating ops relying on a finite
+           integer value.  Values outside the range -9 .. 9999 are now
+           warned about and set to a boundary or to the default '0',
+           e.g., in case of an 'NA'.  This also fixes PR#16322.
+
+         * 'cbind()' could segfault with 'NULL' inputs.  (Seen when R
+           was built with 'gcc-14', LTO and C99 inlining semantics.)
+
+         * Fix segfault on 'quartz()' from 'grid.glyph()' call with
+           'glyphInfo()' that describes non-existent font (PR#18784).
+           Thanks to Tomek Gieorgijewski.
+
+         * 'format()' etc, using 'decimal.mark = s', by default getting
+           's <- getOption("OutDec")', signals a warning (to become an
+           error in the future) when 's' is not a string with exactly
+           one character.
+
+         * When 's <- getOption("OutDec")' is not a string of one
+           character, a warning is signalled now whenever it is used in
+           internal C code, notably when calling the default methods of
+           'format()'.
+
+         * 'pwilcox()' and 'qwilcox()' now check for user interrupt
+           less frequently.
+
+         * 'summary(<stl>)' (which prints directly) finally gets the
+           same 'digits' default as the formatting printing of default
+           'summary()' method results, and it is documented explicitly.
+
+         * 'options(show.error.locations = TRUE)' once again shows the
+           most recent known location when an error is reported.
+           Setting its value to '"bottom"' is no longer supported.
+           Numerical values are converted to logical.
+
+         * C API function 'R^GetCurrentSrcref(skip)' now returns
+           'srcref' entries correctly.  (Note that there is also a
+           change to the interpretation of 'skip'; see the C-LEVEL API
+           entry above.)
+
+         * 'tools::Rd2latex()' now removes leading and trailing spaces
+           from \alias entries as documented, fixing indexing and
+           linking hiccups in some PDF manuals.
 
-         * Fixed URLs of the sun spots ('sunspot.month' etc) data sets
-           and mention future changes due to recalibration.
+         * 'R CMD Rd2pdf' can now render the package manual from a
+           '--latex' installation also when the help contains figures.
 
-         * The parser now accepts hexadecimal constants with a decimal
-           point without an exponent (taken as 'p0') as documented in
-           '?NumericConstants' (PR#18819).
+         * The argument of 'as.environment()' is now named 'x', not
+           'object', as was always documented and shown when printing
+           it; thanks to Gael Millot's PR#18849.
 
-         * 'rbind()' now works correctly when inputs include a raw
-           vector and a logical, integer or double vector - previously
-           the inclusion of the latter was garbled.
+         * When 'R CMD check' aims at getting the time+date from a
+           world clock, it is more robust against unexpected non-error
+           results, thanks to Michael Chirico's PR#18852.
 
-         * 'smooth.spline()' checks validity of its arguments
-           'df.offset' and 'penalty': it could segfault if they were
-           'NULL'.
+         * The 'tools::parseLatex()' parser made several parsing errors
+           (PR#18855).
 
-         * 'isGeneric(<primitive>, fdef=*, getName=TRUE)' now also
-           returns the name instead of just 'TRUE', fixing PR#18829
-           reported by Mikael Jagan.
+         * Error messages produced by 'tools::parseLatex()' are now
+           more readable (PR#18855).
 
-         * 'isGeneric(fdef = print)' now works, fixing PR#18369 thanks
-           to Mikael Jagan.
+         * 'R CMD build <pkg>' excludes more file patterns when it tars
+           the <pkg> directory, fixing both PR#18432 and PR#18434, for
+           'vim' and 'GNU Global' 'emacs' users, thanks to Dirk
+           Eddelbuettel's patch.
 
-         * 'sort(x, method = "qsort")' made illegal accesses when 'x'
-           has length 0.
+         * 'quantile()''s default method gets an option 'fuzz' to
+           protect against floating point inaccuracy before rounding,
+           thus fixing PR#15811 and, en passant, PR#17683.
 
-         * 'dir.create()' is protected against being passed an empty
-           string as its 'path' argument.
+         * Printing arrays now also omits columns, rows and slices when
+           desirable according to option 'max.print', or argument
+           'max', respectively, addressing most of the remaining part
+           of PR#15027, thanks to Sherry Zhang's patch.
 
-         * Silent integer overflow could occur in the 'exact'
-           computations for 'fisher.test()' for unrealistic inputs:
-           this is now an error.
+         * 'drop.terms(y ~ w, 1)' and similar now work, thanks to
+           Benjamin Sommer's report in PR#18861 and collaboration with
+           Heather Turner improving 'reformulate()'.
 
-         * Some invalid C-level memory accesses are avoided for
-           'loglin(, margin = NULL)'.
+         * Many arguments which should be length-1 logical are checked
+           more thoroughly.  The most commonly seen errors are in
+           'unlink(, recursive)', 'tempdir()' and the 'na.rm' arguments
+           of 'max()', 'min()', 'sum()', ....
 
-           'loglin(, param = TRUE)' no longer gives an error in corner
-           cases such as a one-dimensional input.
+           'grep()', 'strsplit()' and similar took non-'TRUE'/'FALSE'
+           values of their logical arguments as 'FALSE', but these were
+           almost always mismatches to unnamed arguments and are now
+           reported as 'NA'.
 
-         * 'dev.capabilities() $ events' now reports '"Idle"' if the
-           device provides it, fixing PR#18836, thanks to Trevor Davis.
+         * 'vignette("reshape")' is now also available on Windows.
 
-         * 'arima(.., seasonal = <wrong-vector>)' correctly errors now,
-           ditto for 'arima0()', thanks to Norbert Kuder's report on
-           the R-devel list.
+         * 'trace(coerce, ..)' now works correctly, fixing PR#18823
+           thanks to Mikael Jagan.
 
-         * 'binomial(<link>)$linkinv(eta)' and '.. $mu.eta(eta)' now
-           also work for '"logit"' link when 'is.integer(eta)'.
+         * 'R CMD check' now also reports bad symbols in package shared
+           objects linked in from local static libraries (PR#18789).
 
-         * 'as.roman(x)' now should work platform independently, also
-           for, e.g., 'x = "IIIII"' (= V) and 'x = "IIIIII"' (= VI).
+         * 'factanal()' now works correctly also, e.g., for
+           'GPArotation', 'oblimin()' rotations, fixing PR#18417,
+           thanks to Coen Bernaards and others.
 
-         * 'R CMD Rd2pdf' works again on an installed package directory
-           containing LaTeX help (from option '--latex'), thanks to a
-           report by Peter Ruckdeschel.
+         * Setting 'attributes' on primitive functions is deprecated
+           now and already an error in the development version of R.
+           Changing the 'environment' of a primitive does no longer
+           happen and signals a warning.
diff --git a/R/Makefile b/R/Makefile
index 86b9772091..5064867d3f 100644
--- a/R/Makefile
+++ b/R/Makefile
@@ -4,7 +4,7 @@
 # If updating this package, please try to ensure PLIST.Darwin is kept in sync
 # to avoid unnecessarily breaking macOS users.
 #
-DISTNAME=	R-4.4.3
+DISTNAME=	R-4.5.2
 CATEGORIES=	math
 MASTER_SITES=	${MASTER_SITE_R_CRAN:=base/R-4/}
 
diff --git a/R/PLIST b/R/PLIST
index 7dba22ad74..72408630fd 100644
--- a/R/PLIST
+++ b/R/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.42 2024/11/01 07:12:59 mef Exp $
+@comment $NetBSD$
 bin/R
 bin/Rscript
 info/R-FAQ.info.gz
@@ -140,6 +140,7 @@ lib/R/doc/html/prism.css
 lib/R/doc/html/prism.js
 lib/R/doc/html/resources.html
 lib/R/doc/html/right.jpg
+lib/R/doc/html/ror.svg
 lib/R/doc/html/up.jpg
 lib/R/doc/manual/R-FAQ.html
 lib/R/doc/manual/R-admin.html
@@ -1169,6 +1170,7 @@ lib/R/library/stats/demo/glm.vr.R
 lib/R/library/stats/demo/lm.glm.R
 lib/R/library/stats/demo/nlm.R
 lib/R/library/stats/demo/smooth.R
+lib/R/library/stats/doc/reshape.pdf
 lib/R/library/stats/help/AnIndex
 lib/R/library/stats/help/aliases.rds
 lib/R/library/stats/help/paths.rds
@@ -1328,6 +1330,7 @@ lib/R/library/tools/help/tools.rdx
 lib/R/library/tools/html/00Index.html
 lib/R/library/tools/html/R.css
 lib/R/library/tools/libs/tools.so
+lib/R/library/tools/wre.txt
 lib/R/library/translations/DESCRIPTION
 lib/R/library/translations/ar/LC_MESSAGES/R-base.mo
 lib/R/library/translations/ar/LC_MESSAGES/R-methods.mo
@@ -1477,20 +1480,26 @@ lib/R/library/translations/en_GB/LC_MESSAGES/tcltk.mo
 lib/R/library/translations/en_GB/LC_MESSAGES/tools.mo
 lib/R/library/translations/en_GB/LC_MESSAGES/utils.mo
 lib/R/library/translations/es/LC_MESSAGES/R-base.mo
+lib/R/library/translations/es/LC_MESSAGES/R-compiler.mo
 lib/R/library/translations/es/LC_MESSAGES/R-grDevices.mo
 lib/R/library/translations/es/LC_MESSAGES/R-graphics.mo
 lib/R/library/translations/es/LC_MESSAGES/R-grid.mo
 lib/R/library/translations/es/LC_MESSAGES/R-methods.mo
 lib/R/library/translations/es/LC_MESSAGES/R-parallel.mo
+lib/R/library/translations/es/LC_MESSAGES/R-splines.mo
 lib/R/library/translations/es/LC_MESSAGES/R-stats.mo
 lib/R/library/translations/es/LC_MESSAGES/R-stats4.mo
+lib/R/library/translations/es/LC_MESSAGES/R-tcltk.mo
 lib/R/library/translations/es/LC_MESSAGES/R-tools.mo
 lib/R/library/translations/es/LC_MESSAGES/R-utils.mo
 lib/R/library/translations/es/LC_MESSAGES/R.mo
 lib/R/library/translations/es/LC_MESSAGES/RGui.mo
 lib/R/library/translations/es/LC_MESSAGES/grDevices.mo
 lib/R/library/translations/es/LC_MESSAGES/graphics.mo
+lib/R/library/translations/es/LC_MESSAGES/grid.mo
+lib/R/library/translations/es/LC_MESSAGES/methods.mo
 lib/R/library/translations/es/LC_MESSAGES/parallel.mo
+lib/R/library/translations/es/LC_MESSAGES/splines.mo
 lib/R/library/translations/es/LC_MESSAGES/stats.mo
 lib/R/library/translations/es/LC_MESSAGES/tcltk.mo
 lib/R/library/translations/es/LC_MESSAGES/tools.mo
@@ -1540,10 +1549,13 @@ lib/R/library/translations/hi/LC_MESSAGES/stats.mo
 lib/R/library/translations/hi/LC_MESSAGES/tools.mo
 lib/R/library/translations/hi/LC_MESSAGES/utils.mo
 lib/R/library/translations/hu/LC_MESSAGES/R-base.mo
+lib/R/library/translations/hu/LC_MESSAGES/R-compiler.mo
 lib/R/library/translations/hu/LC_MESSAGES/R-graphics.mo
+lib/R/library/translations/hu/LC_MESSAGES/R-methods.mo
 lib/R/library/translations/hu/LC_MESSAGES/R-parallel.mo
 lib/R/library/translations/hu/LC_MESSAGES/R-splines.mo
 lib/R/library/translations/hu/LC_MESSAGES/R-stats.mo
+lib/R/library/translations/hu/LC_MESSAGES/R-stats4.mo
 lib/R/library/translations/hu/LC_MESSAGES/R-tcltk.mo
 lib/R/library/translations/hu/LC_MESSAGES/R-tools.mo
 lib/R/library/translations/hu/LC_MESSAGES/R-utils.mo
@@ -1553,6 +1565,7 @@ lib/R/library/translations/hu/LC_MESSAGES/grDevices.mo
 lib/R/library/translations/hu/LC_MESSAGES/graphics.mo
 lib/R/library/translations/hu/LC_MESSAGES/grid.mo
 lib/R/library/translations/hu/LC_MESSAGES/parallel.mo
+lib/R/library/translations/hu/LC_MESSAGES/splines.mo
 lib/R/library/translations/hu/LC_MESSAGES/stats.mo
 lib/R/library/translations/hu/LC_MESSAGES/tcltk.mo
 lib/R/library/translations/hu/LC_MESSAGES/tools.mo
@@ -1657,7 +1670,12 @@ lib/R/library/translations/lt/LC_MESSAGES/stats.mo
 lib/R/library/translations/lt/LC_MESSAGES/tcltk.mo
 lib/R/library/translations/lt/LC_MESSAGES/tools.mo
 lib/R/library/translations/lt/LC_MESSAGES/utils.mo
+lib/R/library/translations/ne/LC_MESSAGES/R-base.mo
 lib/R/library/translations/ne/LC_MESSAGES/R-compiler.mo
+lib/R/library/translations/ne/LC_MESSAGES/R-parallel.mo
+lib/R/library/translations/ne/LC_MESSAGES/R-tcltk.mo
+lib/R/library/translations/ne/LC_MESSAGES/R-tools.mo
+lib/R/library/translations/ne/LC_MESSAGES/R-utils.mo
 lib/R/library/translations/ne/LC_MESSAGES/R.mo
 lib/R/library/translations/ne/LC_MESSAGES/RGui.mo
 lib/R/library/translations/nn/LC_MESSAGES/R-base.mo
diff --git a/R/distinfo b/R/distinfo
index 9b4a87546b..5a0a28b3c4 100644
--- a/R/distinfo
+++ b/R/distinfo
@@ -1,12 +1,12 @@
 $NetBSD: distinfo,v 1.111 2025/03/02 10:26:38 mef Exp $
 
-BLAKE2s (R-4.4.3.tar.gz) = c7860018ef691608dfa505c2bbeb7e015d03d106e8590587b49d1eac63449cda
-SHA512 (R-4.4.3.tar.gz) = 2a1d1e5ee2e18c928e2b3e58df372083b4bbd0822863a8441404999209035436e236c8ffe3970827fbf3d765157365800ebb0bb46f361c6abe473ddec30be06f
-Size (R-4.4.3.tar.gz) = 40234425 bytes
+BLAKE2s (R-4.5.2.tar.gz) = 89aaf25d047df226ec7340bf5550db5223163bec0b5ff1d5a3bfae691aa2106a
+SHA512 (R-4.5.2.tar.gz) = abc4ff1a1b18a1f480e7bceb3267074e30453b5a571034b4c2a1c53e1650a1bafaf86bc6ca37f117a2e4f6617039dedeedef4ba8743f38720fc70e4bed2ff0a4
+Size (R-4.5.2.tar.gz) = 40546249 bytes
 SHA1 (patch-configure.ac) = 61904b7918019204634d61bce2421c01c81ed640
-SHA1 (patch-m4_R.m4) = 3e1d390d8aa9895aee7cb479ddab371d82562b88
 SHA1 (patch-src_extra_xdr_xdr__mem.c) = 2e607b070db8b24a6ad5501e9c7c1549bf1b1d82
-SHA1 (patch-src_extra_xdr_xdr__stdio.c) = e4d8ace08ad282f44113941dd6a3b194769b8167
-SHA1 (patch-src_include_R__ext_Error.h) = fc91727ed68172489667c9b19a8c51f972ed3fd9
+SHA1 (patch-src_extra_xdr_xdr__stdio.c) = 91ea16599693e9dc14e631880fbe1c52f0f2009f
+SHA1 (patch-src_include_R__ext_Error.h) = 2d1eaebff5e57d73d301f7e818daa0b959a5c0f2
+SHA1 (patch-src_library_grDevices_src_devPS.c) = baaa914530519f8fd4b151d32f2aee327b908051
 SHA1 (patch-src_library_stats_src_Makefile.in) = 4eb93292858392792c37a706399e2cef91821bbe
 SHA1 (patch-src_main_character.c) = c1be2cae404ecbdd547343b70e9d072e9e1d5549
diff --git a/R/patches/patch-m4_R.m4 b/R/patches/patch-m4_R.m4
deleted file mode 100644
index 3032484c7a..0000000000
--- a/R/patches/patch-m4_R.m4
+++ /dev/null
@@ -1,57 +0,0 @@
-$NetBSD: patch-m4_R.m4,v 1.6 2024/05/27 20:45:14 mef Exp $
-
-Ensure tests for clog & co. fail, not just emit warning
-
---- m4/R.m4.orig	2024-04-05 07:15:01.000000000 +0900
-+++ m4/R.m4	2024-04-28 23:55:22.817246115 +0900
-@@ -1,4 +1,4 @@
--### R.m4 -- extra macros for configuring R		-*- Autoconf -*-
-+:### R.m4 -- extra macros for configuring R		-*- Autoconf -*-
- ###
- ### Copyright (C) 1998-2024 R Core Team
- ###
-@@ -927,6 +927,9 @@ dnl Yes we need to double quote this ...
- 
- extern void F77_SYMBOL(cftest)(int *a, int *b, double *x, double *y);
- 
-+int MAIN_ () { return 0; }
-+int MAIN__ () { return 0; }
-+
- int main (void) {
-   int a[3] = {17, 237, 2000000000}, b[2], res = 0;
-   double x[3] = {3.14159265, 123.456789, 2.3e34}, z[3];
-@@ -1022,6 +1025,9 @@ typedef union {
- 
- extern void F77_SYMBOL(cftest)(Rcomplex *x);
- 
-+int MAIN_ () { return 0; }
-+int MAIN__ () { return 0; }
-+
- int main (void) {
-     Rcomplex z[3];
- 
-@@ -4081,9 +4087,9 @@ R_CHECK_FUNCS([cabs carg cexp clog csqrt
- AC_DEFUN([R_CHECK_DECL],
- [AS_VAR_PUSHDEF([ac_Symbol], [ac_cv_have_decl_$1])dnl
- AC_CACHE_CHECK([whether $1 exists and is declared], ac_Symbol,
--[AC_LINK_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$4])],
--[#ifndef $1
--  char *p = (char *) $1;
-+[AC_LINK_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$4])
-+#ifndef $1
-+char *p = (char *) $1;
- #endif
- ])],
-                    [AS_VAR_SET(ac_Symbol, yes)],
-@@ -4905,9 +4911,9 @@ AC_CACHE_CHECK([if libcurl is >= 7.28.0]
- int main(void) 
- {
- #ifdef LIBCURL_VERSION_MAJOR
--#if LIBCURL_VERSION_MAJOR > 7
-+#if LIBCURL_VERSION_MAJOR > 8
-   exit(0);
--#elif LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 28
-+#elif (LIBCURL_VERSION_MAJOR == 7 && LIBCURL_VERSION_MINOR >= 28) || LIBCURL_VERSION_MAJOR == 8
-   exit(0);
- #else
-   exit(1);
diff --git a/R/patches/patch-src_extra_xdr_xdr__stdio.c b/R/patches/patch-src_extra_xdr_xdr__stdio.c
index f262f427de..109db0d745 100644
--- a/R/patches/patch-src_extra_xdr_xdr__stdio.c
+++ b/R/patches/patch-src_extra_xdr_xdr__stdio.c
@@ -2,18 +2,19 @@ $NetBSD: patch-src_extra_xdr_xdr__stdio.c,v 1.1 2025/01/20 21:26:02 he Exp $
 
 Don't do the ntohl() / htonl() dance on NetBSD.
 
---- src/extra/xdr/xdr_stdio.c.orig	2025-01-20 17:42:42.369938152 +0000
-+++ src/extra/xdr/xdr_stdio.c
-@@ -20,6 +20,8 @@ static uint32_t ntohl(uint32_t x)
- #endif
+--- src/extra/xdr/xdr_stdio.c.orig	2025-03-14 08:02:03.000000000 +0900
++++ src/extra/xdr/xdr_stdio.c	2026-01-03 18:55:12.260979571 +0900
+@@ -44,6 +44,9 @@ static uint32_t ntohl(uint32_t x)
+ # endif
  }
  #else /* net is big-endian: little-endian hosts need byte-swap code */
 +#if !defined(__NetBSD__)
 +/* Not needed on NetBSD, ntohl() and htonl() already declared */
++ 
  #ifndef WORDS_BIGENDIAN
  /* #ifdef LITTLE_ENDIAN */
  static uint32_t ntohl (uint32_t x)
-@@ -30,7 +32,11 @@ static uint32_t ntohl (uint32_t x)
+@@ -54,7 +57,11 @@ static uint32_t ntohl (uint32_t x)
  #define ntohl(x) (x)
  #endif
  #endif
diff --git a/R/patches/patch-src_include_R__ext_Error.h b/R/patches/patch-src_include_R__ext_Error.h
index 27cb58749d..547f2dcb40 100644
--- a/R/patches/patch-src_include_R__ext_Error.h
+++ b/R/patches/patch-src_include_R__ext_Error.h
@@ -2,15 +2,15 @@ $NetBSD: patch-src_include_R__ext_Error.h,v 1.3 2025/03/02 11:38:51 mef Exp $
 
 Fix building with C++.
 
---- src/include/R_ext/Error.h.orig	2025-01-19 08:15:01.000000000 +0900
-+++ src/include/R_ext/Error.h	2026-01-03 08:54:10.539893482 +0900
-@@ -45,7 +45,8 @@
-  * In C11 there is _Noreturn * (or noreturn in header <stdnoreturn.h>).
+--- src/include/R_ext/Error.h.orig	2025-04-22 07:15:01.000000000 +0900
++++ src/include/R_ext/Error.h	2026-01-03 18:52:17.619139182 +0900
+@@ -39,7 +39,8 @@ extern "C" {
+  * OTOH, '_Noreturn' is an obsolescent (in C23) function specifier.
   */
  #if defined NORET
--#elif (defined(__clang__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202301L)
-+#elif (defined(__clang__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202301L) || \
+-#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202301L)
++#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202301L) || \
 +      (defined(__cplusplus) && __cplusplus >= 201103L)
+ // gcc 15 LLVM clang 19- and Apple clang 17
  # define NORET [[noreturn]]
  #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201102L
- # define NORET _Noreturn
diff --git a/R/patches/patch-src_library_grDevices_src_devPS.c b/R/patches/patch-src_library_grDevices_src_devPS.c
new file mode 100644
index 0000000000..37a3a42fb7
--- /dev/null
+++ b/R/patches/patch-src_library_grDevices_src_devPS.c
@@ -0,0 +1,18 @@
+$NetBSD$
+
+devPS.c: In function 'PDF_endfile':
+devPS.c:8173:9: error: implicit declaration of function 'unlink' [-Wimplicit-function-declaration]
+ 8173 |         unlink(pd->filename);
+      |         ^~~~~~
+gmake[5]: *** [../../../../etc/Makeconf:202: devPS.o] Error 1
+
+--- src/library/grDevices/src/devPS.c.orig	2025-03-14 08:02:05.000000000 +0900
++++ src/library/grDevices/src/devPS.c	2026-01-03 19:41:50.895118374 +0900
+@@ -29,6 +29,7 @@
+ #include <ctype.h>
+ #include <limits.h> /* required for MB_LEN_MAX */
+ #include <string.h>
++#include <unistd.h> /* for unlink */
+ 
+ #include <wchar.h>
+ #include <wctype.h>


Home | Main Index | Thread Index | Old Index