[R-pkg-devel] Overcoming CRAN's 5mb vendoring requirement

Josiah Parry jo@|@h@p@rry @end|ng |rom gm@||@com
Wed May 8 20:08:36 CEST 2024


Thank you, Neal!

I took some inspiration from the arrow-r github repo and ch 1.2 of the
manual

*If your configure script needs auxiliary files, it is recommended that you
> ship them in a tools directory (as R itself does).*


With ChatGPT's ability to write autoconf, I *think *I have something that
can work.

The configure file runs tools/get-deps.R which will download the
dependencies from the repo if available and verify the checksums.
If the checksums don't match, an error is thrown, otherwise it can
continue. I believe this meets the requirements of CRAN?

Repo: https://github.com/R-ArcGIS/arcgisutils/tree/main/tools

On Wed, May 8, 2024 at 11:13 AM Neal Richardson <neal.p.richardson using gmail.com>
wrote:

> CRAN policy [1] says: "If the sources are too large, it is acceptable
> to download them as part of installation, but do ensure that the
> download is of a fixed version rather than the latest." So you could
> try downloading the source in your configure script. Though be careful
> not to be bitten by this other line from the policy: "Packages which
> use Internet resources should fail gracefully with an informative
> message if the resource is not available or has changed (and not give
> a check warning nor error)."
>
> Neal
>
> [1]: https://cran.r-project.org/web/packages/policies.html
>
>
> On Wed, May 8, 2024 at 11:03 AM Josiah Parry <josiah.parry using gmail.com>
> wrote:
> >
> > I am sorry for blowing up this thread lately.
> >
> > I've submitted a package to CRAN that uses Rust which thus requires
> > dependencies to be vendored. https://github.com/R-ArcGIS/arcgisutils/
> >
> > The vendored dependencies are 18mb when zipped and 16.4mb when zipped
> with
> > XZ -9e. The *installed package size is 1.2mb* on my Mac.
> >
> > CRAN has rejected this package with:
> >
> > *   Size of tarball: 18099770 bytes*
> >
> > *Please reudce to less than 5 MB for a CRAN package.*
> >
> >
> > Due to the requirement to vendor my dependencies. I do not see any
> possible
> > way to compress 250mb of source code to <= 5mb.
> >
> > I suspect there are alternatives which have been handled in one-off
> > situations given that other packages require fairly large system
> > dependencies e.g. Arrow, DuckDB, torch etc.
> >
> > How do others handle this?
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-package-devel using r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-package-devel
>

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list