5 See end of this document for "eventual goals".
11 Should file a RM request to ftpmasters for these old crates:
16 Unblocking testing migrations
17 =============================
19 Run ``dev/rust-excuses.mk refresh all`` to see these in a nice graph.
21 Run ``dev/rust-regressions.sh`` to analyse autopkgtest regressions.
23 From the excuses graph, find the lowest crates i.e. those with no arrows going
24 outwards to other crates. Then run ``dev/list-rdeps.sh @ $lowest_crotes`` to
25 see which of its rdeps are broken, and need to be fixed.
31 Use ``dev/list-remaining-deps.sh`` to help you figure out what's missing.
37 * rustc-ap-rustc_data_structures (prepared)
38 * rustc-ap-graphviz (needs nightly)
39 * rustc-ap-rustc-cratesio-shim (needs nightly)
40 * rustc-ap-rustc-errors (depends on the rest of the list here)
41 * rustc-ap-rustc-target
42 * rustc-ap-serialize (to be uploaded, dep issue?!)
44 * rustc-ap-serialize (fails because of usage of nightly feature)
49 Needs syntect => onig => onig-sys => bindgen 0.55 (for librust-bindgen-0.51+runtime-dev)
50 Disabling syntect in bat causes:
51 error[E0433]: failed to resolve: use of undeclared type or module `syntect`
52 --> src/terminal.rs:4:5
71 see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907629
101 * rustup (not available as a crate)
103 * git-testament-derive
109 tokio/futures/hyper with async/await
110 ------------------------------------
115 * futures-executor 0.3.4
118 * futures-channel 0.3.4
122 * futures-macro 0.3.4
123 * pin-utils 0.1.0-alpha.4
124 * proc-macro-nested 0.1.3
129 * bytes 0.5.3 (outdated)
130 * futures-core 0.3.4 (see above)
131 * pin-project-lite 0.1.1
135 * tokio 0.2.10 (+ subset of dependencies)
138 * tokio 0.2.10 (+ subset of dependencies)
139 * futures-sink 0.3.4 (see above)
142 * futures-* 0.3.4 (see above)
144 * futures-* 0.3.4 (see above)
146 * bytes 0.5.3 (needed for tokio anyway)
147 * tokio 0.2.10 (see above)
148 * tokio-util 0.2.0 (see above)
150 * http 0.2.0 (+ deps)
152 * pin-project-internal 0.4.7
153 * tokio 0.2.10 (see above)
154 * tower-service 0.3.0
159 *rdeps outside of tokio/futures/hyper*
161 * bcder (recently packaged, not yet compatible with bytes 0.5)
162 * bufstream (dead upstream, no rdeps)
163 * bzip2 (no upstream support yet, no rdeps for future/tokio features)
164 * flate2 (no upstream support (yet), no rdeps for future/tokio features)
165 * gstreamer-* (new upstream version is compatible, updated, no non-gstreamer rdeps, needs glib update, which triggers:
174 * and their respective sys crates
175 * mio-extras (no rdeps, compatible)
176 * mio-named-pipes (no rdeps except tokio-process, compatible)
177 * mio-uds (rdeps: signal-hook, tokio-uds, tokio-signal)
178 * pcap (no rdeps, can be dropped)
179 * reqwest (updated, needs updated hyper-tls, new wasm-bindgen-futures, updated web-sys/js-sys/webasm)
180 * signal-hook (updated version not yet released, single rdep "tokio-signal" got merged into tokio and only uses signal-hook-registry now -> patched to remove dependency)
181 * string (relaxed dep on bytes)
184 *old crates to be removed*
186 * futures-cpupool (no rdeps outside of futures/tokio/hyper, merged into futures-executor)
187 * tokio-async-await (merged into tokio-macros)
188 * tokio-buf (dropped upstream, rdeps no longer need it after updating)
189 * tokio-codec (merged into tokio-util)
190 * tokio-core (only 1 rdep: pcap, can be dropped after pcap was dropped, merged into tokio)
191 * tokio-current-thread (merged into tokio)
192 * tokio-executor (merged into tokio)
193 * tokio-fs (merged into tokio)
194 * tokio-io (merged into tokio, see above for rdeps bufstream, bzip2, flate2)
195 * tokio-process (merged into tokio)
196 * tokio-reactor (renamed to tokio-net, merged into tokio, see above for rdep signal-hook)
197 * tokio-signal (merged into tokio)
198 * tokio-sync (merged into tokio)
199 * tokio-tcp (merged into tokio)
200 * tokio-threadpool (merged into tokio)
201 * tokio-timer (merged into tokio)
202 * tokio-uds (merged into tokio)
203 * tokio-udp (merged into tokio)
205 *incompatible rdeps with no futher rdeps, dead upstream, to be removed*
207 * pcap (replaced by pcap-sys)
208 * bufstream: https://github.com/alexcrichton/bufstream/issues/13
210 *NEW, installable as-is*
213 * proc-macro-nested (NEW)
220 * tower-service (NEW)
221 * pin-project-internal + pin-project
222 * paste-impl (NEW) + paste
223 * webasm-bindgen-futures
225 *NEW, with dependency within transition*
227 * futures-channel (after futures-core/futures-sink)
228 * futures-util (after futures-channel, proc-macro-nested, pin-utils)
229 * futures-executor (after futures-core, futures-task, futures-util)
230 * tokio-tls (after tokio)
231 * tokio-util (after tokio, bytes, futures-core, futures-sink, pin-project-lite)
238 * gstreamer-editing-services
244 * secret-service (WIP)
256 * tokio-rt-multi-thread
263 Binary crates worth packaging (please add if you know more):
265 - authenticator - 2FA program (GTK/libadwaita, https://gitlab.gnome.org/World/Authenticator)
266 - amberol - simple music player (GTK/libadwaita, https://gitlab.gnome.org/World/Amberol)
267 - asus-ctl - control asus laptops (https://gitlab.com/asus-linux/asusctl)
268 - bench - simple benchmarking
269 - bingrep - Grep through binaries from various OSs and architectures.
270 - brewstillery - Brewer's, vinter's and distiller's calculator (GTK).
271 - cargo-deb - Create Debian packages from Cargo projects
272 - cargo-debstatus - Print the status of crate’s dependencies in Debian
273 * blocked on postgres
274 - cargo-download - Download sources of a crate
275 - cargo-edit - Cargo editing subcommands (add, rm, upgrade)
276 - decoder - qr code reader (GTK/libadwaita, https://apps.gnome.org/app/com.belmoussaoui.Decoder/)
277 - diskonaut - interactive disk usage tui tool
278 - fractal - Matrix messaging client (GTK, https://wiki.gnome.org/Apps/Fractal)
279 - fragments - bittorrent client (GTK/libadwaita, https://apps.gnome.org/de/app/de.haeckerfelix.Fragments/)
280 - health - health tracking app (GTK/libadwaita, https://apps.gnome.org/de/app/dev.Cogitri.Health/)
281 - hg - Rust implement of hg
282 - jql - JSON Query Language CLI tool.
283 - kooha - screen recorder (GTK/libadwaita, https://github.com/SeaDve/Kooha)
284 - meli - terminal mail client (https://meli.delivery/)
285 - mousai - song recognition (GTK/libadwaita, https://apps.gnome.org/de/app/io.github.seadve.Mousai/)
286 - obfuscate - censor private information (GTK/libadwaita, https://apps.gnome.org/de/app/com.belmoussaoui.Obfuscate/)
287 - pika-backup - backup program (GTK/libadwaita, https://apps.gnome.org/de/app/org.gnome.World.PikaBackup/)
288 - podcasts - Podcasts app (GTK, https://wiki.gnome.org/Apps/Podcasts)
289 - popsicle - USB flasher (GTK, https://github.com/pop-os/popsicle)
290 - recode_rs - CLI tool converting between the character encodings.
291 - resvg - SVG renderer (in Debian; packaged separately, but doesn’t build anymore)
292 - rural - User-friendly command-line HTTP tool
293 - rust-analyzer - modular rust compiler frontend with LSP
294 - rustfmt-nightly - rust coding style
295 - rustup - installing and managing multiple rust toolchains
296 - shortwave - Internet radio client (GTK, https://gitlab.gnome.org/World/Shortwave)
297 - spot - spotify client (GTK/libadwaita, https://github.com/xou816/spot)
298 - system-76-power - manage power profiles (https://github.com/pop-os/system76-power)
299 - tmux-hints - Find matches (e.g. urls) and navigate them by keyboard
300 - viu - Command-line image viewer
301 - video-trimmer - Trim videos (GTK/libadwaita, https://gitlab.gnome.org/YaLTeR/video-trimmer)
302 - xsv - Command line program for manipulating CSV files
303 - zola - static site generator (https://www.getzola.org/)
305 To see lists of interesting binary crates, you can run something like::
307 $ apt-get install koji-client
308 $ koji -p fedora search package 'rust-*' | cut -b6- | dev/filter-binary-crates.sh
310 Current output (on 2020-01-17), minus stuff already in Debian, is:
335 Sccache is also helpful for reducing the build-time of things like firefox and thunderbird
337 - sccache https://github.com/mozilla/sccache
339 There are also more binaries here:
341 https://github.com/rust-unofficial/awesome-rust