Subject: [bug#39640] [PATCH] doc: Document packaging guidelines for Rust crates.

From: Nicolas Goaziou <[email-masked]>
Date: Mon, 17 Feb 2020 12:39:22 +0100

Hello,

Efraim Flashner <[email-masked]> writes:

> * doc/contributing.texi (Rust Crates): New section.

Great! Thank you for this clarification.

> +To prevent namespace collisions we prefix all other rust packages with the

rust -> Rust

> +In the rust ecosystem it is common for multiple incompatable versions of a

Ditto.

Also incompatable -> incompatible ?

> +package to be used at any given time, so all packages should have a versioned
> +suffix.  If a package has passed version 1.0.0 then just the major version
> +number is sufficient (e.g.@: rust-clap-2), otherwise the version suffix should
> +contain the major and minor version (e.g.@: rust-rand-0.6).

Nitpick: should contain both the major...

But that's just me.

I would also use @code{rust-clap-2} and @code{rust-rand-0.6}

> +Because of the difficulty in reusing rust packages as pre-compiled inputs for

rust -> Rust

> +other packages the @xref{cargo-build-system} presents the @code{#:cargo-inputs}

@xref is misused here. It targets references at the beginning of
a sentence. I.e., it will generate

  ... other packages the See cargo-build-system presents...

I suggest the more verbose

  ... other packages the Cargo build system (@pxref{cargo-build-system}) presents...

> +and @code{cargo-development-inputs} keywords as build-system arguments.  It

build-system or build system?

> Rust @code{dependencies} and @code{build-dependencies}
> +should go in @code{#:cargo-inputs}, and @code{dev-dependencies} should go in
> +@code{#:cargo-development-inputs}.  If a rust package links to other libraries

rust -> Rust

Regards,

-- 
Nicolas Goaziou