guix-devel
[Top][All Lists]
Advanced

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

Re: librsvg & Rust


From: Marius Bakke
Subject: Re: librsvg & Rust
Date: Wed, 06 Mar 2019 16:46:16 +0100
User-agent: Notmuch/0.28.2 (https://notmuchmail.org) Emacs/26.1 (x86_64-pc-linux-gnu)

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.

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

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.

Attachment: signature.asc
Description: PGP signature


reply via email to

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