4 Maintainer: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
6 Ximin Luo <infinity0@debian.org>,
7 Sylvestre Ledru <sylvestre@debian.org>,
8 Fabian Grünbichler <debian@fabian.gruenbichler.email>
9 Rules-Requires-Root: no
10 # :native annotations are to support cross-compiling, see README.Debian
13 debhelper-compat (= 13),
14 dpkg-dev (>= 1.17.14),
16 cargo:native (>= 0.60.0) <!pkg.rustc.dlstage0>,
17 rustc:native (>= 1.69.0+dfsg) <!pkg.rustc.dlstage0>,
18 rustc:native (<= 1.70.0++) <!pkg.rustc.dlstage0>,
21 gcc-mingw-w64-x86-64-posix:native [amd64] <!nowindows>,
22 gcc-mingw-w64-i686-posix:native [i386] <!nowindows>,
23 libllvm16t64 (>= 1:16.0.0),
24 libclang-rt-16-dev:native,
25 cmake (>= 3.0) | cmake3,
26 # needed by some vendor crates
28 # this is sometimes needed by rustc_llvm
31 # used by rust-installer
35 libcurl4-gnutls-dev | libcurl4-openssl-dev,
37 libgit2-dev (>= 1.5.0),
38 libgit2-dev (<< 1.6~~),
41 binutils (>= 2.26) <!nocheck> | binutils-2.26 <!nocheck>,
42 # temporarily disabled cause of #1066794 / t64 transition
45 # below are optional tools even for 'make check'
46 gdb (>= 7.12) <!nocheck>,
47 # Extra build-deps needed for x.py to download stuff in pkg.rustc.dlstage0.
48 curl <pkg.rustc.dlstage0>,
49 ca-certificates <pkg.rustc.dlstage0>,
51 wasi-libc (>= 0.0~git20230113.4362b18-2~) <!nowasm>,
52 wasi-libc (<= 0.0~git20230113.4362b18++) <!nowasm>,
54 Build-Conflicts: gdb-minimal <!nocheck>
55 Standards-Version: 4.6.2
56 Homepage: http://www.rust-lang.org/
57 Vcs-Git: https://salsa.debian.org/rust-team/rust.git
58 Vcs-Browser: https://salsa.debian.org/rust-team/rust
63 Pre-Depends: ${misc:Pre-Depends}
64 Depends: ${shlibs:Depends}, ${misc:Depends},
65 libstd-rust-dev (= ${binary:Version}),
66 gcc, libc-dev, binutils (>= 2.26)
68 cargo (>= 0.71.0~~), cargo (<< 0.72.0~~),
69 # llvm is needed for llvm-dwp for -C split-debuginfo=packed
72 # lld and clang are needed for wasm compilation
74 Replaces: libstd-rust-dev (<< 1.25.0+dfsg1-2~~)
75 Breaks: libstd-rust-dev (<< 1.25.0+dfsg1-2~~)
76 Description: Rust systems programming language
77 Rust is a curly-brace, block-structured expression language. It
78 visually resembles the C language family, but differs significantly
79 in syntactic and semantic details. Its design is oriented toward
80 concerns of "programming in the large", that is, of creating and
81 maintaining boundaries - both abstract and operational - that
82 preserve large-system integrity, availability and concurrency.
84 It supports a mixture of imperative procedural, concurrent actor,
85 object-oriented and pure functional styles. Rust also supports
86 generic programming and meta-programming, in both static and dynamic
89 Package: libstd-rust-1.70
93 Pre-Depends: ${misc:Pre-Depends}
94 Depends: ${shlibs:Depends}, ${misc:Depends}
95 Description: Rust standard libraries
96 Rust is a curly-brace, block-structured expression language. It
97 visually resembles the C language family, but differs significantly
98 in syntactic and semantic details. Its design is oriented toward
99 concerns of "programming in the large", that is, of creating and
100 maintaining boundaries - both abstract and operational - that
101 preserve large-system integrity, availability and concurrency.
103 It supports a mixture of imperative procedural, concurrent actor,
104 object-oriented and pure functional styles. Rust also supports
105 generic programming and meta-programming, in both static and dynamic
108 This package contains the standard Rust libraries, built as dylibs,
109 needed to run dynamically-linked Rust programs (-C prefer-dynamic).
111 Package: libstd-rust-dev
115 Depends: ${shlibs:Depends}, ${misc:Depends},
116 libstd-rust-1.70 (= ${binary:Version}),
117 Description: Rust standard libraries - development files
118 Rust is a curly-brace, block-structured expression language. It
119 visually resembles the C language family, but differs significantly
120 in syntactic and semantic details. Its design is oriented toward
121 concerns of "programming in the large", that is, of creating and
122 maintaining boundaries - both abstract and operational - that
123 preserve large-system integrity, availability and concurrency.
125 It supports a mixture of imperative procedural, concurrent actor,
126 object-oriented and pure functional styles. Rust also supports
127 generic programming and meta-programming, in both static and dynamic
130 This package contains development files for the standard Rust libraries,
131 needed to compile Rust programs. It may also be installed on a system
132 of another host architecture, for cross-compiling to this architecture.
134 Package: libstd-rust-dev-windows
136 Architecture: amd64 i386
138 Depends: ${shlibs:Depends}, ${misc:Depends}
140 gcc-mingw-w64-x86-64-posix [amd64],
141 gcc-mingw-w64-i686-posix [i386],
142 Build-Profiles: <!nowindows>
143 Description: Rust standard libraries - development files
144 Rust is a curly-brace, block-structured expression language. It
145 visually resembles the C language family, but differs significantly
146 in syntactic and semantic details. Its design is oriented toward
147 concerns of "programming in the large", that is, of creating and
148 maintaining boundaries - both abstract and operational - that
149 preserve large-system integrity, availability and concurrency.
151 It supports a mixture of imperative procedural, concurrent actor,
152 object-oriented and pure functional styles. Rust also supports
153 generic programming and meta-programming, in both static and dynamic
156 This package contains the standard Rust libraries including development files,
157 needed to cross-compile Rust programs to the *-pc-windows-gnu target
158 corresponding to the architecture of this package.
160 Package: libstd-rust-dev-wasm32
164 Depends: ${shlibs:Depends}, ${misc:Depends}
165 # Embeds wasi-libc so doesn't need to depend on it
166 # None of its licenses require source redistrib, so no need for Built-Using
170 # nodejs contains wasi-node for running the program
172 Build-Profiles: <!nowasm>
173 Description: Rust standard libraries - development files
174 Rust is a curly-brace, block-structured expression language. It
175 visually resembles the C language family, but differs significantly
176 in syntactic and semantic details. Its design is oriented toward
177 concerns of "programming in the large", that is, of creating and
178 maintaining boundaries - both abstract and operational - that
179 preserve large-system integrity, availability and concurrency.
181 It supports a mixture of imperative procedural, concurrent actor,
182 object-oriented and pure functional styles. Rust also supports
183 generic programming and meta-programming, in both static and dynamic
186 This package contains the standard Rust libraries including development files,
187 needed to cross-compile Rust programs to the wasm32-unknown-unknown and
192 Depends: gdb, ${misc:Depends}
194 Replaces: rustc (<< 1.1.0+dfsg1-1)
195 Description: Rust debugger (gdb)
196 Rust is a curly-brace, block-structured expression language. It
197 visually resembles the C language family, but differs significantly
198 in syntactic and semantic details. Its design is oriented toward
199 concerns of "programming in the large", that is, of creating and
200 maintaining boundaries - both abstract and operational - that
201 preserve large-system integrity, availability and concurrency.
203 It supports a mixture of imperative procedural, concurrent actor,
204 object-oriented and pure functional styles. Rust also supports
205 generic programming and meta-programming, in both static and dynamic
208 This package contains pretty printers and a wrapper script for
209 invoking gdb on rust binaries.
213 # When updating, also update rust-lldb.links
214 Depends: lldb-16, ${misc:Depends}, python3-lldb-16
215 Replaces: rustc (<< 1.1.0+dfsg1-1)
216 Description: Rust debugger (lldb)
217 Rust is a curly-brace, block-structured expression language. It
218 visually resembles the C language family, but differs significantly
219 in syntactic and semantic details. Its design is oriented toward
220 concerns of "programming in the large", that is, of creating and
221 maintaining boundaries - both abstract and operational - that
222 preserve large-system integrity, availability and concurrency.
224 It supports a mixture of imperative procedural, concurrent actor,
225 object-oriented and pure functional styles. Rust also supports
226 generic programming and meta-programming, in both static and dynamic
229 This package contains pretty printers and a wrapper script for
230 invoking lldb on rust binaries.
235 Build-Profiles: <!nodoc>
236 Depends: ${misc:Depends},
237 libjs-jquery, libjs-highlight.js, libjs-mathjax,
238 fonts-open-sans, fonts-font-awesome
239 Recommends: cargo-doc
240 Description: Rust systems programming language - Documentation
241 Rust is a curly-brace, block-structured expression language. It
242 visually resembles the C language family, but differs significantly
243 in syntactic and semantic details. Its design is oriented toward
244 concerns of "programming in the large", that is, of creating and
245 maintaining boundaries - both abstract and operational - that
246 preserve large-system integrity, availability and concurrency.
248 It supports a mixture of imperative procedural, concurrent actor,
249 object-oriented and pure functional styles. Rust also supports
250 generic programming and meta-programming, in both static and dynamic
253 This package contains the Rust tutorial, language reference and
254 standard library documentation.
258 Depends: ${misc:Depends}
259 Description: Rust systems programming language - source code
260 Rust is a curly-brace, block-structured expression language. It
261 visually resembles the C language family, but differs significantly
262 in syntactic and semantic details. Its design is oriented toward
263 concerns of "programming in the large", that is, of creating and
264 maintaining boundaries - both abstract and operational - that
265 preserve large-system integrity, availability and concurrency.
267 It supports a mixture of imperative procedural, concurrent actor,
268 object-oriented and pure functional styles. Rust also supports
269 generic programming and meta-programming, in both static and dynamic
272 This package contains sources of the Rust compiler and standard
273 libraries, useful for IDEs and code analysis tools such as Racer.
278 Depends: ${misc:Depends}, ${shlibs:Depends},
279 libstd-rust-1.70 (= ${binary:Version})
281 Description: Rust linter
282 Rust is a curly-brace, block-structured expression language. It
283 visually resembles the C language family, but differs significantly
284 in syntactic and semantic details. Its design is oriented toward
285 concerns of "programming in the large", that is, of creating and
286 maintaining boundaries - both abstract and operational - that
287 preserve large-system integrity, availability and concurrency.
289 It supports a mixture of imperative procedural, concurrent actor,
290 object-oriented and pure functional styles. Rust also supports
291 generic programming and meta-programming, in both static and dynamic
294 This package contains 'clippy', a linter to catch common mistakes and improve
295 your Rust code as well a collection of over 400 compatible lints.
297 Lints are divided into categories, each with a default lint level. You can
298 choose how much Clippy is supposed to annoy help you by changing the lint
301 Clippy is integrated into the 'cargo' build tool, available via 'cargo clippy'.
306 Depends: ${misc:Depends}, ${shlibs:Depends},
308 Description: Rust formatting helper
309 Rust is a curly-brace, block-structured expression language. It
310 visually resembles the C language family, but differs significantly
311 in syntactic and semantic details. Its design is oriented toward
312 concerns of "programming in the large", that is, of creating and
313 maintaining boundaries - both abstract and operational - that
314 preserve large-system integrity, availability and concurrency.
316 It supports a mixture of imperative procedural, concurrent actor,
317 object-oriented and pure functional styles. Rust also supports
318 generic programming and meta-programming, in both static and dynamic
321 This package contains 'rustfmt', a tool for formatting Rust code according to
322 style guidelines, as well as 'cargo-fmt', a helper enabling running rustfmt
323 directly with 'cargo fmt'.
327 Depends: ${misc:Depends}, ${shlibs:Depends},
328 rustc (>= ${binary:Version}),
329 rustfmt (>= ${binary:Version}),
330 rust-clippy (>= ${binary:Version}),
331 rust-gdb (>= ${binary:Version}) | rust-lldb (>= ${binary:Version}),
334 cargo (>= 0.71.0~~), cargo (<< 0.72.0~~)
336 rust-doc (>= ${binary:Version}),
337 rust-src (>= ${binary:Version}),
338 libstd-rust-dev-wasm32 (>= ${binary:Version}),
339 libstd-rust-dev-windows (>= ${binary:Version}),
340 Description: Rust systems programming language - all developer tools
341 Rust is a curly-brace, block-structured expression language. It
342 visually resembles the C language family, but differs significantly
343 in syntactic and semantic details. Its design is oriented toward
344 concerns of "programming in the large", that is, of creating and
345 maintaining boundaries - both abstract and operational - that
346 preserve large-system integrity, availability and concurrency.
348 It supports a mixture of imperative procedural, concurrent actor,
349 object-oriented and pure functional styles. Rust also supports
350 generic programming and meta-programming, in both static and dynamic
353 This package is an empty metapackage that depends on all developer tools
354 in the standard rustc distribution that have been packaged for Debian.
360 Depends: ${shlibs:Depends}, ${misc:Depends},
363 gcc | clang | c-compiler
364 Suggests: cargo-doc, python3
365 Description: Rust package manager
366 Cargo is a tool that allows Rust projects to declare their various
367 dependencies, and ensure that you'll always get a repeatable build.
369 To accomplish this goal, Cargo does four things:
370 * Introduces two metadata files with various bits of project information.
371 * Fetches and builds your project's dependencies.
372 * Invokes rustc or another build tool with the correct parameters to build
374 * Introduces conventions, making working with Rust projects easier.
376 Cargo downloads your Rust project’s dependencies and compiles your
382 Build-Profiles: <!nodoc>
384 Depends: ${misc:Depends}
385 Description: Rust package manager, documentation
386 Cargo is a tool that allows Rust projects to declare their various
387 dependencies, and ensure that you'll always get a repeatable build.
389 To accomplish this goal, Cargo does four things:
390 * Introduces two metadata files with various bits of project information.
391 * Fetches and builds your project's dependencies.
392 * Invokes rustc or another build tool with the correct parameters to build
394 * Introduces conventions, making working with Rust projects easier.
396 Cargo downloads your Rust project’s dependencies and compiles your
399 This package contains the documentation.
401 # TODO: add a cargo-src package