R package guidelines (Português)

Status de tradução:
Esse artigo é uma tradução de
R package guidelines
. Data da última tradução: 2019-11-09. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglês.
Diretrizes de pacotes do Arch
32-bit
–
CLR
–
CMake
–
Cross
–
DKMS
–
Eclipse
–
Electron
–
Fonte
–
Free Pascal
–
GNOME
–
Go
–
Haskell
–
Java
–
KDE
–
Kernel
–
Lisp
–
Meson
–
MinGW
–
Node.js
–
Nonfree
–
OCaml
–
Perl
–
PHP
–
Python
–
R
–
Ruby
–
Rust
–
Shell
–
VCS
–
Web
–
Wine
Este documento abrange padrões e diretrizes para escrever
PKGBUILDs
para pacotes
R
. A maioria das informações pode ser obtida consultando o arquivo
DESCRIPTION
do pacote. Você pode obter a maior parte de dentro do R executando
tools::CRAN_package_db()
.
Nomenclatura de pacote
Pacotes devem ser nomeados
r-pkgname
, sendo
pkgname
retirado do campo
Package
do arquivo
DESCRIPTION
. O nome do pacote deve estar em letras minúsculas.
Versão de pacote
Pegue no campo
Version
. R permite que os pacotes tenham dois pontos e hífenes em sua versão, isso não é permitido em PKGBUILDs. Converta estes para um período ou sublinhado.
Arch
Veja
PKGBUILD (Português)#arch
. Se a página web do CRAN do pacote tiver
NeedsCompilation: yes
, é provável que seja específico da arquitetura. Caso contrário, é provável que não.
Dependências
Os pacotes R listados nos campos
Depends
,
Imports
ou
LinkingTo
no arquivo
DESCRIPTION
de um pacote devem ser listados em
depends
.
Os pacotes R listados em
Suggests
devem ser listados como
optdepends
.
Alguns pacotes requerem ferramentas externas, estas estão listadas em
SystemRequirements
.
O
gcc-fortran
é necessário como
makedepends
para alguns pacotes, mas nem sempre é listado no arquivo
DESCRIPTION
.
Fonte
Todos os pacotes R disponíveis no CRAN estão disponíveis no site
https://cran.r-project.org/src/contrib/
cranname
_
cranversion
.tar.gz
, sendo
cranname
o nome do pacote no CRAN e
cranversion
a versão cran.
Compilação e empacotamento
R tem suporte embutido para compilar pacotes, nós só precisamos instalar e copiar o pacote compilado depois:
build(){
     R CMD INSTALL pkg.tar.gz -l "$srcdir"
 }
 package() {
     install -dm0775 "$pkgdir"/usr/lib/R/library
     cp -a --no-preserve=ownership pkgname "$pkgdir"/usr/lib/R/library
 }
Exemplos
RcppEigen
pkgname=r-rcppeigen
pkgver=0.3.3.4.0
pkgrel=1
pkgdesc="Rcpp Integration for the Eigen Templated Linear Algebra Library"
arch=('x86_64')
url="https://cran.r-project.org/package=RcppEigen"
license=('GPL')
depends=('r' 'r-rcpp')
optdepends=('r-inline' 'r-runit' 'r-pkgkitten')
source=("https://cran.r-project.org/src/contrib/RcppEigen_$pkgver.tar.gz")
md5sums=('78ee1ef7c6043efa875434ae5fcea2ec')

build(){
    R CMD INSTALL RcppEigen_"$pkgver".tar.gz -l "$srcdir"
}
package() {
    install -dm0755 "$pkgdir"/usr/lib/R/library
    cp -a --no-preserve=ownership RcppEigen "$pkgdir"/usr/lib/R/library
}
XML
Um exemplo em que o pacote R possui caracteres não permitidos no pkgver:
_cranver=3.98-1.11
pkgname=r-xml
pkgver=${_cranver//[:-]/.}
pkgrel=1
pkgdesc='Tools for Parsing and Generating XML Within R and S-Plus'
arch=('x86_64')
url='https://cran.r-project.org/package=XML'
license=('BSD')
depends=('r' 'libxml2')
optdepends=('r-bitops' 'r-rcurl')
replaces=('r-cran-xml')
source=("https://cran.r-project.org/src/contrib/XML_$_cranver.tar.gz")
md5sums=('6c67f5730ada3456372520773a920b8e')

build(){
    R CMD INSTALL XML_"$_cranver".tar.gz -l "$srcdir"
}
package() {
    install -dm0755 "$pkgdir"/usr/lib/R/library
    cp -a --no-preserve=ownership XML "$pkgdir"/usr/lib/R/library
}