]> git.proxmox.com Git - debcargo-conf.git/blob - TODO.rst
backport tokio-stream 0.1.6-1
[debcargo-conf.git] / TODO.rst
1 ===============
2 Immediate goals
3 ===============
4
5 See end of this document for "eventual goals".
6
7
8 Remove old libraries
9 ====================
10
11 Should file a RM request to ftpmasters for these old crates:
12
13 (no old crates, yay!)
14
15
16 Ready for upload (Request For Sponsor)
17 ======================================
18
19 If you do not have upload rights, simply ``touch src/$crate/debian/RFS`` in
20 your crate's directory, commit and push it, and a DD or DM will get around to
21 it at some point.
22
23 To list all packages under RFS, run ``dev/list-rfs.sh``.
24
25 If your update breaks semver compatibility, please first check the reverse
26 dependencies by running::
27
28 $ aptitude search '~Dlibrust-$cratename'
29
30 and try to verify that they won't be broken by your update, by building them.
31 If they are broken, then:
32
33 1. Document the problem in ``debian/BLOCK``.
34 2. File an issue upstream to report that they should update to the new library
35 3. Write a patch if you can get that working, and document it.
36
37
38 Unblocking testing migrations
39 =============================
40
41 Run ``dev/rust-excuses.mk refresh all`` to see these in a nice graph.
42
43 Run ``dev/rust-regressions.sh`` to analyse autopkgtest regressions.
44
45 From the excuses graph, find the lowest crates i.e. those with no arrows going
46 outwards to other crates. Then run ``dev/list-rdeps.sh @ $lowest_crotes`` to
47 see which of its rdeps are broken, and need to be fixed.
48
49
50 New packages
51 ============
52
53 Use ``dev/list-remaining-deps.sh`` to help you figure out what's missing.
54
55 rustfmt-nightly
56 ---------------
57
58 * rustc-ap-syntax
59 * rustc-ap-rustc_data_structures (prepared)
60 * rustc-ap-graphviz (needs nightly)
61 * rustc-ap-rustc-cratesio-shim (needs nightly)
62 * rustc-ap-rustc-errors (depends on the rest of the list here)
63 * rustc-ap-rustc-target
64 * rustc-ap-serialize (to be uploaded, dep issue?!)
65 * rustc-ap-syntax-pos
66 * rustc-ap-serialize (fails because of usage of nightly feature)
67
68 bat update
69 ----------
70
71 Needs syntect => onig => onig-sys => bindgen 0.55 (for librust-bindgen-0.51+runtime-dev)
72 Disabling syntect in bat causes:
73 error[E0433]: failed to resolve: use of undeclared type or module `syntect`
74 --> src/terminal.rs:4:5
75
76
77 bingrep
78 -------
79
80 * hexplay
81 * metagoblin
82
83 tokei
84 -----
85
86 needs handlebars
87 which needs pest
88 which needs ucd-trie
89
90 librsvg
91 -------
92
93 see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907629
94
95 [ ] alga
96 [ ] c_vec
97 [ ] criterion
98 [ ] criterion-plot
99 [ ] criterion-stats
100 [ ] downcast-rs
101 [ ] handlebars
102 [ ] itertools-num
103 [ ] matrixmultiply
104 [ ] nalgebra
105 [ ] num-traits-0.1.43
106 [ ] pest_derive
107 [ ] quote-0.3.15
108 [ ] rand-0.4.2
109 [ ] rawpointer
110 [ ] syn-0.11.11
111 [ ] synom
112 [ ] unicode-xid-0.0.4
113
114
115 bench
116 -----
117 * criterion
118 * criteron-plot
119
120 rustup
121 ------
122
123 * rustup (not available as a crate)
124 * git-testament
125 * git-testament-derive
126 * markdown
127 * pipeline
128 * retry
129 * xz2
130
131 tokio/futures/hyper with async/await
132 ------------------------------------
133
134 *dependency tree*
135
136 * futures 0.3.4
137 * futures-executor 0.3.4
138 * futures-util 0.3.4
139 * futures-task 0.3.4
140 * futures-channel 0.3.4
141 * futures-core 0.3.4
142 * future-sink 0.3.4
143 * futures-io 0.3.4
144 * futures-macro 0.3.4
145 * pin-utils 0.1.0-alpha.4
146 * proc-macro-nested 0.1.3
147
148 * tokio-macros 0.2.3
149
150 * tokio 0.2.10
151 * bytes 0.5.3 (outdated)
152 * futures-core 0.3.4 (see above)
153 * pin-project-lite 0.1.1
154 * tokio-macros 0.2.3
155
156 * tokio-tls 0.3.0
157 * tokio 0.2.10 (+ subset of dependencies)
158
159 * tokio-util 0.2.0
160 * tokio 0.2.10 (+ subset of dependencies)
161 * futures-sink 0.3.4 (see above)
162
163 * hyper 0.13.1
164 * futures-* 0.3.4 (see above)
165 * h2 0.2.1
166 * futures-* 0.3.4 (see above)
167 * http 0.2.0
168 * bytes 0.5.3 (needed for tokio anyway)
169 * tokio 0.2.10 (see above)
170 * tokio-util 0.2.0 (see above)
171 * http-body 0.3.4
172 * http 0.2.0 (+ deps)
173 * pin-project 0.4.7
174 * pin-project-internal 0.4.7
175 * tokio 0.2.10 (see above)
176 * tower-service 0.3.0
177 * want 0.3.0
178 * mio 0.6.21
179 * iovec 0.1.4
180
181 *rdeps outside of tokio/futures/hyper*
182
183 * bcder (recently packaged, not yet compatible with bytes 0.5)
184 * bufstream (dead upstream, no rdeps)
185 * buffered-reader
186 * bzip2 (no upstream support yet, no rdeps for future/tokio features)
187 * cargo
188 * debcargo
189 * flate2 (no upstream support (yet), no rdeps for future/tokio features)
190 * gstreamer-* (new upstream version is compatible, updated, no non-gstreamer rdeps, needs glib update, which triggers:
191 * atk
192 * cairo-rs
193 * gdk
194 * gdk-pixbuf
195 * gio
196 * gtk
197 * pangocairo
198 * pango
199 * and their respective sys crates
200 * hdrhistogram
201 * mio-extras
202 * mio-extras (no rdeps, compatible)
203 * mio-named-pipes
204 * mio-named-pipes (no rdeps except tokio-process, compatible)
205 * mio-uds
206 * mio-uds (rdeps: signal-hook, tokio-uds, tokio-signal)
207 * object
208 * ogg
209 * pcap (no rdeps, can be dropped)
210 * protobuf
211 * reqwest (updated, needs updated hyper-tls, new wasm-bindgen-futures, updated web-sys/js-sys/webasm)
212 * rspotify
213 * sequoia-openpgp
214 * 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)
215 * string (relaxed dep on bytes)
216 * syntect
217 * want (updated)
218 * zip
219
220 *old crates to be removed*
221
222 * futures-cpupool (no rdeps outside of futures/tokio/hyper, merged into futures-executor)
223 * tokio-async-await (merged into tokio-macros)
224 * tokio-buf (dropped upstream, rdeps no longer need it after updating)
225 * tokio-codec (merged into tokio-util)
226 * tokio-core (only 1 rdep: pcap, can be dropped after pcap was dropped, merged into tokio)
227 * tokio-current-thread (merged into tokio)
228 * tokio-executor (merged into tokio)
229 * tokio-fs (merged into tokio)
230 * tokio-io (merged into tokio, see above for rdeps bufstream, bzip2, flate2)
231 * tokio-process (merged into tokio)
232 * tokio-reactor (renamed to tokio-net, merged into tokio, see above for rdep signal-hook)
233 * tokio-signal (merged into tokio)
234 * tokio-sync (merged into tokio)
235 * tokio-tcp (merged into tokio)
236 * tokio-threadpool (merged into tokio)
237 * tokio-timer (merged into tokio)
238 * tokio-uds (merged into tokio)
239 * tokio-udp (merged into tokio)
240
241 *incompatible rdeps with no futher rdeps, dead upstream, to be removed*
242
243 * pcap (replaced by pcap-sys)
244 * bufstream: https://github.com/alexcrichton/bufstream/issues/13
245
246 *NEW, installable as-is*
247
248 * pin-utils (NEW)
249 * proc-macro-nested (NEW)
250 * futures-sink
251 * futures-task
252 * futures-io
253 * futures-macro
254 * tokio-macros
255 * pin-project-lite
256 * tower-service (NEW)
257 * pin-project-internal + pin-project
258 * paste-impl (NEW) + paste
259 * webasm-bindgen-futures
260
261 *NEW, with dependency within transition*
262
263 * futures-channel (after futures-core/futures-sink)
264 * futures-util (after futures-channel, proc-macro-nested, pin-utils)
265 * futures-executor (after futures-core, futures-task, futures-util)
266 * tokio-tls (after tokio)
267 * tokio-util (after tokio, bytes, futures-core, futures-sink, pin-project-lite)
268
269 fractal
270 -------
271
272 * gspell
273 * gspell-sys
274 * gstreamer-editing-services
275 * gstreamer-player
276 * html2pango
277 * letter-avatar
278 * loggerv
279 * mdl
280 * secret-service (WIP)
281 * sourceview4
282
283 ==============
284 Eventual goals
285 ==============
286
287 Binary crates worth packaging (please add if you know more):
288
289 - bench - simple benchmarking
290 - bingrep - Grep through binaries from various OSs and architectures.
291 - brewstillery - Brewer's, vinter's and distiller's calculator (GTK).
292 - cargo-deb - Create Debian packages from Cargo projects
293 - cargo-debstatus - Print the status of crate’s dependencies in Debian
294 * blocked on postgres
295 - cargo-download - Download sources of a crate
296 - cargo-edit - Cargo editing subcommands (add, rm, upgrade)
297 - diskonaut - interactive disk usage tui tool
298 - fractal - Matrix messaging client (GTK, https://wiki.gnome.org/Apps/Fractal)
299 - hg - Rust implement of hg
300 - jql - JSON Query Language CLI tool.
301 - meli - terminal mail client (https://meli.delivery/)
302 - podcasts - Podcasts app (GTK, https://wiki.gnome.org/Apps/Podcasts)
303 - recode_rs - CLI tool converting between the character encodings.
304 - resvg - SVG renderer (in Debian; packaged separately, but doesn’t build anymore)
305 - rural - User-friendly command-line HTTP tool
306 - rust-analyzer - modular rust compiler frontend with LSP
307 - rustfmt-nightly - rust coding style
308 - rustup - installing and managing multiple rust toolchains
309 - shortwave - Internet radio client (GTK, https://gitlab.gnome.org/World/Shortwave)
310 - tmux-hints - Find matches (e.g. urls) and navigate them by keyboard
311 - viu - Command-line image viewer
312 - xsv - Command line program for manipulating CSV files
313 - zola - static site generator (https://www.getzola.org/)
314
315 To see lists of interesting binary crates, you can run something like::
316
317 $ apt-get install koji-client
318 $ koji -p fedora search package 'rust-*' | cut -b6- | dev/filter-binary-crates.sh
319
320 Current output (on 2020-01-17), minus stuff already in Debian, is:
321
322 afterburn
323 alloc-no-stdlib
324 alloc-stdlib
325 askalono-cli
326 brotli
327 brotli-decompressor
328 cargo-c
329 comrak
330 coreos-installer
331 ffsend
332 heatseeker
333 jql
334 lsd
335 multipart
336 open
337 permutate
338 pretty-git-prompt
339 qrcode
340 skim
341 starship
342 varlink-cli
343 varlink_generator
344
345 Sccache is also helpful for reducing the build-time of things like firefox and thunderbird
346
347 - sccache https://github.com/mozilla/sccache
348
349 There are also more binaries here:
350
351 https://github.com/rust-unofficial/awesome-rust