Re: Concerns Regarding the Choice of Rust for the Xfce Wayland Compositor

Yves-Alexis Perez <[email protected]>
Newsgroups gmane.comp.desktop.xfce.devel.version4
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On Tue, 2026-08-11 at 21:54 -0700, Brian Tarricone wrote:
> On Fri, Jul 31, 2026, at 08:31, Yves-Alexis Perez wrote:

Hi Brian, thanks for the reply and the information.

> > 
> > There's a really helpful `debstatus` command in cargo which indicates what
> > is
> > missing from the distribution, and we're definitely not there yet:
> > https://paste.debian.net/hidden/cd97a155
> > 
> > Besides the missing packages, I'm worried about conflicting versions:
> > xfwl4
> > seems to require versions older than what's in Debian, for some reason.
> 
> Looks like the paste expired, but I just installed and ran it myself.  Let's
> see... here's where xfwl4 depends on older versions than Debian has:

Ah yes, sorry.
> 
> * rand 0.9 (and its deps): just submitted a smithay PR[0] to get that
> updated
>   to 0.10; I'm sure that will be fine.  xfwl4 also depends directly on 0.9,
>   which I'll update shortly.
> * pangocairo, pangocairo-sys 0.18: debian has 0.22. Unfortunately this is
>   a side-effect of using gtk3-rs; we cannot update past 0.18, so this older
>   version needs to be packaged.
> * system-deps 6.x, cfg-expr 0.15, target-lexicon 0.12: these are all
>   build-deps of stuff in the gtk3-rs stack, which we can't change,
>   unfortunately, so these older versions need to be packaged.

I don't really think that'll possible, nor scalable, to have multiple versions
of the same packages. I don't think we have (yet?) gtk3-rs in Debian so maybe
we'll not be the only one with issues.

> 
> Also problematic:
> 
> * winit 0.31.0-beta: For some reason smithay decided to update to a beta
>   version of winit; hopefully the final release of 0.31.0 will come soon,
>   and I assume Debian can update.  If this continues to be a problem,
>   Debian can ship xfwl4 with the `winit` feature disabled, which kills
>   the dependency, at the expense of being unable to run xfwl4 nested inside
>   another Wayland session.  (X11 will still work, as xfwl4 has a dedicated
>   nested-x11 backend.)
> * wayland-protocols-experimental 20250721.0.1: that feels like a non-semver
>   versioning scheme; not sure what their policy is on breaking changes.
> 
> Then there are a few crates where xfwl4 depends on something older or newer
> than what Debian packages; I assume that's a matter of packaging version
> xfwl4 needs.  For stuff where they're semver-incompatible, I see packages in
> Debian's archive where older incompatible versions of a package are
> accommodated by putting the compat version in the package name itself, so
> that should be doable?

To be honest, as I'm not familiar with Rust at all, I have no idea what you
mean here :)
> 
> And then beyond that there's a slew of packages that just aren't in Debian
> at all, so that would be a matter of packaging them, presumably with the
> existing Debian tools.

Yeah, for that I'm not entirely afraid, but it "just" needs to be done.
> 
> > Also smithay (and maybe other crates) doesn't seem to do releases and I'm
> > unsure we can put in Debian only the exact version required by xfwl4
> > (especially if it's not on crates.io which seems to be the source expected
> > by
> > Debian Rust ecosystem).
> 
> smithay and smithay-drm-extras should be the only deps that don't do
> releases; all the rest have releases on crates.io.  I know Debian does
> sometimes package from git sources (a quick check shows 42 such packages
> installed on my machine right now), though I get that the current Rust
> tooling for Debian may not support that, so that could be a blocker.

Yeah, this is (I think) a Debian Rust position rather than a more general
Debian position. Still, I'm not in a position to make that policy change,
especially considering I have zero experience in Rust or Rust packaging for
now :)
> 
> Someone did ask[1] a few months ago about smithay doing more frequent
> releases to crates.io, but none of the maintainers responded.  From my
> experience with them on Matrix, they're a great bunch of people (and are
> super accepting of contributions), but they don't seem to be too concerned
> about API/ABI stability at this point in smithay's lifecycle, so maintaining
> API-stable release branches probably isn't something they'd be too
> interested in.

I can understand that...

>   "Pin your favorite git rev in Cargo.toml" is a perfectly reasonable
> approach when considering only the rust/cargo community, but of course
> causes problems for distro packagers.

But yeah, that doesn't really work with the distributions models. And I can
see that people find the whole distributions with stable releases outdated,
but I don't really see how that scales. Someone has to ship binaries to (a lot
of) end users and I don't think we have a real alternative yet and I still
think distributions (including Debian) are still useful. But maybe that means
we (Debian) won't have smithay, and thus won't have xfwl4, and when Xorg is
dropped from Debian maybe that means no Xfce at all.

We're not there yet, but if there's resolution in sight for smithay (whether
from upstream policy changes or from Debian/Rust policy change) I'm not sure
it's worth spending time packaging all the other dependencies, and fixing the
other issues.

Still, thanks for the detailed analysis, that'll definitely be helpful when we
discuss things with Debian Rust maintainers :)

Regards,
- -- 
Yves-Alexis
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEE8vi34Qgfo83x35gF3rYcyPpXRFsFAmp8T20ACgkQ3rYcyPpX
RFvMmQgAiffe7rJD3z5CYM6r41YLwEv9anDaBTNawUjW05XLAV5TcXc+skRUW15k
HtVg7PJsDJvToqNePyWIMHVogcABBBHs5e7e7DBFVMMIYvbsPNxV3YPsrNBt7LQ+
fzhEI3L3igP2FX4LcC0xgF/3M4CFQzgxEQoU37v5WDVuwE7im4NqB9C+5EycazLA
yDC4SuMeJ/wEVQ9QihdIVy5Qvc9uYxvDo6brqJiSHJd/u9NLOYP9Cy3RWVepGEzp
BpCWVNZUp8/RgfYtQdCGkaWo/IWAMspi3Tv+3fxnhY7YxoP/EsP0jefDjR5qeoio
qFlwI/y2pKvt9cOT38Dvq2MtBVsIiA==
=CTnN
-----END PGP SIGNATURE-----
_______________________________________________
Xfce4-dev mailing list
[email protected]
https://mail.xfce.org/mailman/listinfo/xfce4-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.