Subject: bug#31392: gnome.scm cannot import (gnu packages rust)

From: Marius Bakke <[email-masked]>
Date: Thu, 10 May 2018 13:56:00 +0200

[email-masked] (Ludovic Courtès) writes:

> Hello,
>
> Marius Bakke <[email-masked]> skribis:
>
>> I'm trying to update librsvg, which requires "rust".
>
> Speaking of which, what are other distros doing?  Are all of them
> switching to the Rust implementation, or are some keeping the C
> implementation?
>
> Not that I’m fond of C, but adding Rust (which is not bootstrapped,
> etc.) in this place can be problematic.

I haven't checked a lot of distros, but Arch and Debian Experimental
have the Rust version already.  There is no maintained C implementation
any longer AFAIK.  It was officially deprecated in version 2.40.20[0],
which is what we have right now.

[0] https://ftp.acc.umu.se/pub/gnome/sources/librsvg/2.40/librsvg-2.40.20.news

[...]

> In unknown file:
>            1 (primitive-load-path "gnu/packages/rust" #<procedure 1311a40 at ice-9/bo…>)
> In gnu/packages/rust.scm:
>    241:25  0 (_)
> scheme@(gnu packages rust) [1]> ,error
> gnu/packages/rust.scm:241:25: error: gcc: unbound variable
> --8<---------------cut here---------------end--------------->8---
>
> The issue was the reference to ‘gcc’ from the ‘native-search-paths’
> field (a “top level reference” because it’s executed as soon as we load
> rust.scm.)  While Guile allows for circular dependencies among modules,
> it only works if the top-level of modules don’t look up variables
> exported by each other, if you see what I mean.
>
> Fixed in afc2bf53066975558676bc7f4957ad85d0ec170a.

That was fast, thank you!