[R-pkg-devel] Best practices for CRAN package using Go

Dewey Dunnington dewey @end|ng |rom dunn|ngton@c@
Thu Jul 6 20:22:26 CEST 2023


Hi all,

I'm wondering if there is any precedent for using Go in a CRAN R 
package. Go is a particularly good language for writing database drivers 
for the Arrow Database Connectivity framework [1][2] and - importantly - 
there are several active developers writing these drivers from which R 
users might be able to benefit (notably, the Snowflake driver, for which 
there isn't currently a readily-available R connector).

I've wrapped two of these drivers for R that seem to build and install 
on MacOS, Linux, and Windows [3][4]; however, I am not sure if the 
pattern I used is suitable for CRAN or whether these packages will have 
to be GitHub-only for the foreseeable future. The pattern is roughly the 
same as for Rust (build a static library and link it), and the build 
process has similar requirements (a `go` binary with which `go build` 
can be run; the build process downloads dependencies as it goes just 
like `cargo build`).

Thanks in advance for any insight!

Cheers,

-dewey

[1] https://arrow.apache.org/adbc
[2] https://cran.r-project.org/package=adbcdrivermanager
[3] 
https://github.com/apache/arrow-adbc/tree/main/r/adbcflightsql#readme
[4] 
https://github.com/apache/arrow-adbc/tree/main/r/adbcsnowflake#readme



More information about the R-package-devel mailing list