[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’.
- librsvg & Rust, Ludovic Courtès, 2019/03/06
- Re: librsvg & Rust,
Ludovic Courtès <=