Suivant: , Précédent: , Monter: Consignes d’empaquetage   [Table des matières][Index]


22.8.11 Paquets Rust

Le programmes Rust utiles en soit sont nommés comme les autres paquets, avec le nom amont en minuscule.

Pour éviter des collisions de noms nous préfixons les autres paquets avec le préfixe rust-. Vous devrez changer le nom en minuscule et garder les tirets en place.

Dans l’écosystème rust il est courant d’avoir plusieurs versions incompatibles d’un paquet utilisées en même temps, donc toutes les définitions des paquets devraient avoir un suffixe de version. Le suffixe de version est le nombre le plus à gauche qui n’est pas un zéro (et tous les zéros précédents, évidemment). Cela suit les conventions de version « caret » de Cargo. Par exemple rust-clap-2, rust-rand-0.6.

À cause de la difficulté à réutiliser des paquets rust en entrées précompilées pour d’autres paquets, le systèmes de construction Cargo (voir cargo-build-system) présente les mots-clefs #:cargo-inputs et cargo-development-inputs en argument du système de construction. Vous pouvez y penser comme les équivalents de propagated-inputs et native-inputs. Les dependencies et build-dependencies de Rust devraient aller dans #:cargo-inputs et dev-dependencies dans #:cargo-development-inputs. Si un paquet Rust se lie à d’autres bibliothèques alors vous devriez utiliser l’emplacement inputs standard et compagnie.

Vous devriez faire attention à vous assurer que la bonne version des dépendances est utilisée ; pour cela nous essayons d’éviter de passer les tests ou d’utiliser #:skip-build? lorsque c’est possible. Bien sûr ce n’est pas toujours possible, comme le paquet peut être développé sur un autre système d’exploitation, dépendre d’une fonctionnalité du compilateur Rust Nightly ou la suite de test atrophiée depuis la sortie.


Suivant: Paquets elm, Précédent: Paquets Java, Monter: Consignes d’empaquetage   [Table des matières][Index]