Codebase list rust-libslirp / debian/latest TODO.rst
debian/latest

Tree @debian/latest (Download .tar.gz)

TODO.rst @debian/latest

991bc1c
2f04e9c
 
 
991bc1c
 
2f04e9c
f830d4f
991bc1c
f830d4f
 
 
74bbc40
f830d4f
 
a57a336
991bc1c
 
 
a57a336
e1b6b39
 
 
 
 
 
a847058
2e78543
991bc1c
a847058
2e78543
4a17a77
2e78543
991bc1c
721491c
52228d7
 
e1374b6
5c55c54
776fa54
 
 
e1374b6
 
 
776fa54
e1374b6
87ad78f
 
 
17db03a
87ad78f
 
 
 
 
 
2e78543
991bc1c
e967334
 
991bc1c
05270f6
 
 
 
 
 
1a206c8
0467017
 
 
f6e1db3
0467017
 
 
17db03a
0467017
 
 
 
 
 
 
 
 
 
 
 
 
b94d06f
17db03a
0467017
 
296a4fd
 
 
17db03a
 
f6e1db3
 
 
 
 
 
17db03a
718b98a
 
 
b94d06f
f6e1db3
51429d7
 
b94d06f
 
 
 
 
 
 
 
 
 
 
 
b259469
 
 
 
 
0e1a39f
b259469
 
0e1a39f
b259469
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0e1a39f
b259469
0e1a39f
 
b259469
0e1a39f
 
 
 
b259469
0e1a39f
 
 
b259469
0e1a39f
 
 
 
b259469
0e1a39f
 
 
 
 
 
b259469
0e1a39f
b94d06f
0e1a39f
b94d06f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17db03a
0cfe257
 
 
 
 
 
17db03a
 
0cfe257
17db03a
51429d7
bc5a981
 
 
 
 
17db03a
bc5a981
 
 
17db03a
 
 
 
 
f6e1db3
17db03a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b94d06f
17db03a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f6e1db3
17db03a
 
 
f6e1db3
bc5a981
991bc1c
 
 
 
 
 
17db03a
af1dd97
e1b6b39
 
17db03a
a6fd8ad
ad1e69c
908974b
991bc1c
3eafad0
e1b6b39
991bc1c
17db03a
a6fd8ad
ad1e69c
 
e1b6b39
3eafad0
991bc1c
718b98a
e1b6b39
3eafad0
e1b6b39
3eafad0
991bc1c
17db03a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
991bc1c
 
 
 
 
e1b6b39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
991bc1c
17db03a
 
991bc1c
 
 
 
17db03a
 
991bc1c
 
 
===============
Immediate goals
===============

See end of this document for "eventual goals".


Remove old libraries
====================

Should file a RM request to ftpmasters for these old crates:

No old crates, yay !


Unblocking testing migrations
=============================

Run ``dev/rust-excuses.mk refresh all`` to see these in a nice graph.

Run ``dev/rust-regressions.sh`` to analyse autopkgtest regressions.

From the excuses graph, find the lowest crates i.e. those with no arrows going
outwards to other crates. Then run ``dev/list-rdeps.sh @ $lowest_crotes`` to
see which of its rdeps are broken, and need to be fixed.


New packages
============

Use ``dev/list-remaining-deps.sh`` to help you figure out what's missing.

rustfmt-nightly
---------------

note: (stable) rustfmt is shipped as part of src:rustc nowadays..

* rustc-ap-syntax
  * rustc-ap-rustc_data_structures (prepared)
    * rustc-ap-graphviz (needs nightly)
    * rustc-ap-rustc-cratesio-shim (needs nightly)
  * rustc-ap-rustc-errors (depends on the rest of the list here)
  * rustc-ap-rustc-target
  * rustc-ap-serialize (to be uploaded, dep issue?!)
  * rustc-ap-syntax-pos
  * rustc-ap-serialize (fails because of usage of nightly feature)

bat update
----------

syntect is in debian 
Needs syntect => onig => onig-sys => bindgen 0.55 (for librust-bindgen-0.51+runtime-dev)
Disabling syntect in bat causes:
error[E0433]: failed to resolve: use of undeclared type or module `syntect`
 --> src/terminal.rs:4:5


bingrep
-------

* metagoblin

tokei
-----

needs handlebars
which needs pest
which needs ucd-trie

librsvg
-------

see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907629  

[ ] alga
[ ] c_vec
[x] criterion
[ ] downcast-rs
[ ] handlebars
[ ] itertools-num
[ ] matrixmultiply
[ ] nalgebra
[ ] num-traits-0.1.43
[ ] pest_derive
[ ] quote-0.3.15
[ ] rand-0.4.2
[ ] rawpointer
[ ] syn-0.11.11
[ ] synom
[ ] unicode-xid-0.0.4
[x] clap v4
[ ] GTK related packages


bench
-----

* packageable

cargo-deb
----------------

* should be packagable


rustup (#1026333)
------

* rustup (not available as a crate)
 * download (private crate) (needs patched out reqwest features) 
  * async-compression (merged)


clap v2 dependency list 
-----------------------
structopt used clap v2
dotenv is unmaintained and superseded by dotenvy which uses clap v3; 
hexyl uses clapv4
sniffglue, git-absorb, sha1collision, gcov, libslirp and cargo-binutils depend on structopt
rav1e uses also clap4


GTK stack dependency tree
-------------------------

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.
I made this convienient dependency tree to illustrate how to update. You should start at the top and update all sys-crates first.
Then update the regular crates, also from top to bottom. For convinience pass the debs along like this: `./build.sh gstreamer-sys *.deb`.

sys crate overview
  

```

glib-sys
 |
 |-----------------------|----------------------------------------------------------------------|-----------------------|-----------------|
gobject-sys		cairo-sys-rs								|		graphene-sys		gdk4-wayland-sys
 |				|-----------------------------------------------|		|			
 |										|		|		
 |-------------------|------------------------|---------------------|		|		|
gio-sys		atk-sys			   gstreamer-sys	pango-sys	|		|
 |		  |---------------------|	|			|-------|---------------|
 |					|	|				|
 |					|	|			pangocairo-sys
 |-----------------------|		|	|
 gdk-pixbuf-sys		gdk-sys		|	|
 | 			 |		|	|
 |			 |--------------|	|
 |		gdkx11-sys 	     gtk-sys	|
 gdk4-sys			   	|	|
 |---------gdk4-x11-sys	 		|	|
gsk4-sys			|-------|	gstreamer-base-sys
 |			libhandy-sys			|----------------------|
gtk4-sys					gstreamer-audio-sys	gstreamer-video-sys
 |-----------------------|				|			|
libadwaita-sys		libshumate-sys		gstreamer-pbutils-sys	gstreamer-player-sys


```

Non-sys crate overview

* gtk3-macros
* glib -> glib-macros, glib-sys, gobject-sys, gio-sys

* gio -> glib, gio-sys
* atk -> glib, atk-sys
* graphene-rs -> glib, graphene-sys
* cairo-rs -> freetype-rs, cairo-rs-sys, glib

* pangocairo -> glib, cairo-rs, pango, pangocairo-sys
* pango -> glib, gio, pango-sys
* gdk-pixbuf -> gio, glib,  gdk-pixbuf-sys

* gdk -> gdk-pixbuf, gio, glib, cairo-rs, pango, gdk-sys
* gtk -> gtk3-macros, pango, gdk, gdk-pixbuf, cairo-rs, atk
* gdk-x11 -> glib, gio, gdk, x11, gdkx11-sys
* libhandy -> gdk, glib, gio, pango, gdk-pixbuf, gtk

* gdk4 -> cairo-rs, gio, glib, pango, gdk-pixbuf, gdk4-sys
* gdk4-x11 -> gdk4
* gsk -> gdk4
* gdk4-x11 -> gdk4
* gdk4-wayland -> gdk4
* gtk4 -> cairo-rs, gdk4, gdk-pixbuf, gtk4-sys, gtk4-macros, graphene-rs

* gstreamer -> ?

  
cxx depedency tree
-----------------

* cxx (level 2)
 * cxx-build (level 1)
 * cxx-gen (level 1)
 * cxxbridge-macros (level 1)
 * cxxbridge-flags (level 1)
 * link-cplusplus (level 1)

matrix-sdk dependency tree
--------------------------

* matrix-sdk
 * ruma
  * ruma-appservice-api
  * ruma-state-res
  * ruma-signatures
  * ruma-push-gateway-api
  * ruma-identity-service-api
  * ruma-federation-api
  * ruma-client
  * ruma-client-api
  * ruma-common
   * ruma-macros
   * ruma-identifiers-valiadation

fractal (#900928)
-------

* gspell
   * gspell-sys
* gstreamer-editing-services
* gstreamer-player
* matrix-sdk (WIP)
* comrak
* sourceview4
* ashpd crates

obfuscate
---------

* libadwaita

podcasts (#965044)
--------

* gstreamer-player
* mpris-player (broken)

gping (#975495)
-------

* needs an update

lfs (#1006367)
-------

* termimad
 * coloor
 * minimad (merged)

cargo debstatus (#1026852)
------

* postgres (merged)

bottom
-------

* no missing deps, waiting on upstream to drop heim
* TODO: file ITP

macchina
------
* color-to-tui (merged)
* libmacchina
 * sqlite
  * sqlite-sys (merged)
   * sqlite-src (merged)
   
shortwave (#951166)
-------

* libadwaita
* mdns (merged)
* libshumate
* mpris-player ( deprecated, fails to build against newer dbus)

popsicle (#1007982)
------

* srmv
 * genawaiter (merged)
* sys-mount (needs rustc 1.65)
* pwd (upstream license issues :(  )
* iso9660 (broken)
* i18n-embed-fl
 * i18n-embed


==============
Eventual goals
==============

Binary crates worth packaging (please add if you know more):


- asus-ctl - control asus laptops (https://gitlab.com/asus-linux/asusctl)
- bench - simple benchmarking
- bingrep - Grep through binaries from various OSs and architectures.
- bottom - Cross-platform monitoring tool (https://github.com/ClementTsang/bottom)
- cargo-deb - Create Debian packages from Cargo projects
- cargo-debstatus - Print the status of crate’s dependencies in Debian
- cargo-download - Download sources of a crate
- cargo-edit - Cargo editing subcommands (add, rm, upgrade)
- diskonaut - interactive disk usage tui tool
- hg - Rust implement of hg
- jql - JSON Query Language CLI tool.
- macchina - fetch CLI tool (https://github.com/Macchina-CLI/macchina)
- meli - terminal mail client (https://meli.delivery/)
- recode_rs - CLI tool converting between the character encodings.
- resvg - SVG renderer (in Debian; packaged separately, but doesn’t build anymore)
- rural - User-friendly command-line HTTP tool
- rust-analyzer - modular rust compiler frontend with LSP
- rustfmt-nightly - rust coding style
- rustup - installing and managing multiple rust toolchains
- tmux-hints - Find matches (e.g. urls) and navigate them by keyboard
- viu - Command-line image viewer
- xsv - Command line program for manipulating CSV files
- zola - static site generator (https://www.getzola.org/)

GUI GTK-based programs:

- authenticator - 2FA program (GTK/libadwaita, https://gitlab.gnome.org/World/Authenticator)
- amberol - simple music player (GTK/libadwaita, https://gitlab.gnome.org/World/Amberol)
- brewstillery - Brewer's, vinter's and distiller's calculator (GTK).
- decoder - qr code reader (GTK/libadwaita, https://apps.gnome.org/app/com.belmoussaoui.Decoder/)
- fractal - Matrix messaging client (GTK, https://wiki.gnome.org/Apps/Fractal)
- fragments - bittorrent client (GTK/libadwaita, https://apps.gnome.org/de/app/de.haeckerfelix.Fragments/)
- health - health tracking app (GTK/libadwaita, https://apps.gnome.org/de/app/dev.Cogitri.Health/)
- kooha - screen recorder (GTK/libadwaita, https://github.com/SeaDve/Kooha)
- mousai - song recognition (GTK/libadwaita, https://apps.gnome.org/de/app/io.github.seadve.Mousai/)
- obfuscate - censor private information (GTK/libadwaita, https://apps.gnome.org/de/app/com.belmoussaoui.Obfuscate/)
- pika-backup - backup program (GTK/libadwaita, https://apps.gnome.org/de/app/org.gnome.World.PikaBackup/)
- podcasts - Podcasts app (GTK, https://wiki.gnome.org/Apps/Podcasts)
- popsicle - USB flasher (GTK, https://github.com/pop-os/popsicle)
- shortwave - Internet radio client (GTK, https://gitlab.gnome.org/World/Shortwave)
- spot - spotify client (GTK/libadwaita, https://github.com/xou816/spot)
- system-76-power - manage power profiles (https://github.com/pop-os/system76-power)
- video-trimmer - Trim videos (GTK/libadwaita, https://gitlab.gnome.org/YaLTeR/video-trimmer)

To see lists of interesting binary crates, you can run something like::

  $ apt-get install koji-client
  $ koji -p fedora search package 'rust-*' | cut -b6- | dev/filter-binary-crates.sh

Current output (on 2020-01-17), minus stuff already in Debian, is:

  afterburn
  alloc-no-stdlib
  alloc-stdlib
  askalono-cli
  brotli
  brotli-decompressor
  cargo-c
  comrak
  coreos-installer
  ffsend
  heatseeker
  jql
  lsd
  multipart
  open
  permutate
  pretty-git-prompt
  qrcode
  skim
  starship
  varlink-cli
  varlink_generator

koji-client seems to be not available in testing/unstable (2022-12-25).

Sccache is also helpful for reducing the build-time of things like firefox and thunderbird

- sccache https://github.com/mozilla/sccache

In debian :)

There are also more binaries here:

https://github.com/rust-unofficial/awesome-rust