R package guidelines (Português) - ArchWiki

Jump to content

# R package guidelines (Português)

3 languages

- English
- 日本語
- 中文（简体）

From ArchWiki
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.

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
    }

Category:

- Arch package guidelines (Português)