pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
(math/R) updated 4.3.2 to 4.3.3, see COMMIT_MSG
Module Name: pkgsrc-wip
Committed By: Makoto Fujiwara <makoto%ki.nu@localhost>
Pushed By: mef
Date: Sat Mar 9 12:54:03 2024 +0900
Changeset: 25e70b02979b2df37d283c46f0c2520b47d19a59
Modified Files:
R/COMMIT_MSG
R/Makefile
R/PLIST
R/distinfo
R/patches/patch-configure.ac
R/patches/patch-m4_R.m4
Added Files:
R/patches/patch-src_include_R__ext_Error.h
R/patches/patch-src_library_stats_src_Makefile.in
R/patches/patch-src_main_character.c
Removed Files:
R/TODO
Log Message:
(math/R) updated 4.3.2 to 4.3.3, see COMMIT_MSG
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=25e70b02979b2df37d283c46f0c2520b47d19a59
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
R/COMMIT_MSG | 1026 ++-------------------
R/Makefile | 30 +-
R/PLIST | 14 +-
R/TODO | 95 --
R/distinfo | 15 +-
R/patches/patch-configure.ac | 22 +-
R/patches/patch-m4_R.m4 | 16 +-
R/patches/patch-src_include_R__ext_Error.h | 16 +
R/patches/patch-src_library_stats_src_Makefile.in | 14 +
R/patches/patch-src_main_character.c | 24 +
10 files changed, 164 insertions(+), 1108 deletions(-)
diffs:
diff --git a/R/COMMIT_MSG b/R/COMMIT_MSG
index 9e4b8aa228..c1d3aa16df 100644
--- a/R/COMMIT_MSG
+++ b/R/COMMIT_MSG
@@ -1,987 +1,99 @@
-(math/R) Updated 4.2.3 to 4.3.2 with remedy for strtoi
+(math/R) Updated 4.3.2 to 4.3.3
-- pkgsrc side change
- strtoi function now conflicts with NetBSD function. Renaming R' side one
- into strtoiR (All the strings for now) by SUBST, thus including do_strtoi.
-
-- upstream info
-CHANGES IN R 4.3.2:
+CHANGES IN R 4.3.3:
NEW FEATURES:
- * The default initialization of the '"repos"' option from the
- 'repositories' file at startup can be skipped by setting
- environment variable 'R_REPOSITORIES' to 'NULL' such that
- 'getOption("repos")' is empty if not set elsewhere.
-
- * 'qr.X()' is now an implicit S4 generic in 'methods'.
-
- * 'iconv(to = "ASCII//TRANSLIT")' is emulated using
- substitution on platforms which do not support it (notably
- Alpine Linux). This should give a human-readable conversion
- in ASCII on all platforms (rather than 'NA_character_').
-
- * 'trans3d()' gains options 'continuous' and 'verbose'
- addressing the problem of possible "wrap around" when
- projecting too long curves, as reported by Achim Zeileis in
- PR#18537.
-
- * 'tools::showNonASCII()' has been rewritten to work better on
- macOS 14 (which has a changed implementation of 'iconv()').
-
- * 'tiff(type = "quartz")' (the default on macOS) now warns if
- 'compression' is specified: it continues to be ignored.
-
- INSTALLATION on a UNIX-ALIKE:
-
- * There is some support for building with Intel's LLVM-based
- compilers on 'x86_64' Linux, such as (C) 'icx', (C++) 'ipcx'
- and (Fortran) 'ifx' from oneAPI 2023.x.y.
-
- * There is support for using LLVM's 'flang-new' as the Fortran
- compiler from LLVM 16.0.x (preferably 17.0.0 or later).
-
- UTILITIES:
-
- * 'R CMD check' reports the use of the Fortran 90 random
- number generator 'RANDOM_NUMBER()' and the subroutines to
- initialize it.
-
- 'Writing R Extensions' has example code to use R's RNGs from
- Fortran.
-
- BUG FIXES:
-
- * 'substr(x, n, L) <- cc' now works (more) correctly for
- multibyte UTF-8 strings 'x' when 'L > nchar(x)', thanks to a
- report and patch by 'Architect 95'.
-
- * 'contrib.url(character())' now returns 0-length
- 'character()' as documented, which also avoids spurious
- warnings from 'available.packages()' et al. in the edge case
- of an empty vector of repository URLs.
-
- * 'readChar(., 4e8)' no longer fails, thanks to Kodi Arfer's
- report (PR#18557).
-
- * 'lapply(<list>, as.data.frame)' no longer warns falsely for
- some base vector components.
-
- * Communication between parent and child processes in the
- 'multicore' part of 'parallel' could fail on platforms that
- do not support an arbitrarily large payload in system
- functions 'read()'/'write()' on pipes (seen on macOS where a
- restriction to 'INT_MAX' bytes is documented, without doing
- a partial read unlike Linux). The payload is now split into
- 1Gb chunks to avoid that problem. (PR#18571)
-
- * 'qqplot(x,y, conf.level=.)' gives better confidence bounds
- when 'length(x) != length(y)', thanks to Alexander Ploner's
- report and patch proposal (PR#18557).
-
- * 'norm(<0-length>, "2")' now gives zero instead of an error,
- as all the other norm types, thanks to Mikael Jagan's
- PR#18542.
-
- * Build-stage Rd macros \packageAuthor and \packageMaintainer
- now process 'Authors@R', fixing 'NA' results when the
- package 'DESCRIPTION' omits 'Author' and 'Maintainer'
- fields.
-
- * Formatting and printing complex numbers could give things
- like '0.1683-0i' because of rounding error: '-0i' is now
- replaced by '+0i'.
-
- * 'postscript()' refused to accept a 'title' comment
- containing the letter "W" (PR#18599).
-
- * 'isoreg(c(1,Inf))' signals an error instead of segfaulting,
- fixing PR#18603.
-
- * 'tiff(type = "Xlib")' was only outputting the last page of
- multi-page plots.
-
- * 'tools::latexToUtf8()' again knows about '\~{n}' and other
- letters with tilde, fixing a regression in R 4.3.0, and
- about '\^{i}' as an alternative to '\^{\i}' (similarly with
- other accents). Furthermore, LaTeX codes for accented I
- letters are now correctly converted, also fixing related
- mistakes in 'tools::encoded_text_to_latex()'.
-
- * 'tar(*, tar = "internal")' no longer creates out-of-spec tar
- files in the very rare case of user or group names longer
- than 32 bytes, fixing PR#17871 with thanks to Ivan Krylov.
-
- * When using the "internal" timezone datetime code, adding a
- fraction of a second no longer adds one second, fixing
- PR#16856 from a patch by Ivan Krylov.
-
- * 'tools::checkRd()' no longer produces spurious notes about
- "unnecessary braces" from multi-line Rd results of \Sexpr
- macros.
-
-CHANGES IN R 4.3.1:
-
- C-LEVEL FACILITIES:
-
- * The C-level API version of R's 'integrate()', 'Rdqags()' in
- 'Applic.h', now returns the correct number of integrand
- evaluations 'neval', fixing PR#18515 reported and diagnosed
- by Stephen Wade.
-
- * The C prototypes for LAPACK calls 'dspgv' and 'dtptrs' in
- 'R_exts/Lapack.h' had one too many and one too few character
- length arguments - but this has not caused any known issues.
- To get the corrected prototypes, include
-
- #include <Rconfig.h> // for PR18534fixed
- #ifdef PR18534fixed
- # define usePR18534fix 1
- #endif
- #include <R_exts/Lapack.h>
-
- in your C/C++ code (PR#18534).
-
- INSTALLATION:
-
- * Many of the checks of esoteric Internet operations and those
- using unreliable external sites have been moved to a new
- target that is not run by default and primarily intended for
- the core developers. To run them use
-
- cd tests; make test-Internet-dev
-
- BUG FIXES:
-
- * '.S3methods()', typically called from 'methods()', again
- marks methods from package 'base' as 'visible'.
-
- Also, the visibility of non-'base' methods is again
- determined by the method's presence in 'search()'.
-
- * 'tools::Rdiff()' is now more robust against invalid strings,
- fixing installation tests on Windows without Rtools
- installed (PR#18530).
-
- * Fix (new) bug in 'hcl.colors(2, *)', by Achim Zeileis
- (PR#18523).
-
- * 'head(., <illegal>)' and 'tail(..)' now produce more useful
- '"Error in ...."' error messages, fixing PR#18362.
-
- * Package code syntax on Windows is checked in UTF-8 when
- UTF-8 is the native encoding.
-
- * 'na.contiguous(x)' now also returns the first run, when it
- is at the beginning and there is a later one of the same
- length; reported to R-devel, including a fix, by Georgi
- Boshnakov. Further, by default, it modifies only an
- existing 'attr(*,"tsp")' but otherwise no longer sets one.
-
- * 'chol(<not pos.def>, pivot = <T|F>)' now gives a correct
- error or warning message (depending on 'pivot'), thanks to
- Mikael Jagan's (PR#18541).
-
-CHANGES IN R 4.3.0:
-
- SIGNIFICANT USER-VISIBLE CHANGES:
-
- * Calling '&&' or '||' with LHS or (if evaluated) RHS of
- length greater than one is now always an error, with a
- report of the form
-
- 'length = 4' in coercion to 'logical(1)'
-
- Environment variable '_R_CHECK_LENGTH_1_LOGIC2_' no longer
- has any effect.
-
- NEW FEATURES:
-
- * The included BLAS sources have been updated to those shipped
- with LAPACK version 3.10.1. (This caused some
- platform-dependent changes to package check output.) And
- then to the sources from LAPACK version 3.11.0 (with changes
- only to double complex subroutines).
-
- * The included LAPACK sources have been updated to include the
- four Fortran 90 routines rather than their Fortran 77
- predecessors. This may give some different signs in SVDs or
- eigendecompositions.. (This completes the transition to
- LAPACK 3.10.x begun in R 4.2.0.)
-
- * The LAPACK sources have been updated to version 3.11.0. (No
- new subroutines have been added, so this almost entirely bug
- fixes: Those fixes do affect some computations with 'NaN's,
- including R's 'NA'.)
-
- * The parser now signals _classederrors, notably in case of
- the pipe operator '|>'. The error object and message now
- give line and column numbers, mostly as proposed and
- provided by Duncan Murdoch in PR#18328.
-
- * 'toeplitz()' is now generalized for asymmetric cases, with a
- 'toeplitz2()' variant.
-
- * 'xy.coords()' and 'xyz.coords()' and consequently, e.g.,
- 'plot(x,y, log = "y")' now signal a _classedwarning about
- negative values of y (where 'log(.)' is 'NA'). Such a
- warning can be specifically suppressed or caught otherwise.
-
- * Regular expression functions now check more thoroughly
- whether their inputs are valid strings (in their encoding,
- e.g. in UTF-8).
-
- * The performance of 'grep()', 'sub()', 'gsub()' and
- 'strsplit()' has been improved, particularly with 'perl =
- TRUE' and 'fixed = TRUE'. Use of 'useBytes = TRUE' for
- performance reasons should no longer be needed and is
- discouraged: it may lead to incorrect results.
-
- * 'apropos()' gains an argument 'dot_internals' which is used
- by the completion ('help(rcompgen)') engine to also see
- 'base' internals such as '.POSIXct()'.
-
- * Support in 'tools::Rdiff()' for comparing uncompressed PDF
- files is further reduced - see its help page.
-
- * 'qqplot(x, y, ...)' gains 'conf.level' and 'conf.args'
- arguments for computing and plotting a confidence band for
- the treatment function transforming the distribution of 'x'
- into the distribution of 'y ' (Switzer, 1976, _Biometrika_).
- Contributed by Torsten Hothorn.
-
- * Performance of 'package_dependencies()' has been improved
- for cases when the number of dependencies is large.
-
- * Strings newly created by 'gsub()', 'sub()' and 'strsplit()',
- when any of the inputs is marked as '"bytes"', are also
- marked as '"bytes"'. This reduces the risk of creating
- invalid strings and accidental substitution of bytes deemed
- invalid.
-
- * Support for 'readLines(encoding = "bytes")' has been added
- to allow processing special text files byte-by-byte, without
- creating invalid strings.
-
- * 'iconv(from = "")' now takes into account any declared
- encoding of the input elements and uses it in preference to
- the native encoding. This reduces the risk of accidental
- creation of invalid strings, particularly when different
- elements of the input have different encoding (including
- '"bytes"').
-
- * Package repositories in 'getOption("repos")' are now
- initialized from the 'repositories' file when 'utils' is
- loaded (if not already set, e.g., in '.Rprofile'). (From a
- report and patch proposal by Gabriel Becker in PR#18405.)
-
- * 'compactPDF()' gets a 'verbose' option.
-
- * 'type.convert()' and hence 'read.table()' get new option
- 'tryLogical = TRUE' with back compatible default. When set
- to false, converts '"F"' or '"T"' columns to character.
-
- * Added new unit prefixes '"R"' and '"Q"' for abbreviating
- (unrealistically large) sizes beyond 10^{27} in 'standard =
- "SI"', thanks to Henrik Bengtsson's PR#18435.
-
- * 'as.data.frame()''s default method now also works fine with
- atomic objects inheriting from classes such as '"roman"',
- '"octmode"' and '"hexmode"', such fulfilling the wish of
- PR#18421, by Benjamin Feakins.
-
- * The 'as.data.frame.vector()' utility now errors for
- wrong-length 'row.names'. It warned for almost six years,
- with "Will be an error!".
-
- * 'sessionInfo()' now also contains 'La_version()' and reports
- codepage and timezone when relevant, in both 'print()' and
- 'toLatex()' methods which also get new option 'tzone' for
- displaying timezone information when 'locale = FALSE'.
-
- * New function 'R_compiled_by()' reports the C and Fortran
- compilers used to build R, if known.
-
- * 'predict(<lm>, newdata = *)' no longer unnecessarily creates
- an 'offset' of all '0's.
-
- * 'solve()' for complex inputs now uses argument 'tol' and by
- default checks for 'computational singularity' (as it long
- has done for numeric inputs).
-
- * 'predict(<rank-deficient lm>, newdata=*)' now obeys a new
- argument 'rankdeficient', with new default '"warnif"',
- warning only if there are non-estimable cases in 'newdata'.
- Other options include 'rankdeficient = "NA"', predicting
- 'NA' for non-estimable 'newdata' cases. This addresses
- PR#15072 by Russ Lenth and is based on his original proposal
- and discussions in PR#16158 also by David Firth and Elin
- Waring. Still somewhat experimental.
-
- * 'Rgui' console implementation now works better with the
- 'NVDA' screen reader when the full blinking cursor is
- selected. The underlying improvements in cursor handling
- may help also other screen readers on Windows.
-
- * The drop-field control in GraphApp can now be left with the
- TAB key and all controls can be navigated in the reverse
- order using the Shift+TAB key, improving accessibility of
- the 'Rgui' configuration editor.
-
- * 'qnorm(<very large negative>, log.p=TRUE)' is now fully
- accurate (instead of to "only" minimally five digits).
-
- * 'demo(error.catching)' now also shows off 'withWarnings()'
- and 'tryCatchWEMs()'.
-
- * As an experimental feature the placeholder '_' can now also
- be used in the 'rhs' of a forward pipe '|>' expression as
- the first argument in an extraction call, such as '_$coef'.
- More generally, it can be used as the head of a chain of
- extractions, such as '_$coef[[2]]'.
-
- * Spaces in the environment variable used to choose the R
- session's temporary directory ('TMPDIR', 'TMP' and 'TEMP'
- are tried in turn) are now fatal. (On Windows the 'short
- path' version of the path is tried and used if that does not
- contain a space.)
-
- * 'all.equal.numeric()' gets a new optional switch 'giveErr'
- to return the numeric error as attribute. Relatedly,
- 'stopifnot(all.equal<some>(a, b, ..))' is as "smart" now, as
- 'stopifnot(all.equal(....))' has been already, thus allowing
- customized 'all.equal<Some>()' wrappers.
-
- * R on Windows is now able to work with path names longer than
- 260 characters when these are enabled in the system
- (requires at least Windows 10 version 1607). Packages
- should be updated to work with long paths as well, instead
- of assuming 'PATH_MAX' to be the maximum length. Custom
- front-ends and applications embedding R need to update their
- manifests if they wish to allow this feature. See
- <https://blog.r-project.org/2023/03/07/path-length-limit-on-windows>
- for more information.
-
- * 'Object not found' and 'Missing argument' errors now give a
- more accurate error context. Patch provided by Lionel Henry
- in PR#18241.
-
- * The '@' operator is now an S3 generic. Based on
- contributions by Tomasz Kalinowski in PR#18482.
-
- * New generic 'chooseOpsMethod()' provides a mechanism for
- objects to resolve cases where two suitable methods are
- found for an Ops Group Generic. This supports experimenting
- with alternative object systems. Based on contributions by
- Tomasz Kalinowski in PR#18484.
-
- * 'inherits(x, what)' now accepts values other than a simple
- character vector for argument 'what'. A new generic,
- 'nameOfClass()', is called to resolve the class name from
- 'what'. This supports experimenting with alternative object
- systems. Based on contributions by Tomasz Kalinowski in
- PR#18485.
-
- * Detection of BLAS/LAPACK in use ('sessionInfo()') with
- FlexiBLAS now reports the current backend.
-
- * The '"data.frame"' method for 'subset()' now warns about
- extraneous arguments, typically catching the use of '='
- instead of '==' in the 'subset' expression.
-
- * Calling 'a:b' when numeric 'a' or 'b' is longer than one may
- now be made into an error by setting environment variable
- '_R_CHECK_LENGTH_COLON_' to a true value, along the proposal
- in PR#18419 by Henrik Bengtsson.
-
- * 'density(x, weights = *)' now warns if automatic bandwidth
- selection happens without using 'weights'; new optional
- 'warnWbw' may suppress the warning. Prompted by Christoph
- Dalitz' PR#18490 and its discussants.
-
- * 'rm(list = *)' is faster and more readable thanks to Kevin
- Ushey's PR#18492.
-
- * The 'plot.lm()' function no longer produces a normal Q-Q
- plot for GLMs. Instead it plots a half-normal Q-Q plot of
- the absolute value of the standardized deviance residuals.
-
- * The 'print()' method for class '"summary.glm"' no longer
- shows summary statistics for the deviance residuals by
- default. Its optional argument 'show.residuals' can be used
- to show them if required.
-
- * The 'tapply()' function now accepts a data frame as its 'X'
- argument, and allows 'INDEX' to be a formula in that case.
- 'by.data.frame()' similarly allows 'INDICES' to be a
- formula.
-
- * The performance of 'df[j] <- value' (including for missing
- 'j') and 'write.table(df)' has been improved for data frames
- 'df' with a large number of columns. (Thanks to Gabriel
- Becker's PR#18500, PR#18503 and discussants, prompted by a
- report from Toby Dylan Hocking on the R-devel mailing list.)
-
- * The matrix multiply operator '%*%' is now an S3 generic,
- belonging to new group generic 'matrixOps'. From Tomasz
- Kalinowski's contribution in PR#18483.
-
- * New function 'array2DF()' to convert arrays to data frames,
- particularly useful for the list arrays created by
- 'tapply()'.
-
- DATES and TIMES:
-
- * On platforms where (non-UTC) datetimes before 1902 (or
- before 1900 as with system functions on recent macOS) are
- guessed by extrapolating time zones from 1902-2037, there is
- a warning at the first use of extrapolation in a session.
- (As all time zones post 2037 are extrapolation, we do not
- warn on those.)
-
- * (Platforms using '--with-internal-tzone', including Windows
- and by default macOS). How years are printed in dates or
- date-times can be controlled by environment variable
- 'R_PAD_YEARS_BY_ZERO'. The default remains to pad to 4
- digits by zeroes, but setting value 'no' gives no padding
- (as used by default by 'glibc').
-
- * 'strftime()' tries harder to determine the offset for the
- '"%z"' format, and succeeds on the mainstream R platforms.
-
- * 'strftime()' has a limit of 2048 bytes on the string
- produced - attempting to exceed this is an error.
- (Previously it silently truncated at 255 bytes.)
-
- * 'sessionInfo()' records (and by default prints) the system
- time zone as part of the locale information. Also, the
- source (system/internal) of the date-time conversion and
- printing functions.
-
- * Objects of class '"POSIXlt"' created in this version of R
- always have 11 components: component 'zone' is always set,
- and component 'gmtoff' is set for times in UTC and usually
- set on the (almost all) platforms which have C-level
- support, otherwise is 'NA'.
-
- * There are comprehensive validity checks on the structure of
- objects of class '"POSIXlt"' when converting (including
- formatting and printing). (This avoids mis-conversions of
- hand-crafted objects.)
-
- * There is some support for using the native date-time
- routines on macOS: this is only viable on recent versions
- (e.g. 12.6 and 13) and does get wrong some historical
- changes (before 1900, during WWII). Use of
- '--with-internal-tzone' remains the default.
-
- * 'as.POSIXct(<numeric>)' and 'as.POSIXlt(.)' (without
- specifying 'origin') now work. So does
- 'as.Date(<numeric>)'.
-
- * 'as.Date.POSIXct(., tz)' now treats several 'tz' values,
- notably '"GMT"' as equivalent to '"UTC"', proposed and
- improved by Michael Chirico and Joshua Ulrich in PR#17674.
-
- * Experimental 'balancePOSIXlt()' utility allows using
- "ragged" and or out-of-range '"POSIXlt"' objects more
- correctly, e.g., in subsetting and subassignments. Such
- objects are now documented.
-
- More experimentally, a '"POSIXlt"' object may have an
- attribute '"balanced"' indicating if it is known to be
- filled or fully balanced.
-
- * Functions 'axis.Date()' and 'axis.POSIXct()' are rewritten
- to gain better default tick locations and better default
- formats by using 'prettyDate()'. Thanks to Swetlana
- Herbrandt.
-
- * The mapping of Windows' names for time zones to IANA's
- 'Olson' names has been updated. When ICU is available (it
- is by default), it is used to get a mapping for the current
- region set in Windows. This can be overridden by setting
- environment variable 'TZ' to the desired Olson name - see
- 'OlsonNames()' for those currently available.
-
- GRAPHICS:
-
- * The graphics engine version, 'R_GE_version', has been bumped
- to '16' and so packages that provide graphics devices should
- be reinstalled.
-
- * The 'grDevices' and 'grid' packages have new functions for
- rendering typeset glyphs, primarily:
- 'grDevices::glyphInfo()' and 'grid::grid.glyph()'.
-
- Rendering of typeset glyphs is only supported so far on the
- Cairo-based graphics devices and on the 'pdf()' and
- 'quartz()' devices.
-
- * The defined behaviour for '"clear"' and '"source"'
- compositing operators (via 'grid::grid.group()') has been
- changed (to align better with simple interpretation of
- original Porter-Duff definitions).
-
- * Support for gradients, patterns, clipping paths, masks,
- groups, compositing operators, and affine transformations
- has been added to the 'quartz()' device.
-
- INSTALLATION on a UNIX-ALIKE:
-
- * A system installation of generic LAPACK 3.10.0 or later will
- be preferred to the version in the R sources.
-
- 'configure' option '--with-lapack=no' (equivalently
- '--without-lapack') forces compilation of the internal
- LAPACK sources.
-
- If '--with-lapack' is not specified, a system 'liblapack' is
- looked for and used if it reports version 3.10.0 or later
- and does not contain BLAS routines.
-
- Packages using LAPACK will need to be reinstalled if this
- changes to using an external library.
-
- * On 'aarch64' Linux platforms using GCC, 'configure' now
- defaults to '-fPIC' (instead of '-fpic'), as desired in
- PR#18326.
-
- * 'configure' now checks conversion of datetimes between
- 'POSIXlt' and 'POSIXct' around year 2020. Failure (which
- has been seen on platforms missing 'tzdata') is fatal.
-
- * If 'configure' option '--with-valgrind-instrumentation' is
- given value '1' or '2', option
- '--with-system-valgrind-headers' is now the default and
- ignored (with a warning). It is highly recommended that the
- system headers are installed alongside 'valgrind': they are
- part of its packaging on some Linux distributions and
- packaged separately (e.g. in the 'valgrind-devel' RPM) on
- others. 'configure' will give a warning if they are not
- found.
-
- The system headers will be required in a future release of R
- to build with 'valgrind' instrumentation.
-
- * 'libcurl' 8.x is now accepted by 'configure': despite a
- change in major version number it changes neither API nor
- ABI.
-
- INSTALLATION on WINDOWS:
-
- * The makefiles and installer scripts for Windows have been
- tailored to 'Rtools43', an update of the 'Rtools42'
- toolchain. It is based on 'gcc' 12 and newer versions of
- MinGW-W64, binutils and libraries. At this time R-devel can
- still be built using Rtools42 without changes, but when
- R-devel is installed via the installer, it will by default
- look for Rtools43.
-
- * Old make targets 'rsync-extsoft' and 32-bit ones that are no
- longer needed have been removed.
-
- * Default builds (including for packages) no longer select
- C99. Thus the C standard used is the default for the
- compiler, which for the toolchain in 'Rtools43' is C17.
- (This is consistent with Unix builds.)
-
- PACKAGE INSTALLATION:
-
- * The default C++ standard has been changed to C++17 where
- available (which it is on all currently checked platforms):
- if not C++14 or C++11 is used if available otherwise C++ is
- not supported.
-
- * 'USE_FC_LEN_T' is the default: this uses the correct
- (compiler-dependent) prototypes for Fortran BLAS/LAPACK
- routines called from C/C++, and requires adjustment of many
- such calls - see 'Writing R Extensions' <c2><a7>6.6.1.
-
- * There is initial support for C++23 as several compilers are
- now supporting '-std=c++23' or '-std=c++2b' or similar. As
- for C++20, there no additional 'configure' checks for C++23
- features beyond a check that the compiler reports a
- '__cplusplus' value greater than that in the C++20 standard.
- C++ feature tests should be used.
-
- * There is support for a package to indicate the version of
- the C standard which should be used to compile it, and for
- the installing user to specify this. In most cases R
- defaults to the C compiler's default standard which is C17
- (a `bug-fix' of C11) - earlier versions of R or compilers
- may have defaulted to C99.
-
- Current options are:
-
- USE_C17 Use a standard that is at most C17. The intention
- is to allow legacy packages to still be installed when
- later C standards become the default, including packages
- using new keywords as identifiers or with K&R-style
- function declarations. This will use C17 if available,
- falling back to C11.
-
- USE_C90 Use the C90 (aka C89) standard. (As that standard
- did not require compilers to identify that version, all
- we can verify is that the compiler does not claim to be
- using a later standard. It may accept C99 features -
- for example 'clang' accepts // to make comments.)
-
- USE_C99 Use the C99 standard. This should be rarely needed -
- it avoids the few new features of C11/C17 which can be
- useful if a package assumes them if C17 is specified and
- they are not implemented.
-
- USE_C23 Use C23 (or in future, later). Compiler/library
- support for C23 is still being implemented, but LLVM
- clang from 15.0.0 and the upcoming GCC 13 have quite
- extensive support.
-
- These can be specified as part of the 'SystemRequirements'
- field in the package's 'DESCRIPTION' file or _viaoptions
- '--use-C17' and so on of 'R CMD INSTALL' and 'R CMD SHLIB'.
-
- For further details see "Writing R Extensions" <c2><a7>1.2.5.
-
- * (Windows) A 'src/Makefile.ucrt' or 'src/Makefile.win' file
- is now included after 'R_HOME/etcR_ARCH/Makeconf' and so no
- longer needs to include that file itself. Installation of a
- package with such a file now uses a site 'Makevars' file in
- the same way as a package with a 'src/Makevars.win' file
- would.
-
- * 'configure' is now passed crucial variables such as 'CC' and
- 'CFLAGS' in its environment, as many packages were not
- setting them (as documented in 'Writing R Extensions' <c2><a7>1.2).
-
- This has most effect where 'configure' is used to compile
- parts of the package - most often by 'cmake' or 'libtool'
- which obfuscate the actual compile commands used.
-
- Also used for 'configure.win' and 'configure.ucrt' on
- Windows.
-
- FORTRAN FLAGS:
-
- * The flag '-fno-optimize-sibling-calls' is no longer forced
- for 'gfortran' 7 and later. It should no longer be needed
- now using 'hidden' character-length arguments when calling
- BLAS/LAPACK routines from C/C++ is the default even for
- packages. (Unless perhaps packages call Fortran code from
- C/C++ without using R's headers and without allowing for
- these arguments.)
-
- C-LEVEL FACILITIES:
-
- * The deprecated S-compatibility macros 'DOUBLE_*' in
- 'R_ext/Constants.h' (included by 'R.h') have been removed.
-
- * The deprecated legacy typedefs of 'Sint' and 'Sfloat' in
- header 'R.h' are no longer defined, and that header no
- longer includes header 'limits.h' from C nor 'climits' from
- C++.
-
- * New macro 'CAD5R()' is provided in 'Rinternals.h' and used
- in a few places in the R sources.
-
- * ALTREP now supports 'VECSXP' vectors. Contributed by Gabor
- Csardi in PR#17620.
-
- * The 'Rcomplex' definition (in header 'R_ext/Complex.h') has
- been extended to prevent possible mis-compilation when
- interfacing with Fortran (PR#18430). The new definition
- causes compiler warnings with static initializers such as
- '{1, 2}', which can be changed to '{.r=1, .i=2}'.
-
- Using the new definition from C++ depends on compiler
- extensions supporting C features that have not been
- incorporated into the C++ standards but are available in
- 'g++' and 'clang++': this may result in C++ compiler
- warnings but these have been worked around for recent
- versions of common compilers (GCC, Apple/LLVM clang, Intel).
-
- It is intended to change the inclusion of header
- 'R_ext/Complex.h' by other R headers, so C/C++ code files
- which make use of 'Rcomplex' should include that header
- explicitly.
-
- UTILITIES:
-
- * 'R CMD check' does more checking of package '.Rd' files,
- warning about invalid email addresses and (some) invalid
- URIs and noting empty '\item' labels in description lists.
-
- * 'R CMD check' now also reports problems when reading package
- news in md (file 'NEWS.md') and (optionally) plain text
- (file 'NEWS') formats.
-
- * '_R_CHECK_TIMINGS_' defaults to a value from the environment
- even for 'R CMD check --as-cran'; this allows for
- exceptionally fast or slow platforms.
-
- It now applies to checking PDF and HTML versions of the
- manuals, and 'checking CRAN incoming feasibility'.
-
- * 'R CMD check' can optionally (but included in '--as-cran')
- check whether HTML math rendering _viaKaTeX works for the
- package '.Rd' files.
-
- * Non-interactive debugger invocations can be trapped by
- setting the environment variable
- '_R_CHECK_BROWSER_NONINTERACTIVE_' to a true value. This is
- enabled by 'R CMD check --as-cran' to detect the use of
- leftover 'browser()' statements in the package.
-
- * The use of 'sprintf' and 'vsprintf' from C/C++ has been
- deprecated in macOS 13 and is a known security risk. 'R CMD
- check' now reports (on all platforms) if their use is found
- in compiled code: replace by 'snprintf' or 'vsnprintf'
- respectively. [*NB:* whether such calls get compiled into
- the package is platform-dependent.]
-
- * Where recorded at installation, 'R CMD check' reports the C
- and Fortran compilers used to build R.
-
- It reports the OS in use (if known, as given by 'osVersion')
- as well as that R was built for.
-
- It notes if a C++ standard was specified which is older than
- the current default: many packages have used C++11 to mean
- 'not C++98' - as C++11 is the minimum supported since R
- 4.0.0, that specification can probably be removed.
-
- * 'R CMD INSTALL' reports the compilers (and on macOS, the
- SDK) used, and this is copied to the output of 'R CMD
- check'.
-
- Where a C++ standard is specified, it is reported.
-
- * 'R CMD check''s 'checking compilation flags in Makevars' has
- been relaxed to accept the use of flags such as '-std=f2008'
- in 'PKG_FFLAGS'.
-
- * 'tools::buildVignettes()' has a new argument 'skip', which
- is used by 'R CMD check' to skip (and note) vignettes with
- unavailable '\VignetteDepends' (PR#18318).
-
- * New generic '.AtNames()' added to enable class-specific
- completions after '@'. The formerly internal function
- 'findMatches()' is now exported, mainly for use in methods
- for '.DollarNames()' and '.AtNames()'.
+ * 'iconv()' now fixes up variant encoding names such as
+ '"utf8"' case-insensitively.
DEPRECATED AND DEFUNCT:
- * 'default.stringsAsFactors()' is defunct.
-
- * Calling 'as.data.frame.<class>()' directly (for 12 atomic
- classes) is going to be formally deprecated, currently
- activated by setting the environment variable
- '_R_CHECK_AS_DATA_FRAME_EXPLICIT_METHOD_' to non-empty,
- which also happens in 'R CMD check --as-cran'.
+ * The legacy 'encoding = "MacRoman"' is deprecated in 'pdf()'
+ and 'postscript()': support was incomplete in earlier
+ versions of R.
BUG FIXES:
- * Hashed 'environment's with sizes less than 5 can now grow.
- (Reported to R-devel by Duncan Garmonsway.)
-
- * 'as.character(<Rd>, deparse = TRUE)' failed to re-escape
- curly braces in LaTeX-like text. (Reported by Hadley
- Wickham in PR#18324.)
-
- * 'library()' now passes its 'lib.loc' argument when requiring
- 'Depends' packages; reported (with fix) in PR#18331 by
- Mikael Jagan.
-
- * 'R CMD Stangle': improved message about 'Output' files.
-
- * 'head(x, n)' and 'tail(x, n)' now signal an error if 'n' is
- not numeric, instead of incidentally "working" sometimes
- returning all of 'x'. Reported and discussed by Colin Fay,
- in PR#18357.
-
- * The '"lm"' method for 'summary()' now gives the correct
- F-statistic when the model contains an offset. Reported in
- PR#18008.
-
- * 'C()' and '`contrasts<-`()' now preserve factor level names
- when given a function object (as opposed a function name
- which did preserve names). Reported in PR#17616.
-
- * 'c(a = 1, 2)[[]]' no longer matches '2' but rather signals a
- _classederror. Reported and analysed by Davis Vaughan in
- PR#18367, a duplicate of PR#18004, by Jan Meis et al. For
- consistency, 'NULL[[]]' is also erroneous now. 'x[[]] <- v'
- gives an error of the same class '"MissingSubscriptError"'.
-
- * The 'relist()' function of 'utils' now supports 'NULL'
- elements in the skeleton (PR#15854).
-
- * 'ordered(levels = *)' (missing 'x') now works analogously to
- 'factor(, ordered=TRUE)'; reported (with fix) by Achim
- Zeileis in PR#18389.
-
- * User-defined Rd macro definitions can now span multiple
- lines, thanks to a patch from Duncan Murdoch. Previously,
- the Rd parser silently ignored everything after the first
- line.
-
- * Plain-text help ('tools::Rd2txt()') now preserves an initial
- blank line for text following description list items.
-
- * 'tools::Rd2HTML()' and 'tools::Rd2latex()' no longer split
- \arguments and \value lists at Rd comments.
-
- * 'tools::Rd2latex()' now correctly handles optional text
- outside \items of argument lists as well as bracketed text
- at the beginning of sections, e.g., \value{[NULL]}.
-
- * 'as.character(<POSIXt>)' now behaves more in line with the
- methods for atomic vectors such as numbers, and is no longer
- influenced by 'options()'. Ditto for
- 'as.character(<Date>)'. The 'as.character()' method gets
- arguments 'digits' and 'OutDec' with defaults _not_
- depending on 'options()'. Use of 'as.character(*, format =
- .)' now warns.
-
- * Similarly, the 'as.character.hexmode()' and '*.octmode()'
- methods also behave as 'good citizen' methods and back
- compatibility option 'keepStr = TRUE'.
-
- * The 'as.POSIXlt(<POSIXlt>)' and 'as.POSIXct(<POSIXct>)'
- default methods now do obey their 'tz' argument, also in
- this case.
-
- * 'as.POSIXlt(<Date>)' now does apply a 'tz' (time zone)
- argument, as does 'as.POSIXct()'; partly suggested by Roland
- Fu<c3><9f> on the R-devel mailing list.
-
- * 'as.Date.POSIXlt(x)' now also works when the list components
- are of unequal length, aka "partially filled" or "ragged".
-
- * 'expand.model.frame()' looked up variables in the wrong
- environment when applied to models fitted without 'data'.
- Reported in PR#18414.
-
- * 'time()' now (also) uses the 'ts.eps = getOption("ts.eps")'
- argument and thus by default rounds values very close to the
- start (or end) of a year. Based on a proposal by Andre<c3><af> V.
- Kostyrka on R-help.
-
- * Printing of a 'factanal()' result with just one factor and
- 'sort = TRUE' now works regularly, fixing PR#17863 by
- Timothy Bates, thanks to the 'R Contributors' working group.
-
- * Printing 0-length objects of class '"factor"', '"roman"',
- '"hexmode"', '"octmode"', '"person"', '"bibentry"', or
- '"citation"' now prints something better, one of which fixes
- PR#18422, reported by Benjamin Feakins.
-
- * 'Sys.timezone()' queries 'timedatectl' only if 'systemd' is
- loaded; addressing a report by Jan Gorecki in PR#17421.
-
- * The formula method of 'cor.test()' had scoping problems when
- 'environment(formula)' was not the calling environment;
- reported with a patch proposal by Mao Kobayashi in PR#18439.
-
- * 'attach()' of an environment with active bindings now
- preserves the active bindings. Reported by Kevin Ushey in
- PR#18425.
-
- * BLAS detection now works also with system-provided libraries
- not available as regular files. This fixes detection of the
- Accelerate framework on macOS since Big Sur. Reported by
- David Novgorodsky.
-
- * 'download.file()' gives a helpful error message in case of
- an invalid 'download.file.method' option, thanks to Colin
- Fay's report in PR#18455.
-
- * Sporadic crashes of 'Rterm' when using completion have been
- fixed.
-
- * 'Rprof()' is now more reliable. A livelock in thread
- initialization with too short sampling interval has been
- fixed on macOS. A deadlock in using the C runtime has been
- fixed on Windows. A potential deadlock has been prevented
- on Unix.
+ * Arguments are now properly forwarded to methods on S4
+ generics with ... in the middle of their formal arguments.
+ This was broken for the case when a method introduced an
+ argument but did not include ... in its own formals. Thanks
+ to Herv<c3><a9> Pag<c3><a8>s for the report PR#18538.
- * Cursor placement in 'Rgui' now works even after a
- fixed-width font is selected.
+ * Some invalid 'file' arguments to 'pictex()', 'postscript()'
+ and 'xfig()' opened a file called 'NA' rather than throw an
+ error. These included 'postscript(NULL)' (which some people
+ expected to work like 'pdf(NULL)').
- * Mandatory options ('options()') are now set on startup so
- that saving and restoring them always works (PR#18372).
+ * Passing 'filename = NA' to 'svg()', 'cairo_pdf()',
+ 'cairo_ps()' or the Cairo-based bitmap devices opened a file
+ called 'NA': it now throws an error.
- * Package installation, 'R CMD INSTALL' or
- 'install.packages(*)', now parses each of the '<pkg>/R/*.R'
- files individually instead of first concatenating and then
- 'parse()'ing the large resulting file. This allows parser
- or syntax errors to be diagnosed with correct file names and
- line numbers, thanks to Simon Dedman's report and Bill
- Dunlap's patch in PR#17859.
+ * 'quartz(file = NA)' opened a file called 'NA', including
+ when used as a Quartz-based bitmap device. It now gives an
+ error.
- This _doesrequire syntactically self contained R source
- files now, fixing another inadvertent bug.
+ * 'rank(<long vector>)' now works, fixing PR#18617, thanks to
+ Ilia Kats.
- * 'predict.lm(<model with offset>)' now finds the offset in
- the correct environment, thanks to Andr<c3><a9> Gillibert's report
- and patch in PR#18456.
+ * 'seq.int()' did not adequately check its 'length.out'
+ argument.
- * 'getInitial(<formula>)' now finds the 'selfStart' model in
- the correct environment. (Reported by Ivan Krylov in
- PR#18368.)
+ * 'match(<POSIXct>, .)' is correct again for differing time
+ zones, ditto for '"POSIXlt"', fixing PR#18618 reported by
+ Bastian Klein.
- * Fix for possible segfault when using recently-added graphics
- features, such as gradients, clipping paths, masks, and
- groups with 'pdf(file=NULL)'.
+ * 'drop.terms(*, dropx = <0-length>)' now works, fixing
+ PR#18563 as proposed by Mikael Jagan.
- * 'class(m) <- class(m)' no longer changes a matrix 'm' by
- adding a class _attribute_.
+ * 'drop.terms(*)' keeps ' + offset(.)' terms when it should,
+ PR#18565, and 'drop.terms()' no longer makes up a response,
+ PR#18566, fixing both bugs thanks to Mikael Jagan.
- * 'packageDate(pkg)' now only warns once if there is no 'pkg'.
+ * 'getS3method("t", "test")' no longer finds the 't.test()'
+ function, fixing PR#18627.
- * When 'ts()' creates a multivariate time series, '"mts"', it
- also inherits from '"array"' now, and 'is.mts()' is
- documented _andstricter.
+ * 'pdf()' and 'postscript()' support for the documented Adobe
+ encodings '"Greek"' and '"Cyrilllic"' was missing (although
+ the corresponding Windows' codepages could be used).
- * 'Rd2txt()' now preserves line breaks of \verb Rd content and
- from duplicated \cr. The former also fixes the rendering of
- verbatim output from Rd \Sexpr in plain-text help.
+ * Computations of glyph metric information for 'pdf()' and
+ 'postscript()' did not take into account that
+ transliteration could replace one character by two or more
+ (only seen on macOS 14) and typically warned that the
+ information was not known.
- * 'uniroot(f, interval)' should no longer wrongly converge
- _outsidethe interval in some cases where 'abs(f(x)) ==
- Inf' for an 'x' at the interval boundary, thanks to posts by
- Ben Bolker and Serguei Sokol on R-devel.
+ * 'rank(x)' no longer overflows during integer addition, when
+ computing rank average for largish but not-yet long vector
+ 'x', fixing PR#18630, thanks to Ilia Kats.
- * Vectorized alpha handling in palette functions such as in
- 'gray()', 'rainbow()', or 'hcl.colors()' works correctly
- now, thanks to Achim Zeileis' report and patch in PR#18476.
+ * 'list.files()' on Windows now returns also files with names
+ longer that 260 bytes (the Windows limit is 260 characters).
+ Previously, some file names particularly with 'East Asian'
+ characters were omitted.
- * Formatting and 'print()'ing of 'bibentry' objects has
- dropped the deprecated 'citation.bibtex.max' argument, such
- that the 'bibtex' argument's default for 'print.bibentry()'
- depends directly on the 'citation.bibtex.max' option,
- whereas in 'format.bibentry()' the option no longer applies.
+ * 'cov2cor(<0 x 0>)' now works, fixing PR#18423 thanks to
+ Mikael Jagan and Elin Waring.
- * Attempting to use a character string naming a foreign
- function entry point in a foreign function call in a package
- will now signal an error if the packages has called
- 'R_forceSymbols' to specify that symbols must be used.
+ * 'cov2cor(<negative diagonal>)' and similar now give one
+ warning instead of two, with better wording, fixing PR#18424
+ thanks to Mikael Jagan.
- * An error in 'table()' could permanently set
- 'options(warn=2)' promoting all subsequent warnings to
- errors.
+ * 'tools'':: startDynamicHelp()' now ensures 'port' is in
+ proper range, fixing PR#18645.
- * The 'sigma()' function gave misleading results for binary
- GLMs. A new method for objects of class '"glm"' returns the
- square root of the estimate of the dispersion parameter
- using the same calculation as 'summary.glm()'.
+ * 'pbeta(x, a,b)' is correct now for 'x'=0 or 1 in the
+ boundary cases where 'a' or 'b' or both are 0, fixing
+ PR#18672 thanks to Michael Fay.
- * 'bs()' and 'ns()' in the (typical) case of automatic knot
- construction, when some of the supposedly inner knots
- coincide with boundary knots, now moves them inside (with a
- warning), building on PR#18442 by Ben Bolker.
+ * 'pmatch(x, table)' for large 'table', also called for data
+ frame row selection, 'dfrm[nm, ]', is now interruptible,
+ fixing PR#18656.
- * 'R CMD' on Windows now skips the site profile with
- '--no-site-file' and '--vanilla' even when 'R_PROFILE' is
- set (PR#18512, from Kevin Ushey).
+ * 'predict(<rank-deficient lm>, newdata=*)' fix computing of
+ 'nbasis', see Russ Lenth's comment 29 in PR#16158.
+ * Added a work-around for a bug in macOS 14.3.1 and higher
+ which prevents R plots in the Quartz Cocoa device from
+ updating on screen.
diff --git a/R/Makefile b/R/Makefile
index 371256bfa0..1e5d1bdee2 100644
--- a/R/Makefile
+++ b/R/Makefile
@@ -1,10 +1,10 @@
-# $NetBSD: Makefile,v 1.240 2023/06/06 12:41:50 riastradh Exp $
+# $NetBSD: Makefile,v 1.251 2024/02/15 07:48:50 markd Exp $
#
# If updating this package, please try to ensure PLIST.Darwin is kept in sync
# to avoid unnecessarily breaking macOS users.
#
-DISTNAME= R-4.3.2
+DISTNAME= R-4.3.3
CATEGORIES= math
MASTER_SITES= ${MASTER_SITE_R_CRAN:=base/R-4/}
@@ -111,7 +111,7 @@ CONFIGURE_ARGS.Darwin+= --disable-openmp
# https://trac.macports.org/ticket/66095
# Darwin 21 corresponds to macOS 12
.if ${OPSYS} == "Darwin" && ${OS_VERSION:R} > 21
-MAKE_ENV.Darwin+= MACOSX_DEPLOYMENT_TARGET="12.0"
+MAKE_ENV.Darwin+= MACOSX_DEPLOYMENT_TARGET="12.0"
.endif
# R_PAPERSIZE can be: A4, Letter, Legal, Executive
@@ -159,30 +159,6 @@ SUBST_STAGE.fixwrap= post-build
SUBST_FILES.fixwrap= libtool
SUBST_SED.fixwrap= -e "s,${WRAPPER_BINDIR}/libtool,${PKG_LIBTOOL},g"
-SUBST_CLASSES+= strtoi
-SUBST_STAGE.strtoi= pre-configure
-SUBST_MESSAGE.strtoi= Renaming strtoi to strtoiR to avoid conflict
-SUBST_FILES.strtoi= \
- tests/reg-tests-1d.R \
- doc/NEWS.3 \
- doc/html/NEWS.2.html \
- doc/html/NEWS.3.html \
- doc/NEWS.2 \
- doc/NEWS.3.Rd \
- doc/NEWS.2.Rd \
- src/include/Internal.h \
- src/library/base/man/hexmode.Rd \
- src/library/base/man/octmode.Rd \
- src/library/base/man/strtoi.Rd \
- src/library/base/R/octhex.R \
- src/library/base/R/version.R \
- src/library/base/R/character.R \
- src/gnuwin32/Rdll.hide \
- src/main/names.c \
- src/main/character.c
-
-SUBST_SED.strtoi= -e "s,strtoi,strtoiR,g"
-
BUILDLINK_API_DEPENDS.bzip2+= bzip2>=1.0.5
# failed to convert strong functions and variables: Invalid type identifier
diff --git a/R/PLIST b/R/PLIST
index a657327cbd..30fc58047e 100644
--- a/R/PLIST
+++ b/R/PLIST
@@ -334,10 +334,18 @@ lib/R/library/Matrix/help/AnIndex
lib/R/library/Matrix/help/Matrix.rdb
lib/R/library/Matrix/help/Matrix.rdx
lib/R/library/Matrix/help/aliases.rds
+lib/R/library/Matrix/help/macros/local.Rd
lib/R/library/Matrix/help/paths.rds
lib/R/library/Matrix/html/00Index.html
lib/R/library/Matrix/html/R.css
lib/R/library/Matrix/include/Matrix.h
+lib/R/library/Matrix/include/Matrix/Matrix.h
+lib/R/library/Matrix/include/Matrix/alloca.h
+lib/R/library/Matrix/include/Matrix/cholmod-utils.h
+lib/R/library/Matrix/include/Matrix/cholmod.h
+lib/R/library/Matrix/include/Matrix/remap.h
+lib/R/library/Matrix/include/Matrix/stubs.c
+lib/R/library/Matrix/include/Matrix/version.h
lib/R/library/Matrix/include/Matrix_stubs.c
lib/R/library/Matrix/include/cholmod.h
lib/R/library/Matrix/libs/Matrix.so
@@ -879,8 +887,6 @@ lib/R/library/mgcv/po/en@quot/LC_MESSAGES/R-mgcv.mo
lib/R/library/mgcv/po/en@quot/LC_MESSAGES/mgcv.mo
lib/R/library/mgcv/po/fr/LC_MESSAGES/R-mgcv.mo
lib/R/library/mgcv/po/fr/LC_MESSAGES/mgcv.mo
-lib/R/library/mgcv/po/it/LC_MESSAGES/R-mgcv.mo
-lib/R/library/mgcv/po/it/LC_MESSAGES/mgcv.mo
lib/R/library/mgcv/po/ko/LC_MESSAGES/R-mgcv.mo
lib/R/library/mgcv/po/ko/LC_MESSAGES/mgcv.mo
lib/R/library/mgcv/po/pl/LC_MESSAGES/R-mgcv.mo
@@ -1646,8 +1652,8 @@ lib/R/library/utils/iconvlist
lib/R/library/utils/libs/utils.so
lib/R/library/utils/misc/exDIF.csv
lib/R/library/utils/misc/exDIF.dif
-${PLIST.x11}lib/R/modules/R_X11.so
-${PLIST.x11}lib/R/modules/R_de.so
+lib/R/modules/R_X11.so
+lib/R/modules/R_de.so
lib/R/modules/internet.so
lib/R/modules/lapack.so
lib/R/share/R/REMOVE.R
diff --git a/R/TODO b/R/TODO
deleted file mode 100644
index 18bdef0011..0000000000
--- a/R/TODO
+++ /dev/null
@@ -1,95 +0,0 @@
-strtoi issue
-It seems strtoi in NetBSD and R became inconsistent.
-FreeBSD does not have strtoi defined yet.
-
-
-gcc -I../../src/extra -I. -I../../src/include -I../../src/include -I/usr/pkg/include -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -I../../src/nmath -DHAVE_CONFIG_H -fopenmp -fpic -O2 -pthread -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/harfbuzz -I/usr/include/krb5 -c character.c -o character.o
-character.c:1752:12: error: conflicting types for 'strtoi'
- 1752 | static int strtoi(SEXP s, int base)
- | ^~~~~~
-In file included from ../../src/include/Defn.h:907,
- from character.c:85:
-/usr/include/inttypes.h:81:10: note: previous declaration of 'strtoi' was here
- 81 | intmax_t strtoi(const char * __restrict, char ** __restrict, int,
- | ^~~~~~
-
-
-For the test,
-if the NetBSD definition of following changed (which can not be
-done anyway), R-4.3.2 is packaged fine
-
---- /usr/include/inttypes.h.orig 2023-10-06 23:48:08.000000000 +0900
-+++ /usr/include/inttypes.h 2024-01-05 10:28:39.954745456 +0900
-@@ -78,8 +78,10 @@
-
-
- #if defined(_NETBSD_SOURCE)
-+/*
- intmax_t strtoi(const char * __restrict, char ** __restrict, int,
- intmax_t, intmax_t, int *);
-+*/
- uintmax_t strtou(const char * __restrict, char ** __restrict, int,
- uintmax_t, uintmax_t, int *);
-
-
-Shall we rename strtoi in R to strtoiR for the moment ?
-
-
-h97@makoto 11:10:52/240105(..wip/R)% (cd /tmp/wip/R/work/R-4.3.2/; find . -exec grep strtoi '{}' /dev/null \;)
-./tests/reg-tests-1d.R:## strtoi("") :
-./tests/reg-tests-1d.R:stopifnot(is.na(strtoi("")),
-./tests/reg-tests-1d.R: is.na(strtoi("", 2L)))
-./doc/NEWS.3: • strtoi("", base) now gives NA on all platforms, following its
-./doc/html/NEWS.2.html:<li><p> New function <code>strtoi()</code>, a wrapper for the C function
-./doc/html/NEWS.3.html:<li> <p><code>strtoi("", base)</code> now gives <code>NA</code> on all platforms,
-./doc/NEWS.2: • New function strtoi(), a wrapper for the C function strtol.
-./doc/NEWS.3.Rd: \item \code{strtoi("", base)} now gives \code{NA} on all platforms,
-./doc/NEWS.2.Rd: \item New function \code{strtoi()}, a wrapper for the C function
-./src/include/Internal.h:SEXP do_strtoi(SEXP,SEXP,SEXP,SEXP);
-./src/library/base/man/hexmode.Rd: converting integers to hex, \code{\link{strtoi}} to convert hex
-./src/library/base/man/octmode.Rd: converting integers to octal, \code{\link{strtoi}} to convert octal
-./src/library/base/man/strtoi.Rd:% File src/library/base/man/strtoi.Rd
-./src/library/base/man/strtoi.Rd:\name{strtoi}
-./src/library/base/man/strtoi.Rd:\alias{strtoi}
-./src/library/base/man/strtoi.Rd:\usage{strtoi(x, base = 0L)}
-./src/library/base/man/strtoi.Rd:strtoi(c("0xff", "077", "123"))
-./src/library/base/man/strtoi.Rd:strtoi(c("ffff", "FFFF"), 16L)
-./src/library/base/man/strtoi.Rd:strtoi(c("177", "377"), 8L)
-./src/library/base/R/octhex.R: z <- strtoi(x, 8L)
-./src/library/base/R/octhex.R: z <- strtoi(x, 16L)
-./src/library/base/R/version.R: strtoi(substring(elt, first, last), 8L)
-./src/library/base/R/character.R:strtoi <-
-./src/library/base/R/character.R: .Internal(strtoi(as.character(x), as.integer(base)))
-./src/gnuwin32/Rdll.hide: do_strtoi
-./src/main/names.c:{"strtoi", do_strtoi, 0, 11, 2, {PP_FUNCALL, PREC_FN, 0}},
-./src/main/character.c.orig:static int strtoi(SEXP s, int base)
-./src/main/character.c.orig:attribute_hidden SEXP do_strtoi(SEXP call, SEXP op, SEXP args, SEXP env)
-./src/main/character.c.orig: INTEGER(ans)[i] = strtoi(STRING_ELT(x, i), base);
-./src/main/character.c:static int strtoi(SEXP s, int base)
-./src/main/character.c:attribute_hidden SEXP do_strtoi(SEXP call, SEXP op, SEXP args, SEXP env)
-./src/main/character.c: INTEGER(ans)[i] = strtoi(STRING_ELT(x, i), base);
-h97@makoto 11:11:02/240105(..wip/R)%
-
-
-
-h97@makoto 12:19:10/240105(..wip/R)% (cd /tmp/wip/R/work/R-4.3.2/; grep -lr strtoi .)
-./tests/reg-tests-1d.R
-./doc/NEWS.3
-./doc/html/NEWS.2.html
-./doc/html/NEWS.3.html
-./doc/NEWS.2
-./doc/NEWS.3.Rd
-./doc/NEWS.2.Rd
-./src/include/Internal.h
-./src/library/base/man/hexmode.Rd
-./src/library/base/man/octmode.Rd
-./src/library/base/man/strtoi.Rd
-./src/library/base/R/octhex.R
-./src/library/base/R/version.R
-./src/library/base/R/character.R
-./src/gnuwin32/Rdll.hide
-./src/main/names.c
-./src/main/character.c.orig
-./src/main/character.c
-
-But this way ask all of R application/plug-in's to rename strtoi to strtoiR
diff --git a/R/distinfo b/R/distinfo
index 3bee8218bd..8d0de8b44a 100644
--- a/R/distinfo
+++ b/R/distinfo
@@ -1,7 +1,10 @@
-$NetBSD: distinfo,v 1.97 2023/03/22 13:53:29 wiz Exp $
+$NetBSD: distinfo,v 1.103 2024/02/15 07:48:50 markd Exp $
-BLAKE2s (R-4.3.2.tar.gz) = a79080d65222ec6698175c037390e666385567b1e123acf6ce1e33ee3f122005
-SHA512 (R-4.3.2.tar.gz) = 125114357f20d4a3248aee86727768d1dc15e07e44353f8a68fe2ef1fedae508e85d944301d00c0edd61e8b012b0b3cdcde53ac60be903713f96542d83ad5b1d
-Size (R-4.3.2.tar.gz) = 35039225 bytes
-SHA1 (patch-configure.ac) = 56a92d2d75ecdad45c06ca05ebc260af83a5a0ea
-SHA1 (patch-m4_R.m4) = 76a280dc2aeea2eb0e473ae770f636d00314d68a
+BLAKE2s (R-4.3.3.tar.gz) = 59e9ead4142a600fdb24f91f957aa89dee798284410d4b6fa17c77cb1eacacd4
+SHA512 (R-4.3.3.tar.gz) = 26291590d935ea5678771cdcaea013a6c030897eb762b0204e42b34b0f1d33aac1ec933f36caa18d2a31a057a4456bf629222e4f5679f24bc48a7a764b1aedbe
+Size (R-4.3.3.tar.gz) = 35861202 bytes
+SHA1 (patch-configure.ac) = 3cd063c424b7b9674f434d49c771b76dde73ac5c
+SHA1 (patch-m4_R.m4) = 48a1d38b5505cbb87bd2c156f262680156c07a02
+SHA1 (patch-src_include_R__ext_Error.h) = bc55a8bba6bf931e3f6794577e63bfafdfc740cf
+SHA1 (patch-src_library_stats_src_Makefile.in) = 4eb93292858392792c37a706399e2cef91821bbe
+SHA1 (patch-src_main_character.c) = c1be2cae404ecbdd547343b70e9d072e9e1d5549
diff --git a/R/patches/patch-configure.ac b/R/patches/patch-configure.ac
index dcfac9548d..c4b94ee299 100644
--- a/R/patches/patch-configure.ac
+++ b/R/patches/patch-configure.ac
@@ -1,10 +1,10 @@
-$NetBSD: patch-configure.ac,v 1.6 2022/03/23 21:16:44 wiz Exp $
+$NetBSD: patch-configure.ac,v 1.8 2024/01/08 23:13:03 mef Exp $
Do not include system paths in R_LD_LIBRARY_PATH.
NetBSD, FreeBSD, DragonFly, Darwin and Solaris fixes
---- configure.ac.orig 2023-05-02 07:15:02.000000000 +0900
-+++ configure.ac 2023-07-06 20:38:40.845664139 +0900
+--- configure.ac.orig 2019-06-08 08:57:35.738653089 +0000
++++ configure.ac
@@ -33,6 +33,7 @@ m4_define([R_VERSION],
AC_INIT([R],[R_VERSION],[https://bugs.r-project.org],[R],[https://www.r-project.org])
AC_CONFIG_SRCDIR([src/include/Defn.h])
@@ -13,7 +13,7 @@ NetBSD, FreeBSD, DragonFly, Darwin and Solaris fixes
### * Information on the package.
-@@ -311,7 +312,7 @@ AC_ARG_ENABLE([BLAS-shlib],
+@@ -290,7 +291,7 @@ AC_ARG_ENABLE([BLAS-shlib],
## As from R 3.2.0 split up -L... and -lR
if test "${want_R_shlib}" = yes; then
@@ -22,7 +22,7 @@ NetBSD, FreeBSD, DragonFly, Darwin and Solaris fixes
LIBR1=-lR
else
LIBR0=
-@@ -894,7 +895,7 @@ case "${host_os}" in
+@@ -709,7 +710,7 @@ case "${host_os}" in
## Not so bad in later versions of Darwin,
## where DYLD_FALLBACK_LIBRARY_PATH is used (see below).
;;
@@ -31,7 +31,7 @@ NetBSD, FreeBSD, DragonFly, Darwin and Solaris fixes
for arg in ${LDFLAGS}; do
case "${arg}" in
-L*)
-@@ -1530,7 +1531,7 @@ rm -f libconftest${DYLIB_EXT} conftest.c
+@@ -1276,7 +1277,7 @@ rm -f libconftest${DYLIB_EXT} conftest.c
fpicflags="${darwin_pic}"
shlib_cxxldflags="${shlib_ldflags}"
;;
@@ -40,7 +40,7 @@ NetBSD, FreeBSD, DragonFly, Darwin and Solaris fixes
## maybe this needs to depend on the compiler:
## -export-dynamic used to work, but does not with clang.
## Seems FreeBSD has used the GNU linker since at least 3.0 (Oct 1998)
-@@ -1619,6 +1620,12 @@ dnl ;;
+@@ -1365,6 +1366,12 @@ dnl ;;
;;
netbsd*)
## See the comments about FreeBSD
@@ -53,7 +53,7 @@ NetBSD, FreeBSD, DragonFly, Darwin and Solaris fixes
if ${CPP} - -dM < /dev/null | grep __ELF__ >/dev/null ; then
main_ldflags="-Wl,--export-dynamic"
shlib_ldflags="-shared"
-@@ -1655,22 +1662,22 @@ dnl ;;
+@@ -1401,22 +1408,22 @@ dnl ;;
solaris*)
## SPARC has only an 8k global object table, 1024 entries on 64-bit,
## so need PIC not pic. They are the same on other Solaris platforms.
@@ -80,7 +80,7 @@ NetBSD, FreeBSD, DragonFly, Darwin and Solaris fixes
cpicflags="-KPIC"
if test "`basename ${CXX}`" = "CC" ; then
## Forte version 7 needs -lCstd: Forte 6 does not.
-@@ -1749,7 +1756,7 @@ fi
+@@ -1495,7 +1502,7 @@ fi
: ${CXXPICFLAGS="${cxxpicflags}"}
if test -n "${CXX}" -a -z "${CXXPICFLAGS}"; then
case "${host_os}" in
@@ -89,7 +89,7 @@ NetBSD, FreeBSD, DragonFly, Darwin and Solaris fixes
;;
*)
warn_cxxpicflags="I could not determine CXXPICFLAGS."
-@@ -1809,8 +1816,10 @@ dnl ;;
+@@ -1555,8 +1562,10 @@ dnl ;;
MAJR_VERSION=`echo "${PACKAGE_VERSION}" | sed -e "s/[[\.]][[1-9]]$/.0/"`
LIBR_LDFLAGS="-install_name libR.dylib -compatibility_version ${MAJR_VERSION} -current_version ${PACKAGE_VERSION} -headerpad_max_install_names"
RLAPACK_LDFLAGS="-install_name libRlapack.dylib -compatibility_version ${MAJR_VERSION} -current_version ${PACKAGE_VERSION} -headerpad_max_install_names"
@@ -101,7 +101,7 @@ NetBSD, FreeBSD, DragonFly, Darwin and Solaris fixes
;;
dnl hpux*)
dnl ## Needs to avoid embedding a relative path ../../../bin.
-@@ -2803,7 +2812,7 @@ case "${host_os}" in
+@@ -2482,7 +2491,7 @@ case "${host_os}" in
r_ld_library_defaults="/usr/lib64:/lib64:/usr/lib:/lib"
;;
solaris*)
diff --git a/R/patches/patch-m4_R.m4 b/R/patches/patch-m4_R.m4
index 97f87e7141..c209a5e1d8 100644
--- a/R/patches/patch-m4_R.m4
+++ b/R/patches/patch-m4_R.m4
@@ -1,10 +1,10 @@
-$NetBSD: patch-m4_R.m4,v 1.2 2023/03/22 13:53:29 wiz Exp $
+$NetBSD: patch-m4_R.m4,v 1.5 2024/01/08 23:15:39 mef Exp $
Ensure tests for clog & co. fail, not just emit warning
---- m4/R.m4.orig 2023-04-05 07:15:01.000000000 +0900
-+++ m4/R.m4 2023-07-06 20:34:53.656339598 +0900
-@@ -225,7 +225,7 @@ if test -z "${texi2any_version_maj}" \
+--- m4/R.m4.orig 2023-07-30 07:15:01.000000000 +0900
++++ m4/R.m4 2024-01-09 08:02:14.228733733 +0900
+@@ -226,7 +226,7 @@ if test -z "${texi2any_version_maj}" \
elif test ${texi2any_version_maj} -gt 5; then
r_cv_prog_texi2any_v5=yes
elif test ${texi2any_version_maj} -lt 5 \
@@ -13,7 +13,7 @@ Ensure tests for clog & co. fail, not just emit warning
r_cv_prog_texi2any_v5=no
else
r_cv_prog_texi2any_v5=yes
-@@ -904,6 +904,9 @@ dnl Yes we need to double quote this ...
+@@ -905,6 +905,9 @@ dnl Yes we need to double quote this ...
extern void F77_SYMBOL(cftest)(int *a, int *b, double *x, double *y);
@@ -23,7 +23,7 @@ Ensure tests for clog & co. fail, not just emit warning
int main () {
int a[3] = {17, 237, 2000000000}, b[2], res = 0;
double x[3] = {3.14159265, 123.456789, 2.3e34}, z[3];
-@@ -999,6 +1002,9 @@ typedef union {
+@@ -1000,6 +1003,9 @@ typedef union {
extern void F77_SYMBOL(cftest)(Rcomplex *x);
@@ -33,7 +33,7 @@ Ensure tests for clog & co. fail, not just emit warning
int main () {
Rcomplex z[3];
-@@ -3857,9 +3863,9 @@ R_CHECK_FUNCS([cabs carg cexp clog csqrt
+@@ -3858,9 +3864,9 @@ R_CHECK_FUNCS([cabs carg cexp clog csqrt
AC_DEFUN([R_CHECK_DECL],
[AS_VAR_PUSHDEF([ac_Symbol], [ac_cv_have_decl_$1])dnl
AC_CACHE_CHECK([whether $1 exists and is declared], ac_Symbol,
@@ -46,7 +46,7 @@ Ensure tests for clog & co. fail, not just emit warning
#endif
])],
[AS_VAR_SET(ac_Symbol, yes)],
-@@ -4630,9 +4636,9 @@ AC_CACHE_CHECK([if libcurl is >= 7.28.0]
+@@ -4682,9 +4688,9 @@ AC_CACHE_CHECK([if libcurl is >= 7.28.0]
int main(void)
{
#ifdef LIBCURL_VERSION_MAJOR
diff --git a/R/patches/patch-src_include_R__ext_Error.h b/R/patches/patch-src_include_R__ext_Error.h
new file mode 100644
index 0000000000..490c32f358
--- /dev/null
+++ b/R/patches/patch-src_include_R__ext_Error.h
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_include_R__ext_Error.h,v 1.1 2024/03/05 16:12:33 jperkin Exp $
+
+Fix building with C++.
+
+--- src/include/R_ext/Error.h.orig 2024-03-05 16:09:06.557665563 +0000
++++ src/include/R_ext/Error.h
+@@ -35,7 +35,8 @@ extern "C" {
+ * In C11 there is _Noreturn * (or noreturn in header <stdnoreturn.h>).
+ */
+ #if defined NORET
+-#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202301L)
++#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202301L) || \
++ (defined(__cplusplus) && __cplusplus >= 201103L)
+ # define NORET [[noreturn]]
+ #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201102L
+ # define NORET _Noreturn
diff --git a/R/patches/patch-src_library_stats_src_Makefile.in b/R/patches/patch-src_library_stats_src_Makefile.in
new file mode 100644
index 0000000000..9847dd8424
--- /dev/null
+++ b/R/patches/patch-src_library_stats_src_Makefile.in
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_library_stats_src_Makefile.in,v 1.2 2016/07/26 04:53:33 wen Exp $
+
+${R_INCLUDE_DIR} is used in the default compiler flags.
+
+--- src/library/stats/src/Makefile.in.orig 2016-07-26 01:57:49.000000000 +0000
++++ src/library/stats/src/Makefile.in
+@@ -10,6 +10,7 @@ top_srcdir = @top_srcdir@
+ top_builddir = ../../../..
+ subdir = src/library/$(pkg)/src
+ R_HOME = $(top_builddir)
++R_INCLUDE_DIR = $(R_HOME)/include
+ ## for $(R_HOME)/etc${R_ARCH}/Makeconf
+ R_SHARE_DIR = $(R_HOME)/share
+ R_INCLUDE_DIR = $(R_HOME)/include
diff --git a/R/patches/patch-src_main_character.c b/R/patches/patch-src_main_character.c
new file mode 100644
index 0000000000..d1f5b71021
--- /dev/null
+++ b/R/patches/patch-src_main_character.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_main_character.c,v 1.7 2024/02/15 07:48:50 markd Exp $
+
+rename strtoi() to avoild conflict with NetBSD function.
+
+--- src/main/character.c.orig 2023-07-04 22:15:01.000000000 +0000
++++ src/main/character.c
+@@ -1749,7 +1749,7 @@ attribute_hidden SEXP do_strtrim(SEXP ca
+ return s;
+ }
+
+-static int strtoi(SEXP s, int base)
++static int strtoiR(SEXP s, int base)
+ {
+ if(s == NA_STRING || CHAR(s)[0] == '\0') return(NA_INTEGER);
+
+@@ -1782,7 +1782,7 @@ attribute_hidden SEXP do_strtoi(SEXP cal
+
+ PROTECT(ans = allocVector(INTSXP, n = LENGTH(x)));
+ for(i = 0; i < n; i++)
+- INTEGER(ans)[i] = strtoi(STRING_ELT(x, i), base);
++ INTEGER(ans)[i] = strtoiR(STRING_ELT(x, i), base);
+ UNPROTECT(1);
+
+ return ans;
Home |
Main Index |
Thread Index |
Old Index