Source: rustc
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>
Uploaders:
 Ximin Luo <infinity0@debian.org>,
 Sylvestre Ledru <sylvestre@debian.org>
Rules-Requires-Root: no
# :native annotations are to support cross-compiling, see README.Debian
Build-Depends:
 debhelper (>= 9),
 debhelper-compat (= 13),
 dpkg-dev (>= 1.17.14),
 python3:native,
 cargo:native (>= 0.40.0)      <!pkg.rustc.dlstage0>,
 rustc:native (>= 1.57.0+dfsg) <!pkg.rustc.dlstage0>,
 rustc:native (<= 1.58.1++)    <!pkg.rustc.dlstage0>,
 llvm-13-dev:native,
 llvm-13-tools:native,
 libllvm13 (>= 1:13.0.0),
 cmake (>= 3.0) | cmake3,
# needed by some vendor crates
 pkg-config,
# this is sometimes needed by rustc_llvm
 zlib1g-dev:native,
 zlib1g-dev,
# used by rust-installer
 liblzma-dev:native,
# test dependencies:
 binutils (>= 2.26) <!nocheck> | binutils-2.26 <!nocheck>,
 git <!nocheck>,
 procps <!nocheck>,
# Resources loaded from the docs, checked by linkchecker
 libjs-jquery <!nocheck>,
 libjs-highlight.js <!nocheck>,
 libjs-mathjax <!nocheck>,
 fonts-open-sans <!nocheck>,
 fonts-font-awesome <!nocheck>,
 fonts-nanum <!nocheck>,
# below are optional tools even for 'make check'
 gdb (>= 7.12) <!nocheck>,
 libc6-dbg [armhf],
# Extra build-deps needed for x.py to download stuff in pkg.rustc.dlstage0.
 curl <pkg.rustc.dlstage0>,
 ca-certificates <pkg.rustc.dlstage0>,
Build-Depends-Indep:
 clang-13:native,
 libssl-dev,
Build-Conflicts: gdb-minimal (<< 8.1-0ubuntu6) <!nocheck>
Standards-Version: 4.2.1
Homepage: http://www.rust-lang.org/
Vcs-Git: https://salsa.debian.org/rust-team/rust.git
Vcs-Browser: https://salsa.debian.org/rust-team/rust

Package: rustc
Architecture: any
Multi-Arch: allowed
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends},
 libstd-rust-dev (= ${binary:Version}),
 gcc, libc-dev, binutils (>= 2.26)
Recommends:
# llvm is needed for llvm-dwp for -C split-debuginfo=packed
 llvm-13,
Suggests:
# lld and clang are needed for wasm compilation
 cargo (>= 0.58.0~~), cargo (<< 0.59.0~~),
 lld-13, clang-13,
Replaces: libstd-rust-dev (<< 1.26.2+dfsg1+llvm-0ubuntu1~~)
Breaks: libstd-rust-dev (<< 1.26.2+dfsg1+llvm-0ubuntu1~~)
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.

Package: libstd-rust-1.58
Section: libs
Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Rust standard libraries
 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 the standard Rust libraries, built as dylibs,
 needed to run dynamically-linked Rust programs (-C prefer-dynamic).

Package: libstd-rust-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends},
 libstd-rust-1.58 (= ${binary:Version}),
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.

Package: rust-gdb
Architecture: all
Depends: gdb, ${misc:Depends}
Suggests: gdb-doc
Replaces: rustc (<< 1.1.0+dfsg1-1)
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 package contains pretty printers and a wrapper script for
 invoking gdb on rust binaries.

Package: rust-lldb
Architecture: all
# When updating, also update rust-lldb.links
Depends: lldb-13, ${misc:Depends}, python3-lldb-13
Replaces: rustc (<< 1.1.0+dfsg1-1)
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 package contains pretty printers and a wrapper script for
 invoking lldb on rust binaries.

Package: rust-doc
Section: doc
Architecture: all
Build-Profiles: <!nodoc>
Depends: ${misc:Depends},
 libjs-jquery, libjs-highlight.js, libjs-mathjax,
 fonts-open-sans, fonts-font-awesome, fonts-nanum
Recommends: cargo-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 package contains the Rust tutorial, language reference and
 standard library documentation.

Package: rust-src
Architecture: all
Depends: ${misc:Depends}
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 package contains 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}, ${shlibs:Depends},
 libstd-rust-1.58 (= ${binary:Version})
Recommends: cargo
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'.

Package: rustfmt
Architecture: any
Multi-Arch: allowed
Depends: ${misc:Depends}, ${shlibs:Depends},
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 package contains 'rustfmt', a tool for formatting Rust code according to
 style guidelines, as well as 'cargo-fmt', a helper enabling running rustfmt
 directly with 'cargo fmt'.

Package: rust-all
Architecture: all
Depends: ${misc:Depends}, ${shlibs:Depends},
 rustc (>= ${binary:Version}),
 rustfmt (>= ${binary:Version}),
 rust-clippy (>= ${binary:Version}),
 rust-gdb (>= ${binary:Version}) | rust-lldb (>= ${binary:Version}),
 cargo,
Recommends:
 cargo (>= 0.57.0~~), cargo (<< 0.58.0~~)
Suggests:
 rust-doc (>= ${binary:Version}),
 rust-src (>= ${binary:Version}),
 libstd-rust-dev-wasm32 (>= ${binary:Version}),
 libstd-rust-dev-windows (>= ${binary:Version}),
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 package is an empty metapackage that depends on all developer tools
 in the standard rustc distribution that have been packaged for Debian.
