Provides a header only, C++11 interface to R's C interface. Compared
2024-01-20 11:22:46 by Makoto Fujiwara | Files touched by this commit (2) |
Log message:
(lang/R-cpp11) Updated 0.4.3 to 0.4.7
# cpp11 0.4.7
* Internal changes requested by CRAN to fix invalid format string tokens
(@paleolimbot, #345).
# cpp11 0.4.6
* R >=3.5.0 is now required to use cpp11. This is in line with (and even goes
beyond) the tidyverse standard of supporting the previous 5 minor releases of
R. It also ensures that `R_UnwindProtect()` is available to avoid C++ memory
leaks (#332).
* `cpp11::preserved.release_all()` has been removed. This was intended to
support expert developers on R <3.5.0 when cpp11 used a global protection
list. Since cpp11 no longer uses a global protection list and requires R
>=3.5.0, it is no longer needed. As far as we can tell, no package was
actively using this (#332).
* cpp11 now creates one protection list per compilation unit, rather than one
global protection list shared across compilation units and across packages.
This greatly reduces the complexity of managing the protection list state and
should make it easier to make changes to the protection list structure in the
future without breaking packages compiled with older versions of cpp11 (#330).
* Nested calls to `cpp11::unwind_protect()` are no longer supported or
encouraged. Previously, this was something that could be done for performance
improvements, but ultimately this feature has proven to cause more problems
than it is worth and is very hard to use safely. For more information, see the
new `vignette("FAQ")` section titled "Should I call \
`cpp11::unwind_protect()`
manually?" (#327).
* The features and bug fixes from cpp11 0.4.4 have been added back in.
# cpp11 0.4.5
* On 2023-07-20, cpp11 was temporarily rolled back to 0.4.3 manually by CRAN due
to a bug in 0.4.4 which we could not immediately fix due to the cpp11
maintainer being on vacation.
# cpp11 0.4.4
* Davis Vaughan is now the maintainer.
* `as_doubles()` and `as_integers()` now propagate missing values correctly
(#265, #319).
* Fixed a performance issue related to nested `unwind_protect()` calls (#298).
* Minor performance improvements to the cpp11 protect code. (@kevinushey)
* `cpp_register()` gains an argument `extension=` governing the file extension of
the `src/cpp11` file. By default it's `.cpp`, but `.cc` is now supported
as well (#292, @MichaelChirico)
|
2023-02-18 10:21:40 by Makoto Fujiwara | Files touched by this commit (2) | |
Log message:
(lang/R-cpp11) Updated 0.4.2 to 0.4.3
# cpp11 0.4.3
* Modernized the GitHub Actions workflows and updated some internal tests to
better align with changes in those workflows and the latest version of R
(#279)
* `cpp_source()` errors on non-existent file (#261).
* `cpp_register()` is quiet by default when R is non interactive (#289).
* updated test to adapt to changes in R 4.2.1 (#290).
|
2022-04-30 16:33:39 by Makoto Fujiwara | Files touched by this commit (3) | |
Log message:
(lang/R-cpp11) Updated 0.3.1 to 0.4.2
# cpp11 0.4.2
* Romain François is now the maintainer.
# cpp11 0.4.1
* Fix crash related to unwind protect optimization (#244)
# cpp11 0.4.0
## New Features
* New opt-in message formatting with the {fmt} C++ library for
`cpp11::messages()` `cpp11::stop()` and `cpp11::warning()`. Set the
`CPP11_USE_FMT` macro to use this feature in your
package. (@sbearrows, #169, #208)
* New `as_double()` and `as_integer()` methods to coerce integers to
doubles and doubles to integers to doubles (@sbearrows, #46)
* `cpp11::matrix` iterators can now be used either row-wise or
column-wise (the default) depending on the user's choice (@alyst,
#229)
## Improvements and fixes
* Read-only matrix accessors are now marked const (#234)
* `writable::r_vector` default constructors now return a 0 length
vector when converted to `SEXP` (#166)
* Read-only `r_vector` constructors now disallow implicit construction
with named arguments (#237)
* Read-only `r_vector.attr()` methods now return const objects, so it
is a compile time error to try to assign to them (#237)
* Fixed `+` and `+=` operators of `r_vector::[const_]iterator` to
conform the *iterators* concept: `+=` updates the iterator, and `+`
returns the updated copy, while keeping the original unchanged
(@alyst, #231)
* Remove undefined behavior when constructing global `cpp11::sexp`s (#224)
* Removed redundant `.Call calls` in cpp11.cpp file (@sbearrows, #170)
* Error messages now output original file name rather than the
temporary file name (@sbearrows, #194)
* `cpp_register()` now includes `attribute_visible` in the init
function, so packages compiled with `C_VISIBILITY` will find the
init function.
* Fixed bug when running `cpp_source()` on the same file more than
once (@sbearrows, #202)
* Allow cpp11 decorators of the form `cpp11::linking_to` (@sbearrows,
#193)
* Removed internal instances of `cpp11::stop()` and replaced with C++
exceptions (@sbearrows, #203)
* Names of named lists are now resized along with the list elements
(@sbearrows, #206)
|
2021-10-26 12:51:59 by Nia Alarie | Files touched by this commit (260) |
Log message:
lang: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
The following distfiles could not be fetched (possibly fetched
conditionally?):
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo \
rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-linux-musl.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-aarch64-unknown-netbsd.tar.gz
./lang/rust-bin/distinfo \
rust-bin-1.54.0/rust-1.54.0-armv7-unknown-netbsd-eabihf.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-i686-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-sparc64-unknown-netbsd.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-apple-darwin.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-freebsd.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-gnu.tar.gz
./lang/rust-bin/distinfo rust-bin-1.54.0/rust-1.54.0-x86_64-unknown-linux-musl.tar.gz
./lang/smlnj/distinfo smlnj-110.73/boot.ppc-unix.tgz
./lang/smlnj/distinfo smlnj-110.73/boot.sparc-unix.tgz
./lang/oracle-jre8/distinfo jce_policy-8.zip
./lang/oracle-jre8/distinfo jre-8u202-linux-i586.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-linux-x64.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-macosx-x64.tar.gz
./lang/oracle-jre8/distinfo jre-8u202-solaris-x64.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-linux-i586.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-linux-x64.tar.gz
./lang/oracle-jdk8/distinfo jdk-8u202-solaris-x64.tar.gz
./lang/ghc80/distinfo ghc-7.10.3-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc80/distinfo ghc-8.0.2-boot-i386-unknown-freebsd.tar.xz
./lang/ghc80/distinfo ghc-8.0.2-boot-x86_64-unknown-freebsd.tar.xz
./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc5-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/rust/distinfo rust-1.53.0-aarch64-apple-darwin.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-aarch64_be-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-arm-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-1.53.0-i686-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust/distinfo rust-1.53.0-sparc64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-apple-darwin.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-freebsd.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-illumos.tar.gz
./lang/rust/distinfo rust-1.53.0-x86_64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-apple-darwin.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-aarch64_be-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-arm-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-std-1.53.0-armv7-unknown-linux-gnueabihf.tar.gz
./lang/rust/distinfo rust-std-1.53.0-i686-unknown-linux-gnu.tar.gz
./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-powerpc-unknown-netbsd90.tar.gz
./lang/rust/distinfo rust-std-1.53.0-sparc64-unknown-netbsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-apple-darwin.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-freebsd.tar.gz
./lang/rust/distinfo rust-std-1.53.0-x86_64-unknown-linux-gnu.tar.gz
./lang/smlnj11072/distinfo smlnj-110.72/boot.ppc-unix.tgz
./lang/smlnj11072/distinfo smlnj-110.72/boot.sparc-unix.tgz
./lang/ghc84/distinfo ghc-8.0.2-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz
./lang/ghc84/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz
./lang/ghc7/distinfo ghc-7.10.3-boot-i386-unknown-freebsd.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-i386-unknown-solaris2.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-powerpc-apple-darwin.tar.xz
./lang/ghc7/distinfo ghc-7.6.3-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc90/distinfo ghc-8.10.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-aarch64-unknown-netbsd.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-i386-unknown-freebsd.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-apple-darwin.tar.xz
./lang/ghc90/distinfo ghc-9.0.1-boot-x86_64-unknown-freebsd.tar.xz
./lang/openjdk8/distinfo \
openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz
./lang/openjdk8/distinfo \
openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz
./lang/openjdk8/distinfo \
openjdk7/bootstrap-jdk-1.8.181-netbsd-8-aarch64-20180917.tar.xz
./lang/openjdk8/distinfo \
openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.6-amd64-20140719.tar.bz2
./lang/openjdk8/distinfo \
openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2
./lang/go-bin/distinfo go1.14.2.darwin-amd64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-386.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-amd64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-arm64.tar.gz
./lang/go-bin/distinfo go1.14.2.linux-armv6l.tar.gz
./lang/go-bin/distinfo go1.14.2.netbsd-arm64.tar.gz
./lang/go-bin/distinfo go1.16beta1.darwin-arm64.tar.gz
./lang/gcc6-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.dragonfly.41.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc6-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/ghc810/distinfo ghc-8.8.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/sun-jre7/distinfo UnlimitedJCEPolicyJDK7.zip
./lang/sun-jre7/distinfo jre-7u80-linux-x64.tar.gz
./lang/sun-jre7/distinfo jre-7u80-solaris-i586.tar.gz
./lang/sun-jre7/distinfo jre-7u80-solaris-x64.tar.gz
./lang/ghc88/distinfo ghc-8.4.4-boot-i386-unknown-freebsd.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-apple-darwin.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-freebsd.tar.xz
./lang/ghc88/distinfo ghc-8.4.4-boot-x86_64-unknown-solaris2.tar.xz
./lang/gcc-aux/distinfo ada-bootstrap.i386.dragonfly.36A.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.100B.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.i386.freebsd.84.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.100B.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.freebsd.84.tar.bz2
./lang/gcc-aux/distinfo ada-bootstrap.x86_64.solaris.511.tar.bz2
./lang/gcc6/distinfo ecj-4.5.jar
./lang/openjdk11/distinfo bootstrap-jdk-1.11.0.7.10-netbsd-9-aarch64-20200509.tar.xz
./lang/sun-jdk7/distinfo jdk-7u80-linux-x64.tar.gz
./lang/sun-jdk7/distinfo jdk-7u80-solaris-i586.tar.gz
./lang/sun-jdk7/distinfo jdk-7u80-solaris-x64.tar.gz
|
2021-10-07 16:21:17 by Nia Alarie | Files touched by this commit (282) |
Log message:
lang: Remove SHA1 hashes for distfiles
|
2021-09-08 16:50:28 by Makoto Fujiwara | Files touched by this commit (1) |
Log message:
(lang/R-cpp11) Add buildlink3.mk
|
2021-06-13 00:01:40 by Makoto Fujiwara | Files touched by this commit (2) |
Log message:
(lang/R-cpp) Updated 0.2.4 to 0.2.7
# cpp11 0.2.7
* Fix a transient memory leak for functions that return values from
`cpp11::unwind_protect()` and `cpp11::safe` (#154)
# cpp11 0.2.6
* `cpp_register()` now uses symbols exclusively in the `.Call()`
interface. This allows it to be more robust in interactive use with
the pkgload package.
# cpp11 0.2.5
* `cpp_source()` gains a `cxx_std` argument to control which C++
standard is used. This allows you to use code from `C++14` and
later standards with cpp_source(). (#100)
* The cpp11 knitr engine now allows you to set the `cxx_std` chunk
option to control the C++ standard used.
* `cpp_source()` now has much more informative error messages when
compilation fails (#125, #139)
* `cpp_source()` now uses a unique name for the DLL, so works when run
multiple times on the same source file on Windows (#143)
* `writable::list_of<T>` now supports modification of vectors as
intended (#131).
* Errors when running
`tools::package_native_routine_registration_skeleton()` are no
longer swallowed (#134)
* `cpp_source()` can now accept a source file called `cpp11.cpp`
(#133)
* `named_arg` now explicitly protect their values, avoiding protection
issues when using large
inputs. [tidyverse/readr#1145](https://github.com/tidyverse/readr/issues/1145)
* `r_string(std::string)` now uses `Rf_mkCharLenCE()` instead of
`Rf_mkChar()`, which avoids the performance cost of checking the
string length.
* Writable vector classes now properly set their lengths as intended
when being copied to a read only class (#128).
|
2021-01-01 06:09:26 by Makoto Fujiwara | Files touched by this commit (3) |
Log message:
(lang/R-cpp11) import R-cpp11-0.2.4
Provides a header only, C++11 interface to R's C interface. Compared
to other approaches 'cpp11' strives to be safe against long jumps from
the C API as well as C++ exceptions, conform to normal R function
semantics and supports interaction with 'ALTREP' vectors.
|