From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Craven Subject: Re: [PATCH 1/7] build-system: Add cargo build system. Date: Sun, 11 Dec 2016 20:47:27 +0100 Message-ID: References: <20160928151538.11679-1-david@craven.ch> <87shsccwpv.fsf@gnu.org> <87k2b9s3e5.fsf@wasp.i-did-not-set--mail-host-address--so-tickle-me> <87oa0lchl1.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53011) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGA6p-0002jH-Qw for guix-devel@gnu.org; Sun, 11 Dec 2016 14:48:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cGA6m-0005AN-Qk for guix-devel@gnu.org; Sun, 11 Dec 2016 14:48:31 -0500 Received: from mail-qt0-f193.google.com ([209.85.216.193]:34013) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cGA6m-0005A5-M2 for guix-devel@gnu.org; Sun, 11 Dec 2016 14:48:28 -0500 Received: by mail-qt0-f193.google.com with SMTP id l20so7607349qta.1 for ; Sun, 11 Dec 2016 11:48:28 -0800 (PST) In-Reply-To: <87oa0lchl1.fsf@gnu.org> 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: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Cc: guix-devel Hi Ludo! > Given the work that has gone into these Rust patches, I think it would > be nice to apply them and possibly document any shortcoming or future > work items. I went over all your previous emails and fixed your previous comments. Those aren't part of the new patch series yet... In summary those changes are: * add (supported-systems '("x86_64-linux") * Improve rustc-bootstrap, cargo-bootstrap and rust-bootstrap synopsis and description * add crate updater to table in guix.texi * add Eric to the rust.scm file Some unanswered questions: guix size of rust-bootstrap shows a size of zero. Are propagated inputs not part of this measurement? Now there are two different gcc:lib's in the dependency graph of rustc-bootstrap. Can I use the system gcc:lib? Does gcc "lib" need to be added to %final-inputs in commencement.scm? To build rustc i686 and x86_64 with the same binary, rustc-bootstrap needs to find the 32bit glibc dynamic linker. How do I get a 32bit glibc for that? What needs to be done: * the updater patch needs to be looked at. it fixed the packages not updating, I need to find out why that was and/or if it still is the case. * Crate names need to be saved as a property and propagated to the build system when the crate name contains underscores. * Put crate source in OUT/share/rust-source/PACKAGE-VERSION * Cargo build system should not do anything if there isn't a Cargo.lock file except copy the source to out. * Finish the recursive importer. The recursive importer should use the Cargo.lock file to get the right package versions as rust-PACKAGENAME-VERSION. If a crate doesn't have a Cargo.lock only import the latest version non-recursively as rust-PACKAGENAME. * Get cargo to build * Make the updater update package versions recursively * Improve cargo bootstrapping story. Hope I didn't forget anything... David