From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: Re: librsvg & Rust Date: Fri, 15 Mar 2019 12:29:43 +0100 Message-ID: <87y35g5qag.fsf@gnu.org> References: <20190220161027.17460.87383@vcs0.savannah.gnu.org> <20190220161038.3F54B2040C@vcs0.savannah.gnu.org> <87bm2ol0ud.fsf_-_@gnu.org> <875zswngzb.fsf@fastmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:50610) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4mTw-0002bC-8j for guix-devel@gnu.org; Fri, 15 Mar 2019 09:02:41 -0400 In-Reply-To: <875zswngzb.fsf@fastmail.com> (Marius Bakke's message of "Wed, 06 Mar 2019 16:46:16 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Marius Bakke Cc: guix-devel@gnu.org Hi! Marius Bakke skribis: > Ludovic Court=C3=A8s 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. >>>=20=20=20=20=20 >>> * 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 =E2=80=9Cli= b=E2=80=9D >> 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 =E2=80=98guix system vm-image --full-boot=E2=80=99 = or something, to generate the derivation that builds the GRUB background image, which uses Guile-RSVG. >> What do other distros do? Debian kept =E2=80=98librsvg-c=E2=80=99 aroun= d, primarily so >> that architectures where Rust isn=E2=80=99t supported yet could still wo= rk: >> . > > 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=E2=80=99re lagging already? Thanks, Ludo=E2=80=99.