]> git.proxmox.com Git - debcargo-conf.git/blame - TODO.rst
Release package toml-edit
[debcargo-conf.git] / TODO.rst
CommitLineData
991bc1cf 1===============
2f04e9c1
XL
2Immediate goals
3===============
4
991bc1cf
XL
5See end of this document for "eventual goals".
6
2f04e9c1 7
f830d4fb 8Remove old libraries
991bc1cf 9====================
f830d4fb
XL
10
11Should 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 16Unblocking testing migrations
991bc1cf
XL
17=============================
18
19Run ``dev/rust-excuses.mk refresh all`` to see these in a nice graph.
a57a3361 20
e1b6b398
XL
21Run ``dev/rust-regressions.sh`` to analyse autopkgtest regressions.
22
23From the excuses graph, find the lowest crates i.e. those with no arrows going
24outwards to other crates. Then run ``dev/list-rdeps.sh @ $lowest_crotes`` to
25see which of its rdeps are broken, and need to be fixed.
26
a847058b 27
2e78543b 28New packages
991bc1cf 29============
a847058b 30
2e78543b 31Use ``dev/list-remaining-deps.sh`` to help you figure out what's missing.
4a17a770 32
2e78543b 33rustfmt-nightly
991bc1cf 34---------------
721491ce 35
52228d78
FG
36note: (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
48bat update
49----------
50
17db03af 51syntect is in debian
87ad78fe
SL
52Needs syntect => onig => onig-sys => bindgen 0.55 (for librust-bindgen-0.51+runtime-dev)
53Disabling syntect in bat causes:
54error[E0433]: failed to resolve: use of undeclared type or module `syntect`
55 --> src/terminal.rs:4:5
56
57
2e78543b 58bingrep
991bc1cf 59-------
e9673348 60
e9673348 61* metagoblin
991bc1cf 62
05270f6b
SL
63tokei
64-----
65
66needs handlebars
67which needs pest
68which needs ucd-trie
1a206c8a 69
0467017f
XL
70librsvg
71-------
72
f6e1db38 73see 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
85bench
86-----
296a4fd8 87
17db03af
MG
88* packageable
89
f6e1db38
MG
90cargo-deb
91----------------
92
93* should be packagable
94
95
17db03af 96rustup (#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
104clap v2 dependency list
105-----------------------
106structopt used clap v2
107dotenv is unmaintained and superseded by dotenvy which uses clap v3;
108hexyl uses clapv4
109sniffglue, git-absorb, sha1collision, gcov, libslirp and cargo-binutils depend on structopt
110rav1e uses also clap4
111
112
113GTK stack dependency tree
114-------------------------
115
b259469d
MG
116Since 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.
117I made this convienient dependency tree to illustrate how to update. You should start at the top and update all sys-crates first.
118Then 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 123sys 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 145Non-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
176cxx 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
186matrix-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 203fractal (#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
214obfuscate
215---------
216
217* libadwaita
218
17db03af 219podcasts (#965044)
bc5a9817
MG
220--------
221
222* gstreamer-player
17db03af
MG
223* mpris-player (broken)
224
225gping (#975495)
226-------
227
f6e1db38 228* needs an update
17db03af
MG
229
230lfs (#1006367)
231-------
232
17db03af
MG
233* termimad
234 * coloor
235 * minimad (merged)
236
237cargo debstatus (#1026852)
238------
239
240* postgres (merged)
17db03af
MG
241
242bottom
243-------
244
245* no missing deps, waiting on upstream to drop heim
b94d06f9 246* TODO: file ITP
17db03af
MG
247
248macchina
249------
17db03af 250* color-to-tui (merged)
17db03af
MG
251* libmacchina
252 * sqlite
253 * sqlite-sys (merged)
254 * sqlite-src (merged)
255
256shortwave (#951166)
257-------
258
259* libadwaita
260* mdns (merged)
261* libshumate
17db03af
MG
262* mpris-player ( deprecated, fails to build against newer dbus)
263
264popsicle (#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==============
277Eventual goals
278==============
279
280Binary 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
307GUI 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
327To 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
332Current 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
357koji-client seems to be not available in testing/unstable (2022-12-25).
358
991bc1cf
XL
359Sccache 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
363In debian :)
364
991bc1cf
XL
365There are also more binaries here:
366
367https://github.com/rust-unofficial/awesome-rust