Package: wnpp
Severity: wishlist
X-Debbugs-Cc: [email protected]

* Package name    : rust-rustc-demangle-capi
  Version         : 0.1.1
  Upstream Contact: Alex Crichton <[email protected]>
* URL             : https://crates.io/crates/rustc-demangle-capi
* License         : MIT or Apache-2.0
  Programming Lang: Rust
  Description     : C API for the `rustc-demangle` crate

This package provides the C API and header files for the `rustc-demangle`
crate. It allows non-Rust programming languages (such as C and C++) to leverage
the Rust compiler's native symbol demangling capabilities.

Specifically, this library exposes functions to decode and pretty-print
mangled Rust identifiers, supporting both the legacy and the modern 'v0'
Rust mangling schemes. It compiles down to standard C-ABI shared (`.so`)
and static (`.a`) system libraries alongside a `rustc_demangle.h` header file.

* Why is this package useful/relevant? Is it a dependency for another package?

  This package is required to enable native Rust 'v0' mangling scheme support
  in C/C++ performance profiling tools and debuggers. Specifically, it is
  intended to be used as a build dependency for KDAB Hotspot (a GUI frontend
  for Linux perf) to properly demangle Rust application symbols in flamegraphs
  and call trees. It may also serve as a useful backend or reference for
  other toolchain components like gdb, lldb, or custom binary analysis tools
  packaged within Debian that handle Rust-compiled binaries.

* Do you use it?

  Yes, I intend to use it to profile Rust applications using the Hotspot
  utility as packaged in Debian.

* If there are other packages providing similar functionality, how does it
  compare?

  While standard C++ demanglers (like `c++filt` or `libiberty`) can catch
  some legacy Rust symbols due to their similarities to C++ mangling layouts,
  they fail to properly decode the modern Rust 'v0' mangling scheme. This
  package provides the official implementation directly derived from the Rust
  compiler project (`rust-lang`), ensuring complete and accurate parsing.

* How do you plan to maintain it?

  I am filing this as an RFP (Request for Package) with the hope that the
  Debian Rust Team ([email protected]) can adopt it. Because it
  shares its upstream git repository with the existing `rust-rustc-demangle`
  source package, it is an ideal candidate for automated packaging via
  `debcargo` and collective maintenance within the team structure.

* Are you looking for co-maintainers? Do you need a sponsor?

  Since I am requesting the package as a user rather than introducing it as
  an independent maintainer, I am looking for a maintainer/sponsor within
  the Debian Rust Team to take ownership of the package and its updates.

Reply via email to