Next: , Previous: , Up: Pautas de empaquetamiento   [Contents][Index]


22.4.10 Crates de Rust

Los programas Rust ejecutables se nombran como cualquier otro paquete, mediante el uso del nombre oficial en minúsculas.

Para evitar colisiones en el espacio de nombres añadimos rust- como prefijo al resto de paquetes de Rust. El nombre debe cambiarse a letras minúsculas cuando sea apropiado y los guiones deben mantenerse.

In the rust ecosystem it is common for multiple incompatible versions of a package to be used at any given time, so all package definitions should have a versioned suffix. The versioned suffix is the left-most non-zero digit (and any leading zeros, of course). This follows the “caret” version scheme intended by Cargo. Examples rust-clap-2, rust-rand-0.6.

Debido a la dificultad a la hora de reusar paquetes de rust como entradas pre-compiladas de otros paquetes, el sistema de construcción de Cargo (see cargo-build-system) presenta las palabras clave #:cargo-inputs y cargo-development-inputs como parámetros del sistema de construcción. Puede servir de ayuda pensar en estos parámetros de manera similar a propagated-inputs y native-inputs. Las dependencias de rust de dependencies y build-dependencies deben proporcionarse a través de #:cargo-inputs, y dev-dependencies deben proporcionarse a través de #:cargo-development-inputs. Si un paquete de Rust se enlaza con otras bibliotecas deben proporcionarse como habitualmente en inputs y otros campos relacionados.

Se debe tener cuidado a la hora de asegurar que se usan las versiones correctas de las dependencias; para ello intentamos no evitar la ejecución de pruebas o la construcción completa con #:skip-build? cuando sea posible. Por supuesto, no siempre es posible, ya que el paquete puede desarrollarse para un sistema operativo distinto, depender de características del compilador de Rust que se construye a diario (Nightly), o la batería de pruebas puede haberse atrofiado desde su lanzamiento.


Next: Paquetes Elm, Previous: Paquetes Java, Up: Pautas de empaquetamiento   [Contents][Index]