guix-devel
[Top][All Lists]
Advanced

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

Re: the importance of rust-build-system [Fwd: [tor-dev] Tor in a safer l


From: Danny Milosavljevic
Subject: Re: the importance of rust-build-system [Fwd: [tor-dev] Tor in a safer language: Network team update from Amsterdam]
Date: Mon, 3 Apr 2017 00:35:24 +0200

Hi ng0,

On Sat, 1 Apr 2017 07:58:41 +0000
ng0 <address@hidden> wrote:

> Danny, could you list what's left for completion? Is it just circular
> dependencies? 

Very little is missing:
- Rustc and cargo should be disentangled.  Right now they have to be updated in 
lockstep.
- Rust has a new optional maker (instead of makefiles) called rustbuild; for 
some reason I didn't get it to work.  Future versions will drop the makefiles, 
so we have to get it to work eventually.
- Eventually we could try to bootstrap a Rust compiler from the original ocaml 
sources.  I'm trying to do that now but it's still broken. It would be fine to 
make it memory-safe by just not freeing anything ever - since it would only be 
used to compile the Rust compiler.
- Earlier we had an heuristic in that if there's a Cargo.lock file present we 
assume that it's an application, and if there isn't one we assume that it's a 
library.  Not sure how safe that heuristic is.  What's the official way to find 
out what it is?
- There's a design limitation in that our rust build system doesn't API support 
version ranges but cargo does.  If multiple libraries depend on the same 
library with differing API version ranges, cargo uses an version range 
intersection algorithm in order to find out which implementation version to 
use.  We don't do that - although we do use cargo, so it will fail in that case 
(and not do something invalid silently).

Note that Rust itself makes a distinction between stable features that are 
guaranteed to stay and stay the same in the future and unstable features that 
don't.  Many Rust crates use unstable features, among them very basic crates.  
That makes us unable to use them, and rightfully so.

Other than that I've got a big number of (unpolished) Rust packages that do 
work.

> days. I hope you don't mind if I list you as a go-to person for getting
> involved in upstream (Guix) to fix up the rust-build-system.

Okay.



reply via email to

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