guix-devel
[Top][All Lists]
Advanced

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

Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings


From: Danny Milosavljevic
Subject: Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
Date: Wed, 4 Jan 2017 12:39:33 +0100

Hi ng0,

> > For those I checked (like rust-openssl-sys) left me in confusion. Does our 
> > cargo build-system just build nothing?

Most Rust libraries are installed as source code (similar to C++ templates 
which are also installed as source code).

The current Guix master cargo build system doesn't build anything.

On the other hand, my WIP v2 build system does build the libraries. But that's 
not because it installs the stuff it built (it shouldn't - it should install 
the source code), it's just to make it easily possible to find out what 
dependencies are missing and whether it's the correct version of the library 
(e.g. working in Rust stable). Is builds in the "build" phase AND in the 
"check" phase in order to find out which dependencies are required for the 
library and which are required for the tests only.

> Are all of these libraries? rust-openssl-sys contained nothing, but 
> rust-openssl-sys:src had all the data.

Yeah, David added a "src" output that contains the source code.

My WIP v2 build system doesn't do that yet since I have ~5000 lines of existing 
rust package recipes I'd have to update - and I'd rather get everything to work 
first and then drop all my Rust packages and recreate them. Keep in mind that 
if you want to use my WIP v2 build system you also have to either (1) patch 
guix/build-system/cargo.scm not to do the src output or (2) patch 
guix/build/cargo-build-system.scm to do the src output. 
Please be advised that it's not finished yet - that's why it's marked WIP and 
not merged :)

This is all very much work-in-progress. But your Rust package recipes without 
dependencies probably won't change later. So those are fine. The others - ehhh 
don't know yet. For example it's not clear yet to me whether we need 
propagated-inputs for source libs. I think we do.

Right now I'm working on untangling circular dependencies manually - probably 
have to talk to upstream some more.

(Sigh... why do people so often create circular dependencies? Don't they feel 
icky about it?)



reply via email to

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