[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: librsvg & Rust

From: Ludovic Courtès
Subject: Re: librsvg & Rust
Date: Fri, 15 Mar 2019 12:29:43 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)


Marius Bakke <address@hidden> skribis:

> Ludovic Courtès <address@hidden> writes:
>> Hello Guix!
>> address@hidden skribis:
>>> mbakke pushed a commit to branch staging
>>> in repository guix.
>>> commit ec47c07d0690653be35a75b346f3c3548a3e71d4
>>> Author: Marius Bakke <address@hidden>
>>> 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.

OK, good.

>> 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!

One test would be to do ‘guix system vm-image --full-boot’ or something,
to generate the derivation that builds the GRUB background image, which
uses Guile-RSVG.

>> 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?

According to Efraim and Danny, we have a problem at the moment.
Presumably that can be worked around?

> 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.

Oh so we’re lagging already?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]