From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51930) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gQADo-0003rb-JA for guix-patches@gnu.org; Fri, 23 Nov 2018 07:06:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gQADj-0005Fe-SN for guix-patches@gnu.org; Fri, 23 Nov 2018 07:06:08 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:38809) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gQADi-0005A7-Pn for guix-patches@gnu.org; Fri, 23 Nov 2018 07:06:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gQADi-0008OP-Ei for guix-patches@gnu.org; Fri, 23 Nov 2018 07:06:02 -0500 Subject: [bug#33465] [PATCH] gnu: rust: Don't depend on 'git'. Resent-Message-ID: References: <20181122135830.18927-1-mbakke@fastmail.com> <1c2849407fb4914810f3c367fc16b6cf@lepiller.eu> From: Pierre Langlois In-reply-to: <1c2849407fb4914810f3c367fc16b6cf@lepiller.eu> Date: Fri, 23 Nov 2018 12:04:47 +0000 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Julien Lepiller , Marius Bakke Cc: 33465@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Julien and Marius, Julien Lepiller writes: > Le 2018-11-22 14:58, Marius Bakke a =C3=A9crit: >> * gnu/packages/rust.scm (rust-1.19)[inputs]: Remove GIT. >> (rust-1.20)[arguments]: Disable Cargo tests that require git. >> (rust-1.26)[arguments]: Likewise. >> --- >> >> Notes: >> Guix, >> >> The Rust toolchain is very expensive to build and needs less >> volatility. >> >> So far I have only built up to Rust 1.23 with this patch. I >> suggest >> applying this on 'core-updates', and giving Rust in 'master' a >> git-2.19.1 input to the previous substitutes are valid again. >> >> WDYT? > > Hi, I don't really know how our rust packages are built, but I wonder > if they have more than the bare minimum optional features for our > purposes (apart from 1.24 used by icecat and the latest version, we > probably don't need to build everything)? Maybe it's worth > investigating if that can speed up the build of the whole chain. One thing I've been wondering about would be to remove the 'check phase when building a rust that will be used for bootstrapping only. Since the tests are not ran in parallel, they take a huge amount of time. See attached patched, I'm testing it now. It's currently building rust@1.23. WDYT? Thanks, Pierre --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-rust-Do-not-run-tests-when-building-for-bootstra.patch Content-Transfer-Encoding: quoted-printable >From 46233c5f6ced0ad5e535a848527ad35309535b97 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Fri, 23 Nov 2018 11:58:06 +0000 Subject: [PATCH] gnu: rust: Do not run tests when building for bootstrappin= g. * gnu/packages/rust.scm (rust-bootstrapped-package): Add 'arguments' field that removes the check phase. --- gnu/packages/rust.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index a56faad079..40160de05c 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -7,6 +7,7 @@ ;;; Copyright =C2=A9 2017 Efraim Flashner ;;; Copyright =C2=A9 2018 Tobias Geerinckx-Rice ;;; Copyright =C2=A9 2018 Danny Milosavljevic +;;; Copyright =C2=A9 2018 Pierre Langlois ;;; ;;; This file is part of GNU Guix. ;;; @@ -91,7 +92,15 @@ (native-inputs (alist-replace "cargo-bootstrap" (list base-rust "cargo") (alist-replace "rustc-bootstrap" (list base-rust) - (package-native-inputs base-rust)))))) + (package-native-inputs base-rust)))) + (arguments + (substitute-keyword-arguments (package-arguments base-rust) + ((#:phases phases) + `(modify-phases ,phases + ;; Tests take a long time to run, as they do not run in parallel + ;; for stability reasons. Disable them when building rust for + ;; bootstrapping. + (delete 'check))))))) =20 (define-public mrustc (let ((rustc-version "1.19.0")) --=20 2.19.1 --=-=-=--