[R-pkg-devel] Optional library dependencies for compiled code
On Wed, 29 Jan 2020 at 15:11, Guido Kraemer <gkraemer at bgc-jena.mpg.de> wrote:
I am developing an R package that can make (optional, but strongly recommended) use of a number of external compression algorithms. What is the best strategy if I want to distribute this as an R package? Because the package is for reading large external data sets, the package will probably not be very useful without compression. - Make a hard dependency on all external libraries and make user manually disable it if they cannot install a library for some reason? - Make no dependency on external libraries and have the user compile it manually if they want compression? - Look for installed libraries and use only these? (If so: How would I do this during the installation of an R package?) - How does this work on Windows? The possible compressions are: blosc, zlib, bzip2, lz4, xz
You could take a look at the fst package [1], which bundles the zstd library [2]. And that's probably everything you need. Or you may want to directly use the fst package if your target is tabular data. [1] https://cran.r-project.org/web/packages/fst/index.html [2] https://github.com/facebook/zstd