From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH 1/7] build-system: Add cargo build system. Date: Tue, 13 Dec 2016 18:15:51 +0100 Message-ID: <877f73sqbc.fsf@gnu.org> 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 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48117) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cGqgI-00085t-LJ for guix-devel@gnu.org; Tue, 13 Dec 2016 12:15:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cGqgE-0005NJ-NP for guix-devel@gnu.org; Tue, 13 Dec 2016 12:15:58 -0500 In-Reply-To: (David Craven's message of "Sun, 11 Dec 2016 20:47:27 +0100") 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: David Craven Cc: guix-devel Hi David! David Craven skribis: >> 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 OK. > Some unanswered questions: > > guix size of rust-bootstrap shows a size of zero. Are propagated > inputs not part of this measurement? No they=E2=80=99re not; it=E2=80=99s only the things that show in in =E2=80= =98guix gc -R rust-bootstrap=E2=80=99. > 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? Hmm why is there a second one? =E2=80=98gnu-build-system=E2=80=99 already = provides gcc and gcc:lib as implicit inputs, so maybe it=E2=80=99s just a matter of remo= ving =E2=80=98gcc=E2=80=99 from Rust=E2=80=99s =E2=80=98inputs=E2=80=99? > 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? When you do =E2=80=98guix build rust -s i686-linux=E2=80=99, you get 32-bit= packages. Is that enough or am I missing something? :-) > 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. OK, thanks for the detailed update! Ludo=E2=80=99.