]>
Commit | Line | Data |
---|---|---|
991bc1cf | 1 | =============== |
2f04e9c1 XL |
2 | Immediate goals |
3 | =============== | |
4 | ||
991bc1cf XL |
5 | See end of this document for "eventual goals". |
6 | ||
2f04e9c1 | 7 | |
f830d4fb | 8 | Remove old libraries |
991bc1cf | 9 | ==================== |
f830d4fb XL |
10 | |
11 | Should file a RM request to ftpmasters for these old crates: | |
12 | ||
4fb5130c | 13 | - wayland-commons after the 0.30 wayland stack is uploaded |
f830d4fb XL |
14 | |
15 | ||
a57a3361 | 16 | Unblocking testing migrations |
991bc1cf XL |
17 | ============================= |
18 | ||
19 | Run ``dev/rust-excuses.mk refresh all`` to see these in a nice graph. | |
a57a3361 | 20 | |
e1b6b398 XL |
21 | Run ``dev/rust-regressions.sh`` to analyse autopkgtest regressions. |
22 | ||
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. | |
26 | ||
a847058b | 27 | |
2e78543b | 28 | New packages |
991bc1cf | 29 | ============ |
a847058b | 30 | |
2e78543b | 31 | Use ``dev/list-remaining-deps.sh`` to help you figure out what's missing. |
4a17a770 | 32 | |
2e78543b | 33 | rustfmt-nightly |
991bc1cf | 34 | --------------- |
721491ce | 35 | |
52228d78 FG |
36 | note: (stable) rustfmt is shipped as part of src:rustc nowadays.. |
37 | ||
e1374b64 | 38 | * rustc-ap-syntax |
5c55c542 | 39 | * rustc-ap-rustc_data_structures (prepared) |
776fa542 SL |
40 | * rustc-ap-graphviz (needs nightly) |
41 | * rustc-ap-rustc-cratesio-shim (needs nightly) | |
42 | * rustc-ap-rustc-errors (depends on the rest of the list here) | |
e1374b64 SL |
43 | * rustc-ap-rustc-target |
44 | * rustc-ap-serialize (to be uploaded, dep issue?!) | |
45 | * rustc-ap-syntax-pos | |
776fa542 | 46 | * rustc-ap-serialize (fails because of usage of nightly feature) |
e1374b64 | 47 | |
87ad78fe SL |
48 | bat update |
49 | ---------- | |
50 | ||
17db03af | 51 | syntect is in debian |
87ad78fe SL |
52 | Needs syntect => onig => onig-sys => bindgen 0.55 (for librust-bindgen-0.51+runtime-dev) |
53 | Disabling syntect in bat causes: | |
54 | error[E0433]: failed to resolve: use of undeclared type or module `syntect` | |
55 | --> src/terminal.rs:4:5 | |
56 | ||
57 | ||
2e78543b | 58 | bingrep |
991bc1cf | 59 | ------- |
e9673348 | 60 | |
e9673348 | 61 | * metagoblin |
991bc1cf | 62 | |
05270f6b SL |
63 | tokei |
64 | ----- | |
65 | ||
66 | needs handlebars | |
67 | which needs pest | |
68 | which needs ucd-trie | |
1a206c8a | 69 | |
0467017f XL |
70 | librsvg |
71 | ------- | |
72 | ||
f6e1db38 | 73 | see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907629 |
0467017f | 74 | |
335d5faf MG |
75 | [ ] nalgebra: 4 reverse dependencies |
76 | [ ] simba: 2 reverse dependencies | |
77 | [ ] rctree: no missing dependencies | |
78 | [ ] lopdf: one reverse dependency | |
79 | [ ] yeslogic-fontconfig-sys: | |
b94d06f9 | 80 | [x] clap v4 |
335d5faf MG |
81 | [x] GTK related packages |
82 | [ ] some cairo related packages (need newer gtk) | |
0467017f XL |
83 | |
84 | ||
296a4fd8 SL |
85 | bench |
86 | ----- | |
296a4fd8 | 87 | |
17db03af MG |
88 | * packageable |
89 | ||
f6e1db38 MG |
90 | cargo-deb |
91 | ---------------- | |
92 | ||
93 | * should be packagable | |
94 | ||
95 | ||
17db03af | 96 | rustup (#1026333) |
718b98af NBS |
97 | ------ |
98 | ||
99 | * rustup (not available as a crate) | |
b94d06f9 | 100 | * download (private crate) (needs patched out reqwest features) |
f6e1db38 | 101 | * async-compression (merged) |
51429d78 | 102 | |
51429d78 | 103 | |
b94d06f9 MG |
104 | clap v2 dependency list |
105 | ----------------------- | |
106 | structopt used clap v2 | |
107 | dotenv is unmaintained and superseded by dotenvy which uses clap v3; | |
108 | hexyl uses clapv4 | |
109 | sniffglue, git-absorb, sha1collision, gcov, libslirp and cargo-binutils depend on structopt | |
110 | rav1e uses also clap4 | |
111 | ||
112 | ||
113 | GTK stack dependency tree | |
114 | ------------------------- | |
115 | ||
b259469d MG |
116 | Since every gtk-rs release is versioned and a lot of crates are affected updating it is a lot of work and only be done if neccessary. |
117 | I made this convienient dependency tree to illustrate how to update. You should start at the top and update all sys-crates first. | |
118 | Then update the regular crates, also from top to bottom. For convinience pass the debs along like this: `./build.sh gstreamer-sys *.deb`. | |
119 | ||
220eea50 MG |
120 | **Never update just one single package or just some part of this stack! Check if it can be bumped safely!** |
121 | ||
122 | ||
b259469d | 123 | sys crate overview |
220eea50 MG |
124 | |
125 | ||
126 | * glib-sys | |
127 | * gobject-sys, cairo-sys-rs, graphene-sys, gdk4-wayland-sys -> need glib-sys | |
128 | * gio-sys, atk-sys, gstreamer-sys, pango-sys -> need gobject-sys | |
129 | * pangocairo-sys -> needs cairo-sys-rs and pango-sys | |
130 | * gdk-pixbuf-sys, gdk-sys -> need gio-sys | |
131 | * gdkx11-sys, gtk-sys -> need gdk-sys | |
132 | * gdk4-sys -> needs gdkx11-sys | |
133 | * gdk4-x11-sys -> needs gdk-4-sys | |
134 | * gsk4-sys -> needs gdk-x11-sys | |
135 | * gtk4-sys -> needs gsk-4-sys | |
136 | * libadwaita-sys, libshumate-sys -> need gtk4-sys | |
137 | ||
138 | * gstreamer-sys -> needs gio-sys | |
139 | * gstreamer-audio-sys -> gstreamer-sys | |
140 | * gstreamer-video-sys -> gstreamer-sys | |
141 | * gstreamer-pbutils-sys -> gstreamer-audio-sys | |
142 | * gstreamer-player-sys -> gstreamer-video-sys | |
b259469d | 143 | |
b259469d | 144 | |
0e1a39f6 | 145 | Non-sys crate overview |
b259469d | 146 | |
0e1a39f6 MG |
147 | * gtk3-macros |
148 | * glib -> glib-macros, glib-sys, gobject-sys, gio-sys | |
b259469d | 149 | |
0e1a39f6 MG |
150 | * gio -> glib, gio-sys |
151 | * atk -> glib, atk-sys | |
152 | * graphene-rs -> glib, graphene-sys | |
153 | * cairo-rs -> freetype-rs, cairo-rs-sys, glib | |
b259469d | 154 | |
0e1a39f6 MG |
155 | * pangocairo -> glib, cairo-rs, pango, pangocairo-sys |
156 | * pango -> glib, gio, pango-sys | |
157 | * gdk-pixbuf -> gio, glib, gdk-pixbuf-sys | |
b259469d | 158 | |
0e1a39f6 MG |
159 | * gdk -> gdk-pixbuf, gio, glib, cairo-rs, pango, gdk-sys |
160 | * gtk -> gtk3-macros, pango, gdk, gdk-pixbuf, cairo-rs, atk | |
161 | * gdk-x11 -> glib, gio, gdk, x11, gdkx11-sys | |
162 | * libhandy -> gdk, glib, gio, pango, gdk-pixbuf, gtk | |
b259469d | 163 | |
0e1a39f6 MG |
164 | * gdk4 -> cairo-rs, gio, glib, pango, gdk-pixbuf, gdk4-sys |
165 | * gdk4-x11 -> gdk4 | |
166 | * gsk -> gdk4 | |
167 | * gdk4-x11 -> gdk4 | |
168 | * gdk4-wayland -> gdk4 | |
169 | * gtk4 -> cairo-rs, gdk4, gdk-pixbuf, gtk4-sys, gtk4-macros, graphene-rs | |
b259469d | 170 | |
220eea50 MG |
171 | * gstreamer -> glib |
172 | * gstreamer-base -> gstreamer | |
173 | * gstreamer-video -> gstreamer-base | |
174 | * gstreamer-audio -> gstreamer-audio | |
0e1a39f6 | 175 | |
b94d06f9 MG |
176 | cxx depedency tree |
177 | ----------------- | |
178 | ||
179 | * cxx (level 2) | |
180 | * cxx-build (level 1) | |
181 | * cxx-gen (level 1) | |
182 | * cxxbridge-macros (level 1) | |
183 | * cxxbridge-flags (level 1) | |
184 | * link-cplusplus (level 1) | |
185 | ||
186 | matrix-sdk dependency tree | |
187 | -------------------------- | |
188 | ||
189 | * matrix-sdk | |
190 | * ruma | |
191 | * ruma-appservice-api | |
192 | * ruma-state-res | |
193 | * ruma-signatures | |
194 | * ruma-push-gateway-api | |
195 | * ruma-identity-service-api | |
196 | * ruma-federation-api | |
197 | * ruma-client | |
198 | * ruma-client-api | |
199 | * ruma-common | |
200 | * ruma-macros | |
201 | * ruma-identifiers-valiadation | |
202 | ||
17db03af | 203 | fractal (#900928) |
0cfe2570 AS |
204 | ------- |
205 | ||
206 | * gspell | |
207 | * gspell-sys | |
208 | * gstreamer-editing-services | |
209 | * gstreamer-player | |
17db03af | 210 | * matrix-sdk (WIP) |
749cf2db | 211 | * sourceview5 |
17db03af | 212 | * ashpd crates |
51429d78 | 213 | |
bc5a9817 MG |
214 | obfuscate |
215 | --------- | |
216 | ||
217 | * libadwaita | |
218 | ||
17db03af | 219 | podcasts (#965044) |
bc5a9817 MG |
220 | -------- |
221 | ||
222 | * gstreamer-player | |
17db03af MG |
223 | * mpris-player (broken) |
224 | ||
225 | gping (#975495) | |
226 | ------- | |
227 | ||
f6e1db38 | 228 | * needs an update |
17db03af MG |
229 | |
230 | lfs (#1006367) | |
231 | ------- | |
232 | ||
17db03af MG |
233 | * termimad |
234 | * coloor | |
235 | * minimad (merged) | |
236 | ||
237 | cargo debstatus (#1026852) | |
238 | ------ | |
239 | ||
240 | * postgres (merged) | |
17db03af MG |
241 | |
242 | bottom | |
243 | ------- | |
244 | ||
245 | * no missing deps, waiting on upstream to drop heim | |
b94d06f9 | 246 | * TODO: file ITP |
17db03af MG |
247 | |
248 | macchina | |
249 | ------ | |
17db03af | 250 | * color-to-tui (merged) |
17db03af MG |
251 | * libmacchina |
252 | * sqlite | |
253 | * sqlite-sys (merged) | |
254 | * sqlite-src (merged) | |
255 | ||
256 | shortwave (#951166) | |
257 | ------- | |
258 | ||
259 | * libadwaita | |
260 | * mdns (merged) | |
261 | * libshumate | |
17db03af MG |
262 | * mpris-player ( deprecated, fails to build against newer dbus) |
263 | ||
264 | popsicle (#1007982) | |
265 | ------ | |
266 | ||
17db03af MG |
267 | * srmv |
268 | * genawaiter (merged) | |
269 | * sys-mount (needs rustc 1.65) | |
f6e1db38 | 270 | * pwd (upstream license issues :( ) |
17db03af MG |
271 | * iso9660 (broken) |
272 | * i18n-embed-fl | |
273 | * i18n-embed | |
f6e1db38 | 274 | |
bc5a9817 | 275 | |
991bc1cf XL |
276 | ============== |
277 | Eventual goals | |
278 | ============== | |
279 | ||
280 | Binary crates worth packaging (please add if you know more): | |
281 | ||
17db03af | 282 | |
af1dd973 | 283 | - asus-ctl - control asus laptops (https://gitlab.com/asus-linux/asusctl) |
e1b6b398 XL |
284 | - bench - simple benchmarking |
285 | - bingrep - Grep through binaries from various OSs and architectures. | |
17db03af | 286 | - bottom - Cross-platform monitoring tool (https://github.com/ClementTsang/bottom) |
a6fd8adf | 287 | - cargo-deb - Create Debian packages from Cargo projects |
ad1e69c4 | 288 | - cargo-debstatus - Print the status of crate’s dependencies in Debian |
908974bc | 289 | - cargo-download - Download sources of a crate |
991bc1cf | 290 | - cargo-edit - Cargo editing subcommands (add, rm, upgrade) |
3eafad0d | 291 | - diskonaut - interactive disk usage tui tool |
e1b6b398 | 292 | - hg - Rust implement of hg |
991bc1cf | 293 | - jql - JSON Query Language CLI tool. |
17db03af | 294 | - macchina - fetch CLI tool (https://github.com/Macchina-CLI/macchina) |
a6fd8adf | 295 | - meli - terminal mail client (https://meli.delivery/) |
ad1e69c4 AS |
296 | - recode_rs - CLI tool converting between the character encodings. |
297 | - resvg - SVG renderer (in Debian; packaged separately, but doesn’t build anymore) | |
e1b6b398 | 298 | - rural - User-friendly command-line HTTP tool |
3eafad0d | 299 | - rust-analyzer - modular rust compiler frontend with LSP |
991bc1cf | 300 | - rustfmt-nightly - rust coding style |
718b98af | 301 | - rustup - installing and managing multiple rust toolchains |
e1b6b398 | 302 | - tmux-hints - Find matches (e.g. urls) and navigate them by keyboard |
3eafad0d | 303 | - viu - Command-line image viewer |
e1b6b398 | 304 | - xsv - Command line program for manipulating CSV files |
3eafad0d | 305 | - zola - static site generator (https://www.getzola.org/) |
991bc1cf | 306 | |
17db03af MG |
307 | GUI GTK-based programs: |
308 | ||
309 | - authenticator - 2FA program (GTK/libadwaita, https://gitlab.gnome.org/World/Authenticator) | |
310 | - amberol - simple music player (GTK/libadwaita, https://gitlab.gnome.org/World/Amberol) | |
311 | - brewstillery - Brewer's, vinter's and distiller's calculator (GTK). | |
312 | - decoder - qr code reader (GTK/libadwaita, https://apps.gnome.org/app/com.belmoussaoui.Decoder/) | |
313 | - fractal - Matrix messaging client (GTK, https://wiki.gnome.org/Apps/Fractal) | |
314 | - fragments - bittorrent client (GTK/libadwaita, https://apps.gnome.org/de/app/de.haeckerfelix.Fragments/) | |
315 | - health - health tracking app (GTK/libadwaita, https://apps.gnome.org/de/app/dev.Cogitri.Health/) | |
316 | - kooha - screen recorder (GTK/libadwaita, https://github.com/SeaDve/Kooha) | |
317 | - mousai - song recognition (GTK/libadwaita, https://apps.gnome.org/de/app/io.github.seadve.Mousai/) | |
318 | - obfuscate - censor private information (GTK/libadwaita, https://apps.gnome.org/de/app/com.belmoussaoui.Obfuscate/) | |
319 | - pika-backup - backup program (GTK/libadwaita, https://apps.gnome.org/de/app/org.gnome.World.PikaBackup/) | |
320 | - podcasts - Podcasts app (GTK, https://wiki.gnome.org/Apps/Podcasts) | |
321 | - popsicle - USB flasher (GTK, https://github.com/pop-os/popsicle) | |
322 | - shortwave - Internet radio client (GTK, https://gitlab.gnome.org/World/Shortwave) | |
323 | - spot - spotify client (GTK/libadwaita, https://github.com/xou816/spot) | |
324 | - system-76-power - manage power profiles (https://github.com/pop-os/system76-power) | |
325 | - video-trimmer - Trim videos (GTK/libadwaita, https://gitlab.gnome.org/YaLTeR/video-trimmer) | |
326 | ||
991bc1cf XL |
327 | To see lists of interesting binary crates, you can run something like:: |
328 | ||
329 | $ apt-get install koji-client | |
330 | $ koji -p fedora search package 'rust-*' | cut -b6- | dev/filter-binary-crates.sh | |
331 | ||
e1b6b398 XL |
332 | Current output (on 2020-01-17), minus stuff already in Debian, is: |
333 | ||
334 | afterburn | |
335 | alloc-no-stdlib | |
336 | alloc-stdlib | |
337 | askalono-cli | |
338 | brotli | |
339 | brotli-decompressor | |
340 | cargo-c | |
341 | comrak | |
342 | coreos-installer | |
343 | ffsend | |
344 | heatseeker | |
345 | jql | |
346 | lsd | |
347 | multipart | |
348 | open | |
349 | permutate | |
350 | pretty-git-prompt | |
351 | qrcode | |
352 | skim | |
353 | starship | |
354 | varlink-cli | |
355 | varlink_generator | |
991bc1cf | 356 | |
17db03af MG |
357 | koji-client seems to be not available in testing/unstable (2022-12-25). |
358 | ||
991bc1cf XL |
359 | Sccache is also helpful for reducing the build-time of things like firefox and thunderbird |
360 | ||
361 | - sccache https://github.com/mozilla/sccache | |
362 | ||
17db03af MG |
363 | In debian :) |
364 | ||
991bc1cf XL |
365 | There are also more binaries here: |
366 | ||
367 | https://github.com/rust-unofficial/awesome-rust |