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 (>= 1.73.0+dfsg) <!pkg.rustc.dlstage0>,
17 rustc:native (>= 1.73.0+dfsg) <!pkg.rustc.dlstage0>,
18 rustc:native (<= 1.74.1++) <!pkg.rustc.dlstage0>,
21 gcc-mingw-w64-x86-64-posix:native [amd64] <!nowindows>,
22 gcc-mingw-w64-i686-posix:native [i386] <!nowindows>,
23 libllvm17 (>= 1:17.0.0),
24 libclang-rt-17-dev:native,
26 # needed by some vendor crates
28 # this is sometimes needed by rustc_llvm
31 # used by rust-installer
35 libcurl4-openssl-dev | libcurl4-gnutls-dev,
38 libgit2-dev (>= 1.7.1),
39 libgit2-dev (<< 1.8~~),
42 binutils (>= 2.26) <!nocheck> | binutils-2.26 <!nocheck>,
43 # temporarily disabled cause of #1066794 / t64 transition
46 # below are optional tools even for 'make check'
47 gdb (>= 7.12) <!nocheck>,
48 # Extra build-deps needed for x.py to download stuff in pkg.rustc.dlstage0.
49 curl <pkg.rustc.dlstage0>,
50 ca-certificates <pkg.rustc.dlstage0>,
52 wasi-libc (>= 0.0~git20230821.ec4566b~~) <!nowasm>,
53 wasi-libc (<= 0.0~git20230821.ec4566b++) <!nowasm>,
55 Build-Conflicts: gdb-minimal <!nocheck>
56 Standards-Version: 4.6.2
57 Homepage: http://www.rust-lang.org/
58 Vcs-Git: https://salsa.debian.org/rust-team/rust.git
59 Vcs-Browser: https://salsa.debian.org/rust-team/rust
64 Pre-Depends: ${misc:Pre-Depends}
65 Depends: ${shlibs:Depends}, ${misc:Depends},
66 libstd-rust-dev (= ${binary:Version}),
67 gcc, libc-dev, binutils (>= 2.26)
69 cargo (= ${binary:Version}),
70 # llvm is needed for llvm-dwp for -C split-debuginfo=packed
72 Replaces: libstd-rust-dev (<< 1.25.0+dfsg1-2~~)
73 Breaks: libstd-rust-dev (<< 1.25.0+dfsg1-2~~)
74 Description: Rust systems programming language
75 Rust is a curly-brace, block-structured expression language. It
76 visually resembles the C language family, but differs significantly
77 in syntactic and semantic details. Its design is oriented toward
78 concerns of "programming in the large", that is, of creating and
79 maintaining boundaries - both abstract and operational - that
80 preserve large-system integrity, availability and concurrency.
82 It supports a mixture of imperative procedural, concurrent actor,
83 object-oriented and pure functional styles. Rust also supports
84 generic programming and meta-programming, in both static and dynamic
87 Package: libstd-rust-1.74
91 Pre-Depends: ${misc:Pre-Depends}
92 Depends: ${shlibs:Depends}, ${misc:Depends}
93 Description: Rust standard libraries
94 Rust is a curly-brace, block-structured expression language. It
95 visually resembles the C language family, but differs significantly
96 in syntactic and semantic details. Its design is oriented toward
97 concerns of "programming in the large", that is, of creating and
98 maintaining boundaries - both abstract and operational - that
99 preserve large-system integrity, availability and concurrency.
101 It supports a mixture of imperative procedural, concurrent actor,
102 object-oriented and pure functional styles. Rust also supports
103 generic programming and meta-programming, in both static and dynamic
106 This package contains the standard Rust libraries, built as dylibs,
107 needed to run dynamically-linked Rust programs (-C prefer-dynamic).
109 Package: libstd-rust-dev
113 Depends: ${shlibs:Depends}, ${misc:Depends},
114 libstd-rust-1.74 (= ${binary:Version}),
115 Description: Rust standard libraries - development files
116 Rust is a curly-brace, block-structured expression language. It
117 visually resembles the C language family, but differs significantly
118 in syntactic and semantic details. Its design is oriented toward
119 concerns of "programming in the large", that is, of creating and
120 maintaining boundaries - both abstract and operational - that
121 preserve large-system integrity, availability and concurrency.
123 It supports a mixture of imperative procedural, concurrent actor,
124 object-oriented and pure functional styles. Rust also supports
125 generic programming and meta-programming, in both static and dynamic
128 This package contains development files for the standard Rust libraries,
129 needed to compile Rust programs. It may also be installed on a system
130 of another host architecture, for cross-compiling to this architecture.
132 Package: libstd-rust-dev-windows
134 Architecture: amd64 i386
136 Depends: ${shlibs:Depends}, ${misc:Depends}
138 gcc-mingw-w64-x86-64-posix [amd64],
139 gcc-mingw-w64-i686-posix [i386],
140 Build-Profiles: <!nowindows>
141 Description: Rust standard libraries - development files
142 Rust is a curly-brace, block-structured expression language. It
143 visually resembles the C language family, but differs significantly
144 in syntactic and semantic details. Its design is oriented toward
145 concerns of "programming in the large", that is, of creating and
146 maintaining boundaries - both abstract and operational - that
147 preserve large-system integrity, availability and concurrency.
149 It supports a mixture of imperative procedural, concurrent actor,
150 object-oriented and pure functional styles. Rust also supports
151 generic programming and meta-programming, in both static and dynamic
154 This package contains the standard Rust libraries including development files,
155 needed to cross-compile Rust programs to the *-pc-windows-gnu target
156 corresponding to the architecture of this package.
158 Package: libstd-rust-dev-wasm32
162 Depends: ${shlibs:Depends}, ${misc:Depends}
163 # Embeds wasi-libc so doesn't need to depend on it
164 # None of its licenses require source redistrib, so no need for Built-Using
168 # nodejs contains wasi-node for running the program
170 Build-Profiles: <!nowasm>
171 Description: Rust standard libraries - development files
172 Rust is a curly-brace, block-structured expression language. It
173 visually resembles the C language family, but differs significantly
174 in syntactic and semantic details. Its design is oriented toward
175 concerns of "programming in the large", that is, of creating and
176 maintaining boundaries - both abstract and operational - that
177 preserve large-system integrity, availability and concurrency.
179 It supports a mixture of imperative procedural, concurrent actor,
180 object-oriented and pure functional styles. Rust also supports
181 generic programming and meta-programming, in both static and dynamic
184 This package contains the standard Rust libraries including development files,
185 needed to cross-compile Rust programs to the wasm32-unknown-unknown and
190 Depends: gdb, ${misc:Depends}
192 Replaces: rustc (<< 1.1.0+dfsg1-1)
193 Description: Rust debugger (gdb)
194 Rust is a curly-brace, block-structured expression language. It
195 visually resembles the C language family, but differs significantly
196 in syntactic and semantic details. Its design is oriented toward
197 concerns of "programming in the large", that is, of creating and
198 maintaining boundaries - both abstract and operational - that
199 preserve large-system integrity, availability and concurrency.
201 It supports a mixture of imperative procedural, concurrent actor,
202 object-oriented and pure functional styles. Rust also supports
203 generic programming and meta-programming, in both static and dynamic
206 This package contains pretty printers and a wrapper script for
207 invoking gdb on rust binaries.
211 # When updating, also update rust-lldb.links
212 Depends: lldb-17, ${misc:Depends}, python3-lldb-17
213 Replaces: rustc (<< 1.1.0+dfsg1-1)
214 Description: Rust debugger (lldb)
215 Rust is a curly-brace, block-structured expression language. It
216 visually resembles the C language family, but differs significantly
217 in syntactic and semantic details. Its design is oriented toward
218 concerns of "programming in the large", that is, of creating and
219 maintaining boundaries - both abstract and operational - that
220 preserve large-system integrity, availability and concurrency.
222 It supports a mixture of imperative procedural, concurrent actor,
223 object-oriented and pure functional styles. Rust also supports
224 generic programming and meta-programming, in both static and dynamic
227 This package contains pretty printers and a wrapper script for
228 invoking lldb on rust binaries.
233 rustc (<< 1.71.1+dfsg1-1~exp1),
234 rustc-web (<< 1.71.1+dfsg1-1~exp1),
235 rustc-mozilla (<< 1.71.1+dfsg1-1~exp1),
237 rustc (<< 1.71.1+dfsg1-1~exp1),
238 rustc-web (<< 1.71.1+dfsg1-1~exp1),
239 rustc-mozilla (<< 1.71.1+dfsg1-1~exp1),
242 # lld and clang are needed for wasm compilation
244 # llvm is needed for llvm-dwp for split-debuginfo=packed
246 Description: Rust LLVM integration
247 Rust is a curly-brace, block-structured expression language. It
248 visually resembles the C language family, but differs significantly
249 in syntactic and semantic details. Its design is oriented toward
250 concerns of "programming in the large", that is, of creating and
251 maintaining boundaries - both abstract and operational - that
252 preserve large-system integrity, availability and concurrency.
254 It supports a mixture of imperative procedural, concurrent actor,
255 object-oriented and pure functional styles. Rust also supports
256 generic programming and meta-programming, in both static and dynamic
259 This package contains symlinks for integration with LLVM tools such as lld and
265 Build-Profiles: <!nodoc>
266 Depends: ${misc:Depends},
267 libjs-jquery, libjs-highlight.js, libjs-mathjax,
268 fonts-open-sans, fonts-font-awesome
269 Recommends: cargo-doc
270 Description: Rust systems programming language - Documentation
271 Rust is a curly-brace, block-structured expression language. It
272 visually resembles the C language family, but differs significantly
273 in syntactic and semantic details. Its design is oriented toward
274 concerns of "programming in the large", that is, of creating and
275 maintaining boundaries - both abstract and operational - that
276 preserve large-system integrity, availability and concurrency.
278 It supports a mixture of imperative procedural, concurrent actor,
279 object-oriented and pure functional styles. Rust also supports
280 generic programming and meta-programming, in both static and dynamic
283 This package contains the Rust tutorial, language reference and
284 standard library documentation.
288 Depends: ${misc:Depends}
289 Description: Rust systems programming language - source code
290 Rust is a curly-brace, block-structured expression language. It
291 visually resembles the C language family, but differs significantly
292 in syntactic and semantic details. Its design is oriented toward
293 concerns of "programming in the large", that is, of creating and
294 maintaining boundaries - both abstract and operational - that
295 preserve large-system integrity, availability and concurrency.
297 It supports a mixture of imperative procedural, concurrent actor,
298 object-oriented and pure functional styles. Rust also supports
299 generic programming and meta-programming, in both static and dynamic
302 This package contains sources of the Rust compiler and standard
303 libraries, useful for IDEs and code analysis tools such as Racer.
308 Depends: ${misc:Depends}, ${shlibs:Depends},
309 libstd-rust-1.74 (= ${binary:Version})
311 Description: Rust linter
312 Rust is a curly-brace, block-structured expression language. It
313 visually resembles the C language family, but differs significantly
314 in syntactic and semantic details. Its design is oriented toward
315 concerns of "programming in the large", that is, of creating and
316 maintaining boundaries - both abstract and operational - that
317 preserve large-system integrity, availability and concurrency.
319 It supports a mixture of imperative procedural, concurrent actor,
320 object-oriented and pure functional styles. Rust also supports
321 generic programming and meta-programming, in both static and dynamic
324 This package contains 'clippy', a linter to catch common mistakes and improve
325 your Rust code as well a collection of over 400 compatible lints.
327 Lints are divided into categories, each with a default lint level. You can
328 choose how much Clippy is supposed to annoy help you by changing the lint
331 Clippy is integrated into the 'cargo' build tool, available via 'cargo clippy'.
336 Depends: ${misc:Depends}, ${shlibs:Depends},
338 Description: Rust formatting helper
339 Rust is a curly-brace, block-structured expression language. It
340 visually resembles the C language family, but differs significantly
341 in syntactic and semantic details. Its design is oriented toward
342 concerns of "programming in the large", that is, of creating and
343 maintaining boundaries - both abstract and operational - that
344 preserve large-system integrity, availability and concurrency.
346 It supports a mixture of imperative procedural, concurrent actor,
347 object-oriented and pure functional styles. Rust also supports
348 generic programming and meta-programming, in both static and dynamic
351 This package contains 'rustfmt', a tool for formatting Rust code according to
352 style guidelines, as well as 'cargo-fmt', a helper enabling running rustfmt
353 directly with 'cargo fmt'.
357 Depends: ${misc:Depends}, ${shlibs:Depends},
358 rustc (>= ${binary:Version}),
359 rustfmt (>= ${binary:Version}),
360 rust-clippy (>= ${binary:Version}),
361 rust-gdb (>= ${binary:Version}) | rust-lldb (>= ${binary:Version}),
364 cargo (= ${binary:Version})
366 rust-doc (>= ${binary:Version}),
367 rust-src (>= ${binary:Version}),
368 libstd-rust-dev-wasm32 (>= ${binary:Version}),
369 libstd-rust-dev-windows (>= ${binary:Version}),
370 Description: Rust systems programming language - all developer tools
371 Rust is a curly-brace, block-structured expression language. It
372 visually resembles the C language family, but differs significantly
373 in syntactic and semantic details. Its design is oriented toward
374 concerns of "programming in the large", that is, of creating and
375 maintaining boundaries - both abstract and operational - that
376 preserve large-system integrity, availability and concurrency.
378 It supports a mixture of imperative procedural, concurrent actor,
379 object-oriented and pure functional styles. Rust also supports
380 generic programming and meta-programming, in both static and dynamic
383 This package is an empty metapackage that depends on all developer tools
384 in the standard rustc distribution that have been packaged for Debian.
390 Depends: ${shlibs:Depends}, ${misc:Depends},
391 rustc (= ${binary:Version}),
393 gcc | clang | c-compiler
394 Suggests: cargo-doc, python3
395 Description: Rust package manager
396 Cargo is a tool that allows Rust projects to declare their various
397 dependencies, and ensure that you'll always get a repeatable build.
399 To accomplish this goal, Cargo does four things:
400 * Introduces two metadata files with various bits of project information.
401 * Fetches and builds your project's dependencies.
402 * Invokes rustc or another build tool with the correct parameters to build
404 * Introduces conventions, making working with Rust projects easier.
406 Cargo downloads your Rust project’s dependencies and compiles your
412 Build-Profiles: <!nodoc>
414 Depends: ${misc:Depends}
415 Description: Rust package manager, documentation
416 Cargo is a tool that allows Rust projects to declare their various
417 dependencies, and ensure that you'll always get a repeatable build.
419 To accomplish this goal, Cargo does four things:
420 * Introduces two metadata files with various bits of project information.
421 * Fetches and builds your project's dependencies.
422 * Invokes rustc or another build tool with the correct parameters to build
424 * Introduces conventions, making working with Rust projects easier.
426 Cargo downloads your Rust project’s dependencies and compiles your
429 This package contains the documentation.
431 # TODO: add a cargo-src package