pkgsrc-Changes archive

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

CVS commit: pkgsrc/math/R



Module Name:    pkgsrc
Committed By:   mef
Date:           Mon Feb 16 23:44:03 UTC 2026

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

Log Message:
(math/R) Updated 4.4.3 to 4.5.2 (some 800 lines)

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:

         * 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.

         * 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 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 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:

         * '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.

         * 'R CMD Rd2pdf' can now render the package manual from a
           '--latex' installation also when the help contains figures.

         * 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.

         * 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.

         * The 'tools::parseLatex()' parser made several parsing errors
           (PR#18855).

         * Error messages produced by 'tools::parseLatex()' are now
           more readable (PR#18855).

         * '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.

         * '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.

         * 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.

         * '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()'.

         * 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()', ....

           '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'.

         * 'vignette("reshape")' is now also available on Windows.

         * 'trace(coerce, ..)' now works correctly, fixing PR#18823
           thanks to Mikael Jagan.

         * 'R CMD check' now also reports bad symbols in package shared
           objects linked in from local static libraries (PR#18789).

         * 'factanal()' now works correctly also, e.g., for
           'GPArotation', 'oblimin()' rotations, fixing PR#18417,
           thanks to Coen Bernaards and others.

         * 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.


To generate a diff of this commit:
cvs rdiff -u -r1.277 -r1.278 pkgsrc/math/R/Makefile
cvs rdiff -u -r1.42 -r1.43 pkgsrc/math/R/PLIST
cvs rdiff -u -r1.113 -r1.114 pkgsrc/math/R/distinfo
cvs rdiff -u -r1.13 -r1.14 pkgsrc/math/R/patches/patch-configure.ac
cvs rdiff -u -r1.6 -r0 pkgsrc/math/R/patches/patch-m4_R.m4
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/math/R/patches/patch-src_extra_xdr_xdr__stdio.c
cvs rdiff -u -r1.4 -r1.5 \
    pkgsrc/math/R/patches/patch-src_include_R__ext_Error.h
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/math/R/patches/patch-src_library_grDevices_src_devPS.c

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

Modified files:

Index: pkgsrc/math/R/Makefile
diff -u pkgsrc/math/R/Makefile:1.277 pkgsrc/math/R/Makefile:1.278
--- pkgsrc/math/R/Makefile:1.277        Fri Feb  6 10:05:15 2026
+++ pkgsrc/math/R/Makefile      Mon Feb 16 23:44:02 2026
@@ -1,11 +1,10 @@
-# $NetBSD: Makefile,v 1.277 2026/02/06 10:05:15 wiz Exp $
+# $NetBSD: Makefile,v 1.278 2026/02/16 23:44:02 mef Exp $
 
 #
 # 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
-PKGREVISION=   3
+DISTNAME=      R-4.5.2
 CATEGORIES=    math
 MASTER_SITES=  ${MASTER_SITE_R_CRAN:=base/R-4/}
 

Index: pkgsrc/math/R/PLIST
diff -u pkgsrc/math/R/PLIST:1.42 pkgsrc/math/R/PLIST:1.43
--- pkgsrc/math/R/PLIST:1.42    Fri Nov  1 07:12:59 2024
+++ pkgsrc/math/R/PLIST Mon Feb 16 23:44:02 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.42 2024/11/01 07:12:59 mef Exp $
+@comment $NetBSD: PLIST,v 1.43 2026/02/16 23:44:02 mef Exp $
 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_MESS
 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_MESSAGE
 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_MESSAGE
 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_MESSAGE
 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

Index: pkgsrc/math/R/distinfo
diff -u pkgsrc/math/R/distinfo:1.113 pkgsrc/math/R/distinfo:1.114
--- pkgsrc/math/R/distinfo:1.113        Sat Jan  3 09:17:26 2026
+++ pkgsrc/math/R/distinfo      Mon Feb 16 23:44:02 2026
@@ -1,12 +1,12 @@
-$NetBSD: distinfo,v 1.113 2026/01/03 09:17:26 mef Exp $
+$NetBSD: distinfo,v 1.114 2026/02/16 23:44:02 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

Index: pkgsrc/math/R/patches/patch-configure.ac
diff -u pkgsrc/math/R/patches/patch-configure.ac:1.13 pkgsrc/math/R/patches/patch-configure.ac:1.14
--- pkgsrc/math/R/patches/patch-configure.ac:1.13       Sat Jan  3 09:17:26 2026
+++ pkgsrc/math/R/patches/patch-configure.ac    Mon Feb 16 23:44:02 2026
@@ -1,4 +1,4 @@
-$NetBSD: patch-configure.ac,v 1.13 2026/01/03 09:17:26 mef Exp $
+$NetBSD: patch-configure.ac,v 1.14 2026/02/16 23:44:02 mef Exp $
 
 on NetBSD/amd64 9.4: getting
 

Index: pkgsrc/math/R/patches/patch-src_extra_xdr_xdr__stdio.c
diff -u pkgsrc/math/R/patches/patch-src_extra_xdr_xdr__stdio.c:1.1 pkgsrc/math/R/patches/patch-src_extra_xdr_xdr__stdio.c:1.2
--- pkgsrc/math/R/patches/patch-src_extra_xdr_xdr__stdio.c:1.1  Mon Jan 20 21:26:02 2025
+++ pkgsrc/math/R/patches/patch-src_extra_xdr_xdr__stdio.c      Mon Feb 16 23:44:02 2026
@@ -1,19 +1,20 @@
-$NetBSD: patch-src_extra_xdr_xdr__stdio.c,v 1.1 2025/01/20 21:26:02 he Exp $
+$NetBSD: patch-src_extra_xdr_xdr__stdio.c,v 1.2 2026/02/16 23:44:02 mef 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

Index: pkgsrc/math/R/patches/patch-src_include_R__ext_Error.h
diff -u pkgsrc/math/R/patches/patch-src_include_R__ext_Error.h:1.4 pkgsrc/math/R/patches/patch-src_include_R__ext_Error.h:1.5
--- pkgsrc/math/R/patches/patch-src_include_R__ext_Error.h:1.4  Sat Jan  3 09:17:26 2026
+++ pkgsrc/math/R/patches/patch-src_include_R__ext_Error.h      Mon Feb 16 23:44:02 2026
@@ -1,16 +1,16 @@
-$NetBSD: patch-src_include_R__ext_Error.h,v 1.4 2026/01/03 09:17:26 mef Exp $
+$NetBSD: patch-src_include_R__ext_Error.h,v 1.5 2026/02/16 23:44:02 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

Added files:

Index: pkgsrc/math/R/patches/patch-src_library_grDevices_src_devPS.c
diff -u /dev/null pkgsrc/math/R/patches/patch-src_library_grDevices_src_devPS.c:1.1
--- /dev/null   Mon Feb 16 23:44:03 2026
+++ pkgsrc/math/R/patches/patch-src_library_grDevices_src_devPS.c       Mon Feb 16 23:44:02 2026
@@ -0,0 +1,18 @@
+$NetBSD: patch-src_library_grDevices_src_devPS.c,v 1.1 2026/02/16 23:44:02 mef Exp $
+
+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