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