Rust package guidelines (Português)

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

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.
Diretrizes de pacotes do Arch

32-bitCLRCMakeCrossDKMSEclipseElectronFonteFree PascalGNOMEGoHaskellJavaKDEKernelLispMesonMinGWNode.jsNonfreeOCamlPerlPHPPythonRRubyRustShellVCSWebWine

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 ou , a menos que seja especificado.

Pacotes exemplos

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

gollark: I can't "focus on the evidence" because I have no idea what this is saying.
gollark: Well, hands, anyway.
gollark: He has a body, you can see on his YouTube channel.
gollark: You are definitely not doing devil advocacy here.
gollark: Seems entirely unrelated, thus confirming my impression that this is incomprehensible and poorly organized.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.