Ludovic Courtès writes: > Hello Guix! > > guix-commits@gnu.org skribis: > >> mbakke pushed a commit to branch staging >> in repository guix. >> >> commit ec47c07d0690653be35a75b346f3c3548a3e71d4 >> Author: Marius Bakke >> Date: Wed Oct 24 15:26:10 2018 +0200 >> >> gnu: librsvg: Update to 2.44.12. >> >> * gnu/packages/gnome.scm (librsvg): Update to 2.44.12. >> [arguments]: Replace patching phases with custom variants. Delete five new >> tests. >> [native-inputs]: Add RUST-1.27 and RUST-1.27:CARGO. > > This change was bound to happen since upstream switched to Rust, but > it creates a few issues. > > First, that adds Rust to the base graphical applications, which > significantly increases build times and size: > > --8<---------------cut here---------------start------------->8--- > $ guix size librsvg | tail -1 > total: 207.2 MiB > $ guix size librsvg rust | tail -1 > total: 1052.9 MiB > --8<---------------cut here---------------end--------------->8--- > > Perhaps the size issue can be somewhat mitigated by adding a “lib” > output to the Rust package, but even then it would probably still be an > issue. Librsvg does not depend on Rust at run-time, so the closure size should be similar. However I notice it has a 129MiB (!!) librsvg-2.a, which should be removed. I will do that later. > Also, is the new librsvg API-compatible with the old one? IIUC it still > provides a C API, right? Does guile-rsvg still work, for example? I have not noticed any regressions since the switch. The guile-rsvg tests pass, at least! > What do other distros do? Debian kept ‘librsvg-c’ around, primarily so > that architectures where Rust isn’t supported yet could still work: > . I wanted to ask about this: is Rust supported on all the platforms we support at the moment? While depending on Rust for GTK/GNOME is unfortunate, I do think it's inevitable. By the way, the next version of librsvg will require Rust 1.33 or thereabouts.