在CRAN包中嵌入二进制构建工具?

在CRAN包中嵌入二进制构建工具?,r,rust,rust-cargo,R,Rust,Rust Cargo,我正在为R构建一个Rust扩展机制(反之亦然) 对于那些没有遇到过锈的人来说,锈是一种现代语言 使您能够构建多线程计算密集型代码 简洁地在编译器中嵌入特定于域的语言(如R) 因此,我需要将货物包管理器作为二进制文件嵌入 或者链接到一个CRAN包中,以构建基于Rust的扩展 如果货物尚未安装,则从锈源“开箱即用” R社区中的某个人能否阐明如何以正确的方式实现这一点 还是指给我看一个做类似事情的CRAN包?从链接安装货物是否合法?我们将如何处理Windows和Mac安装?CRAN策略说“源程序包可

我正在为R构建一个Rust扩展机制(反之亦然)

对于那些没有遇到过锈的人来说,锈是一种现代语言 使您能够构建多线程计算密集型代码 简洁地在编译器中嵌入特定于域的语言(如R)

因此,我需要将货物包管理器作为二进制文件嵌入 或者链接到一个CRAN包中,以构建基于Rust的扩展 如果货物尚未安装,则从锈源“开箱即用”

R社区中的某个人能否阐明如何以正确的方式实现这一点
还是指给我看一个做类似事情的CRAN包?从链接安装货物是否合法?我们将如何处理Windows和Mac安装?

CRAN策略说“源程序包可能不包含任何形式的二进制可执行代码”。通常,您会在描述文件中的
SystemRequirements
下列出货物,并将安装留给用户(参见示例). 您还可以提供一个R函数(当用户调用时)为用户进行安装(如果可行的话)。@Roland所说的是最“R方式”的方式,许多软件包如rJava(jre)、magick(imagemagick)、animation(ffmpeg)都是这样做的。许可证方面,我认为将锈迹编译器和货物包含在R-package中没有问题,MIT许可证是更常见的R-license之一。非常感谢。我渴望满足R用户在这方面的期望。我会好好看看rJava。为cargo提供安装功能的想法很好。CRAN政策规定“源程序包可能不包含任何形式的二进制可执行代码。”通常,您会在描述文件中的
SystemRequirements
下列出cargo,并将安装留给用户(参见示例)。您还可以提供一个R函数(当用户调用时)为用户进行安装(如果可行的话)。@Roland所说的是最“R方式”的方式,许多软件包如rJava(jre)、magick(imagemagick)、animation(ffmpeg)都是这样做的。许可证方面,我认为将锈迹编译器和货物包含在R-package中没有问题,MIT许可证是更常见的R-license之一。非常感谢。我渴望满足R用户在这方面的期望。我会好好看看rJava。为货物提供安装功能的想法很好。