Hi Josiah,

Indeed, the right thing to do is to declare the library in the
SystemRequirements file. However, other than some specific documented
usages which affect how R builds the package (e.g. C++ standards and
GNU make), I believe the field is meant more just to inform users of
the external dependencies required, so they could install those
themselves before attempting to install the package. The R extensions
manual has:

https://cran.r-project.org/doc/manuals/R-exts.html#The-DESCRIPTION-file
> Dependencies external to the R system should be listed in the 
> ‘SystemRequirements’ field, possibly amplified in a separate README file. 
> This includes specifying a non-default C++ standard and the need for GNU make.

Also note that, for any external dependency required by the package,
you should also check its existence in the package configure script.

https://cran.r-project.org/doc/manuals/R-exts.html#Configure-and-cleanup
> Use this to detect if any nonstandard libraries are present such that 
> corresponding code in the package can be disabled at install time rather than 
> giving error messages when the package is compiled or used.

The curl package (and its dependency on libcurl) is the first thing
that comes to mind and could be a useful reference.

https://github.com/jeroen/curl/blob/master/DESCRIPTION#L21
https://github.com/jeroen/curl/blob/master/configure

Best,
Kevin

On Tue, May 7, 2024 at 6:56 AM Josiah Parry <josiah.pa...@gmail.com> wrote:
>
> In my Makevars file (linked below) I link to ssl by adding `-lssl` to
> `PKG_LIBS`. Since I do this, does libssl need to be added to the System
> Requirements field?
>
> Makevars:
> https://github.com/R-ArcGIS/arcgisgeocode/blob/8194a478a616f7ddc3a25bcb024c0534007bcd51/src/Makevars#L4
>
> If so, is there a place that contains the standardized descriptions for
> some of these more common system requirements? I suspect that means my
> SystemRequirements would look a bit like:
>
>
> SystemRequirements: Cargo (Rust's package manager), rustc, libssl
>
> Is that correct?
>
> Thanks all! I'm a bit out of my depth here!
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-package-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to