guix-devel
[Top][All Lists]
Advanced

[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)

Hi!

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:
>> <https://lwn.net/Articles/771355/>.
>
> 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.

Yeah.

> By the way, the next version of librsvg will require Rust 1.33 or
> thereabouts.

Oh so we’re lagging already?

Thanks,
Ludo’.



reply via email to

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