From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Craven Subject: Re: Rust Date: Fri, 29 Jul 2016 21:10:41 +0200 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44280) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTDBI-0007eM-2i for guix-devel@gnu.org; Fri, 29 Jul 2016 15:10:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bTDBE-0003lb-Rx for guix-devel@gnu.org; Fri, 29 Jul 2016 15:10:47 -0400 Received: from mail-yw0-x236.google.com ([2607:f8b0:4002:c05::236]:36658) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTDBD-0003iA-H1 for guix-devel@gnu.org; Fri, 29 Jul 2016 15:10:44 -0400 Received: by mail-yw0-x236.google.com with SMTP id u134so123477119ywg.3 for ; Fri, 29 Jul 2016 12:10:42 -0700 (PDT) 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: guix-devel > Can we reasonably expect to bootstrap it from source, > using a series of previous Rust versions, or using an > alternative implementation? Currently as Jelle said no. But there is [0] that may be a viable option in the future. > Having crates available as normal Guix packages is the > best option for Guix users: uniform interface, the ability > to use =E2=80=98guix environment=E2=80=99 and all the tools, transactiona= l > upgrade and rollback, etc. I think with a cargo plugin that interacts with the guix daemon, we could achive the same advantages. If we want to package servo (mozillas experimental rust webbrowser) we could add a guix package for servo, specify it uses the cargo build system and that would call cargo build-guix. For other rust projects (that don't need packaging) it could add a project profile and add the symlinks in $PROJECT_DIR/target/. I don't think we should dismiss this possibility straight away... Rust contributors have been very helpful with issues that arose on nixos. I think it may be even possible that at some point in the future cargo build could detect if there is a guix/nix daemon available and use that as the storage backend instead of $HOME/.cargo/registry. [0] https://github.com/thepowersgang/mrustc