./devel/R-Rcpp, Seamless R and C++ integration

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 1.0.3, Package name: R-Rcpp-1.0.3, Maintainer: pkgsrc-users

The Rcpp package provides R functions as well as a C++ library which
facilitate the integration of R and C++.

R data types (SEXP) are matched to C++ objects in a class hierarchy.
All R types are supported (vectors, functions, environment, etc ...)
and each type is mapped to a dedicated class. For example, numeric
vectors are represented as instances of the Rcpp::NumericVector class,
environments are represented as instances of Rcpp::Environment,
functions are represented as Rcpp::Function, etc ... The
"Rcpp-introduction" vignette provides a good entry point to Rcpp.

Rcpp also provides Rcpp modules, a framework that allows exposing C++
functions and classes to the R level. The "Rcpp-modules" vignette
details the current set of features of Rcpp-modules.

Rcpp includes a concept called Rcpp sugar that brings many R functions
into C++. Sugar takes advantage of lazy evaluation and expression
templates to achieve great performance while exposing a syntax that is
much nicer to use than the equivalent low-level loop code. The
"Rcpp-sugar" vignette gives an overview of the feature.

Additional documentation is available via the paper by Eddelbuettel
and Francois (2011, JSS) paper and the book by Eddelbuettel (2013,
Springer); see 'citation("Rcpp")' for details.

Required to run:

Required to build:

Master sites: (Expand)

Version history: (Expand)

CVS history: (Expand)

   2020-01-11 15:12:07 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
(devel/R-Rcpp) Updated to 1.0.3
(pkgsrc changes):
   - Add some TEST_DEPENDS, but make test does not complete yet
   - Still more TEST_DEPENDS are necessary (of which not packaged yet)

(upstream changes):
  ( https://cran.r-project.org/web/packages/Rcpp/news.html )
Changes in Rcpp version 1.0.3 (2019-11-08)

- Changes in Rcpp API:
     Compilation can be sped up by skipping Modules headers via a
     toggle RCPP_NO_MODULES (Kevin in #995 for #993).

     Compilation can be sped up by toggling RCPP_NO_RTTI which
     implies RCPP_NO_MODULES (Dirk in #998 fixing #998).

     XPtr tags are now preserved in as<> (Stephen Wade in #1003
     fixing #986, plus Dirk in #1012).

     A few more temporary allocations are now protected from
     garbage collection (Romain Francois in #1010, and Dirk in

- Changes in Rcpp Modules:
     Improved initialization via explicit Rcpp:: prefix (Riccardo
     Porreca in #980).

- Changes in Rcpp Deployment:
     A unit test for Rcpp Class exposure was updated to not fail
     under r-devel (Dirk in #1008 fixing #1006).

- Changes in Rcpp Documentation:
     The Rcpp-modules vignette received a major review and
     edit (Riccardo Porreca in #982).

     Minor whitespace alignments and edits were made in three
     vignettes following the new pinp release (Dirk).

     New badges for DOI and CRAN and BioConductor reverse
     dependencies have been added to README.md (Dirk).

     Vignettes are now included pre-made (Dirk in #1005
     addressing #1004)).

     The Rcpp FAQ has two new entries on 'no modules / no rtti'
     and exceptions across shared libraries (Dirk in #1009).
   2019-09-26 02:57:29 by Thomas Klausner | Files touched by this commit (1)
Log message:
R-Rcpp: do not check *.deb files for RELRO.
   2019-08-08 21:53:58 by Brook Milligan | Files touched by this commit (189) | Package updated
Log message:
Update all R packages to canonical form.

The canonical form [1] of an R package Makefile includes the

- The first stanza includes R_PKGNAME, R_PKGVER, PKGREVISION (as
  needed), and CATEGORIES.

- HOMEPAGE is not present but defined in math/R/Makefile.extension to
  refer to the CRAN web page describing the package.  Other relevant
  web pages are often linked from there via the URL field.

This updates all current R packages to this form, which will make
regular updates _much_ easier, especially using pkgtools/R2pkg.

[1] http://mail-index.netbsd.org/tech-pkg/2 … 21711.html
   2019-04-20 14:46:05 by Wen Heping | Files touched by this commit (2) | Package updated
Log message:
Update to 1.0.1

Upstream changes:
Changes in Rcpp version 1.0.1 (2019-03-17)

    Changes in Rcpp API:

        Subsetting is no longer limited by an integer range (William Nolan in \ 
#920 fixing #919).

        Error messages from subsetting are now more informative (Qiang and Dirk).

        Shelter increases count only on non-null objects (Dirk in #940 as \ 
suggested by Stepan Sindelar in #935).

        AttributeProxy::set() and a few related setters get Shiled<> to \ 
ensure rchk is happy (Romain in #947) fixing #946).

    Changes in Rcpp Attributes:

        A new plugin was added for C++20 (Dirk in #927)

        Fixed an issue where 'stale' symbols could become registered in \ 
RcppExports.cpp, leading to linker errors and other related issues (Kevin in \ 
#939 fixing #733 and #934).

        The wrapper macro gets an UNPROTECT to ensure rchk is happy (Romain in \ 
#949) fixing #948).

    Changes in Rcpp Documentation:

        Three small corrections were added in the 'Rcpp Quickref' vignette \ 
(Zhuoer Dong in #933 fixing #932).

        The Rcpp-modules vignette now has documentation for .factory (Ralf \ 
Stubner in #938 fixing #937).

    Changes in Rcpp Deployment:

        Travis CI again reports to CodeCov.io (Dirk and Ralf Stubner in #942 \ 
fixing #941).
   2018-12-21 09:11:23 by Wen Heping | Files touched by this commit (2) | Package updated
Log message:
Update to 1.0.0

Upstream changes:
Changes in Rcpp version 1.0.0 (2018-11-05)

    Happy tenth birtday to Rcpp, and hello release 1.0 !

    Changes in Rcpp API:

        The empty destructor for the Date class was removed to please g++-9 \ 
(prerelease) and -Wdeprecated-copy (Dirk).

        The constructor for NumericMatrix(not_init(n,k)) was corrected (Romain \ 
in #904, Dirk in #905, and also Romain in #908 fixing #907).

        Rcpp::String no longer silently drops embedded NUL bytes in strings but \ 
throws new Rcpp exception embedded_nul_in_string. (Kevin in #917 fixing #916).

    Changes in Rcpp Deployment:

        The Dockerfile for Continuous Integration sets the required test flag \ 
(for release versions) inside the container (Dirk).

        Correct the R CMD check call to skip vignettes (Dirk).

    Changes in Rcpp Attributes:

        A new [[Rcpp::init]] attribute allows function registration for running \ 
on package initialization (JJ in #903).

        Sort the files scanned for attributes in the C locale for stable output \ 
across systems (JJ in #912).

    Changes in Rcpp Documentation:

        The 'Rcpp Extending' vignette was corrected and refers to EXPOSED rather \ 
than EXPORTED (Ralf Stubner in #910).

        The 'Unit test' vignette is no longer included (Dirk in #914).

Changes in Rcpp version 0.12.19 (2018-09-20)

    Changes in Rcpp API:

        The no_init() accessor for vectors and matrices is now wrapped in \ 
Shield<>() to not trigger rchk warnings (Kirill Mueller in #893 addressing \ 

        STRICT_R_HEADERS will be defined twelve months from now; until then we \ 
protect it via RCPP_NO_STRICT_HEADERS which can then be used to avoid the \ 
definition; downstream maintainers are encouraged to update their packages as \ 
needed (Dirk in #900 beginning to address #898).

    Changes in Rcpp Attributes:

        Added [[Rcpp::init]] attribute for registering C++ functions to run \ 
during package initialization (JJ in #903 addressing #902).

    Changes in Rcpp Modules:

        Improved exposeClass functionality along with added test (Martin Lysy in \ 
#886 fixing #879).

    Changes in Rcpp Documentation:

        Two typos were fixed in the Rcpp Sugar vignette (Patrick Miller in #895).

        Several vignettes now use the collapse argument to show output in the \ 
corresponding code block.

    Changes in Rcpp Deployment:

        The old LdFlags() build helper was marked as deprecated [but removed for \ 
release] (Dirk in #887).

        Dockerfiles for continuous integration, standard deployment and 'plus \ 
sized' deployment are provided along with builds (Dirk in #894).

        Travis CI now use the rcpp/ci container for tests (Dirk in #896).

Changes in Rcpp version 0.12.18 (2018-07-21)

    Changes in Rcpp API:

        The StringProxy::operator== is now const correct (Romain in #855 fixing \ 

        The Environment::new_child() is now const (Romain in #858 fixing #854).

        Next eval codes now properly unwind (Lionel in the large and careful \ 
#859 fixing #807).

        In debugging mode, more type information is shown on abort() (Jack Wasey \ 
in #860 and #882 fixing #857).

        A new class was added which allow suspension of the RNG synchronisation \ 
to address an issue seen in RcppDE (Kevin in #862).

        Evaluation calls now happen in the base environment (which may fix an \ 
issue seen between conflicted and some BioConductor packages) (Kevin in #863 \ 
fixing #861).

        Call stack display on error can now be controlled more finely (Romain in \ 

        The new Rcpp_fast_eval is used instead of Rcpp_eval though this still \ 
requires setting RCPP_USE_UNWIND_PROTECT before including Rcpp.h (Qiang Kou in \ 
#867 closing #866).

        The Rcpp::unwindProtect() function extracts the unwinding from the \ 
Rcpp_fast_eval() function and makes it more generally available. (Lionel in #873 \ 
and #877).

        The tm_gmtoff part is skipped on AIX too (#876).

    Changes in Rcpp Attributes:

        The sourceCpp() function now evaluates R code in the correct local \ 
environment in which a function was compiled (Filip Schouwenaars in #852 and \ 
#869 fixing #851).

        Filenames are now sorted in a case-insenstive way so that the \ 
RcppExports files are more stable across locales (Jack Wasey in #878).

    Changes in Rcpp Sugar:

        The sugar functions min and max now recognise empty vectors (Dirk in \ 
#884 fixing #883).
   2018-07-28 16:40:53 by Brook Milligan | Files touched by this commit (126)
Log message:
Remove MASTER_SITES= from individual R package Makefiles.

Each R package should include ../../math/R/Makefile.extension, which also
defines MASTER_SITES.  Consequently, it is redundant for the individual
packages to do the same.  Package-specific definitions also prevent
redefining MASTER_SITES in a single common place.
   2018-05-31 04:12:25 by Wen Heping | Files touched by this commit (2) | Package updated
Log message:
Update to 0.12.17

Upstream changes:
Changes in Rcpp version 0.12.17 (2018-05-09)
Changes in Rcpp API:

The random number Generator class no longer inhreits from RNGScope (Kevin in \ 
#837 fixing #836).

A spurious parenthesis was removed to please gcc8 (Dirk fixing #841)

The optional Timer class header now undefines FALSE which was seen to have \ 
side-effects on some platforms (Romain in #847 fixing #846).

Optional StoragePolicy attributes now also work for string vectors (Romain in \ 
#850 fixing #849).

Changes in Rcpp Documentation:

A few old typesetting conventions from the prior Rnw format have been corrected \ 
(Peter Hickey in #831; Joris Meys; Dirk)

Two internal links to the introduction published in JSS have been updated to the \ 
changed filename given the newer TAS introduction.

Some remaining backticks were replaced with straight quotes (Ralf Stubner in #845).

A citation to the Rcpp introducion in the The American Statistician has been \ 
added to the introductory and FAQ vignettes.

Changes in Rcpp version 0.12.16 (2018-03-08)
Changes in Rcpp API:

Rcpp now sets and puts the RNG state upon each entry to an Rcpp function, \ 
ensuring that nested invocations of Rcpp functions manage the RNG state as \ 
expected (Kevin in #825 addressing #823).

The R::pythag wrapper has been commented out; the underlying function has been \ 
gone from R since 2.14.0, and ::hypot() (part of C99) is now used \ 
unconditionally for complex numbers (Dirk in #826).

The long long type can now be used on 64-bit Windows (Kevin in #811 and again in \ 
#829 addressing #804).

Changes in Rcpp Attributes:

Code generated with cppFunction() now uses .Call() directly (Kirill Mueller in \ 
#813 addressing #795).

Changes in Rcpp Documentation:

The Rcpp FAQ vignette is now indexed as 'Rcpp-FAQ'; a stale Gmane reference was \ 
removed and entry for getting compilers under Conda was added.

The top-level README.md now has a Support section.

The Rcpp.bib reference file was refreshed to current versions.
   2018-04-05 12:29:31 by Jonathan Perkin | Files touched by this commit (1)
Log message:
R-Rcpp: Add CHECK_SSP_SKIP for some useless files.