Source: rust-defaults
Section: devel
Priority: optional
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
XSBC-Original-Maintainer: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Rules-Requires-Root: no
Build-Depends:
 debhelper-compat (= 13),
 dpkg-dev (>= 1.17.14),
 lsb-release,
 m4
Standards-Version: 4.6.2
Homepage: http://www.rust-lang.org/

Package: rustc
Architecture: any
Multi-Arch: allowed
Depends: rustc-${pv:rust}, ${misc:Depends}
Description: Rust systems programming language
 Rust is a curly-brace, block-structured expression language.  It
 visually resembles the C language family, but differs significantly
 in syntactic and semantic details.  Its design is oriented toward
 concerns of "programming in the large", that is, of creating and
 maintaining boundaries - both abstract and operational - that
 preserve large-system integrity, availability and concurrency.
 .
 It supports a mixture of imperative procedural, concurrent actor,
 object-oriented and pure functional styles.  Rust also supports
 generic programming and meta-programming, in both static and dynamic
 styles.
 .
 This is a dependency package providing the default Rust package.

Package: libstd-rust-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${misc:Depends}, libstd-rust-${pv:rust}-dev
Description: Rust standard libraries - development files
 Rust is a curly-brace, block-structured expression language.  It
 visually resembles the C language family, but differs significantly
 in syntactic and semantic details.  Its design is oriented toward
 concerns of "programming in the large", that is, of creating and
 maintaining boundaries - both abstract and operational - that
 preserve large-system integrity, availability and concurrency.
 .
 It supports a mixture of imperative procedural, concurrent actor,
 object-oriented and pure functional styles.  Rust also supports
 generic programming and meta-programming, in both static and dynamic
 styles.
 .
 This package contains development files for the standard Rust libraries,
 needed to compile Rust programs. It may also be installed on a system
 of another host architecture, for cross-compiling to this architecture.
 .
 This is a dependency package providing the default development package.

Package: rust-gdb
Architecture: all
Depends: ${misc:Depends}, rust-${pv:rust}-gdb
Description: Rust debugger (gdb)
 Rust is a curly-brace, block-structured expression language.  It
 visually resembles the C language family, but differs significantly
 in syntactic and semantic details.  Its design is oriented toward
 concerns of "programming in the large", that is, of creating and
 maintaining boundaries - both abstract and operational - that
 preserve large-system integrity, availability and concurrency.
 .
 It supports a mixture of imperative procedural, concurrent actor,
 object-oriented and pure functional styles.  Rust also supports
 generic programming and meta-programming, in both static and dynamic
 styles.
 .
 This is a dependency package providing the default pretty printers and
 a wrapper script for invoking gdb on rust binaries.

Package: rust-lldb
Architecture: all
Depends: rust-${pv:rust}-lldb, ${misc:Depends}
Description: Rust debugger (lldb)
 Rust is a curly-brace, block-structured expression language.  It
 visually resembles the C language family, but differs significantly
 in syntactic and semantic details.  Its design is oriented toward
 concerns of "programming in the large", that is, of creating and
 maintaining boundaries - both abstract and operational - that
 preserve large-system integrity, availability and concurrency.
 .
 It supports a mixture of imperative procedural, concurrent actor,
 object-oriented and pure functional styles.  Rust also supports
 generic programming and meta-programming, in both static and dynamic
 styles.
 .
 This is a dependency package providing the default pretty printers and a
 wrapper script for invoking lldb on rust binaries.

Package: rust-doc
Section: doc
Architecture: all
Depends: ${misc:Depends}, rust-${pv:rust}-doc
Description: Rust systems programming language - Documentation
 Rust is a curly-brace, block-structured expression language.  It
 visually resembles the C language family, but differs significantly
 in syntactic and semantic details.  Its design is oriented toward
 concerns of "programming in the large", that is, of creating and
 maintaining boundaries - both abstract and operational - that
 preserve large-system integrity, availability and concurrency.
 .
 It supports a mixture of imperative procedural, concurrent actor,
 object-oriented and pure functional styles.  Rust also supports
 generic programming and meta-programming, in both static and dynamic
 styles.
 .
 This is a dependency package providing the default Rust tutorial,
 language reference and standard library documentation.

Package: rust-src
Architecture: all
Depends: ${misc:Depends}, rust-${pv:rust}-src
Description: Rust systems programming language - source code
 Rust is a curly-brace, block-structured expression language.  It
 visually resembles the C language family, but differs significantly
 in syntactic and semantic details.  Its design is oriented toward
 concerns of "programming in the large", that is, of creating and
 maintaining boundaries - both abstract and operational - that
 preserve large-system integrity, availability and concurrency.
 .
 It supports a mixture of imperative procedural, concurrent actor,
 object-oriented and pure functional styles.  Rust also supports
 generic programming and meta-programming, in both static and dynamic
 styles.
 .
 This is a dependency package providing the default sources of the
 Rust compiler and standard libraries, useful for IDEs and
 code analysis tools such as Racer.

Package: rust-clippy
Architecture: any
Multi-Arch: allowed
Depends: ${misc:Depends}, rust-${pv:rust}-clippy
Description: Rust linter
 Rust is a curly-brace, block-structured expression language.  It
 visually resembles the C language family, but differs significantly
 in syntactic and semantic details.  Its design is oriented toward
 concerns of "programming in the large", that is, of creating and
 maintaining boundaries - both abstract and operational - that
 preserve large-system integrity, availability and concurrency.
 .
 It supports a mixture of imperative procedural, concurrent actor,
 object-oriented and pure functional styles.  Rust also supports
 generic programming and meta-programming, in both static and dynamic
 styles.
 .
 This package contains 'clippy', a linter to catch common mistakes and improve
 your Rust code as well a collection of over 400 compatible lints.
 .
 Lints are divided into categories, each with a default lint level. You can
 choose how much Clippy is supposed to annoy help you by changing the lint
 level by category.
 .
 Clippy is integrated into the 'cargo' build tool, available via 'cargo clippy'.
 .
 This is a dependency package providing the default clippy implementation.

Package: rust-miri
Architecture: any
Multi-Arch: allowed
Depends: ${misc:Depends}, rust-${pv:rust}-miri
Description: Undefined behavior detector for unstable Rust
 Rust is a curly-brace, block-structured expression language.  It
 visually resembles the C language family, but differs significantly
 in syntactic and semantic details.  Its design is oriented toward
 concerns of "programming in the large", that is, of creating and
 maintaining boundaries - both abstract and operational - that
 preserve large-system integrity, availability and concurrency.
 .
 It supports a mixture of imperative procedural, concurrent actor,
 object-oriented and pure functional styles.  Rust also supports
 generic programming and meta-programming, in both static and dynamic
 styles.
 .
 This package distributes the 'cargo-unstable-miri' binary, a tool
 which runs binaries and test suites of cargo projects and detects unsafe
 code which fails to uphold its safety requirements.
 .
 Since use of Miri in this manner requires access to unstable toolchain
 features, use of this tool does not come with the same stability guarantees
 of stable Rust. Any issues with this package should be directed towards the
 package maintainers and not to the upstream Rust developers.

Package: rustfmt
Architecture: any
Multi-Arch: allowed
Depends: ${misc:Depends}, rustfmt-${pv:rust}
Recommends: cargo
Description: Rust formatting helper
 Rust is a curly-brace, block-structured expression language.  It
 visually resembles the C language family, but differs significantly
 in syntactic and semantic details.  Its design is oriented toward
 concerns of "programming in the large", that is, of creating and
 maintaining boundaries - both abstract and operational - that
 preserve large-system integrity, availability and concurrency.
 .
 It supports a mixture of imperative procedural, concurrent actor,
 object-oriented and pure functional styles.  Rust also supports
 generic programming and meta-programming, in both static and dynamic
 styles.
 .
 This is a dependency package providing the default rustfmt implementation.

Package: rust-all
Architecture: any
Depends: ${misc:Depends}, rust-${pv:rust}-all,
 rustc (= ${binary:Version}),
 rustfmt (= ${binary:Version}),
 rust-clippy (= ${binary:Version}),
 rust-miri (= ${binary:Version}),
 rust-gdb (= ${binary:Version}) | rust-lldb (= ${binary:Version}),
 cargo,
Description: Rust systems programming language - all developer tools
 Rust is a curly-brace, block-structured expression language.  It
 visually resembles the C language family, but differs significantly
 in syntactic and semantic details.  Its design is oriented toward
 concerns of "programming in the large", that is, of creating and
 maintaining boundaries - both abstract and operational - that
 preserve large-system integrity, availability and concurrency.
 .
 It supports a mixture of imperative procedural, concurrent actor,
 object-oriented and pure functional styles.  Rust also supports
 generic programming and meta-programming, in both static and dynamic
 styles.
 .
 This is a dependency package providing the default Rust toolchain bundle.

# Cargo binaries
Package: cargo
Architecture: any
Multi-Arch: allowed
Depends: ${misc:Depends}, rustc, cargo-${pv:rust}
Description: Rust package manager
 Cargo is a tool that allows Rust projects to declare their various
 dependencies, and ensure that you'll always get a repeatable build.
 .
 To accomplish this goal, Cargo does four things:
  * Introduces two metadata files with various bits of project information.
  * Fetches and builds your project's dependencies.
  * Invokes rustc or another build tool with the correct parameters to build
    your project.
  * Introduces conventions, making working with Rust projects easier.
 .
 Cargo downloads your Rust project’s dependencies and compiles your
 project.
 .
 This is a dependency package providing the default cargo package.

Package: cargo-doc
Section: doc
Architecture: all
Depends: ${misc:Depends}, cargo-${pv:rust}-doc
Description: Rust package manager, documentation
 Cargo is a tool that allows Rust projects to declare their various
 dependencies, and ensure that you'll always get a repeatable build.
 .
 To accomplish this goal, Cargo does four things:
  * Introduces two metadata files with various bits of project information.
  * Fetches and builds your project's dependencies.
  * Invokes rustc or another build tool with the correct parameters to build
    your project.
  * Introduces conventions, making working with Rust projects easier.
 .
 Cargo downloads your Rust project’s dependencies and compiles your
 project.
 .
 This is a dependency package providing the default cargo documentation.
