Rust package guidelines (Português) - ArchWiki

Jump to content

# Rust package guidelines (Português)

From ArchWiki
Status de tradução: Esse artigo é uma tradução de Rust package guidelines. Data da última tradução: 2020-06-23. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Esse documento cobre padrões e diretrizes sobre escrita de PKGBUILDs para Rust.

## Diretrizes gerais

### Nomenclatura de pacote

Para binários do Rust, use apenas o nome do programa.

Nota: O nome do pacote deve estar todo em minúsculo.

## Compilação

Compilação de um pacote Rust.

     build() {
       cargo build --release --locked
     }

sendo que:

- `--release` diz ao cargo para fazer uma compilação lançamento
- `--locked` diz ao cargo para fazer uso do arquivo `Cargo.lock` e impedi-lo de atualizar dependências, o que é importante para reproducible builds.

## Verificação

A maioria dos projetos Rust fornecem uma forma simples de executar o conjunto de testes (testsuite).

     check() {
       cargo test --release --locked
     }

## Pacote

O Rust compila binários em `target/release` e pode simplesmente ser instalado em `/usr/bin`.

     package() {
       install -Dm 755 target/release/${pkgname} -t "${pkgdir}/usr/bin"
     }

Alguns pacotes podem instalar mais arquivos, como uma página man, caso em que pode ser melhor usar `cargo`:

     package() {
       cd "$pkgname-$pkgver"
       cargo install --no-track --locked --all-features --root "$pkgdir/usr/" --path .
     }

O argumento `--no-track` sempre deve ser usado, porque `cargo install` pode criar arquivos indesejados, como `/usr/.crates.toml` ou `/usr/.crates2.json`, a menos que seja especificado.

## Pacotes exemplos

Clique Package Actions > Source Files na página do pacote para ver seu PKGBUILD exemplo.

- cbindgen
- ripgrep

Category:

- Arch package guidelines (Português)