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 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 arquivoCargo.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.