Message ID | CAL8jUGUYE0skaxR2q5e=ayeC_7qyOfGsNhH=CoYrb2hSb9E7wg@mail.gmail.com |
---|---|
State | New |
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 27D0E27BBEA; Fri, 18 Mar 2022 01:15:02 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id D9EB027BBE9 for <patchwork@mira.cbaines.net>; Fri, 18 Mar 2022 01:15:01 +0000 (GMT) Received: from localhost ([::1]:50100 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org>) id 1nV1Cn-00063z-1A for patchwork@mira.cbaines.net; Thu, 17 Mar 2022 21:15:01 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43438) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1nV0b5-0005Kq-6h for guix-patches@gnu.org; Thu, 17 Mar 2022 20:36:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:33568) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1nV0b4-00048K-U4 for guix-patches@gnu.org; Thu, 17 Mar 2022 20:36:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1nV0b4-0002dD-Ga for guix-patches@gnu.org; Thu, 17 Mar 2022 20:36:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#54439] Rust: Add Rust 1.59, set default to 1.59. Resent-From: Paul Alesius <paul@unnservice.com> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 18 Mar 2022 00:36:02 +0000 Resent-Message-ID: <handler.54439.B.164756375710101@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 54439 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 54439@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.164756375710101 (code B ref -1); Fri, 18 Mar 2022 00:36:02 +0000 Received: (at submit) by debbugs.gnu.org; 18 Mar 2022 00:35:57 +0000 Received: from localhost ([127.0.0.1]:55698 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1nV0ay-0002cr-Q6 for submit@debbugs.gnu.org; Thu, 17 Mar 2022 20:35:57 -0400 Received: from lists.gnu.org ([209.51.188.17]:43778) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <paul@unnservice.com>) id 1nV0Tp-0002R6-7D for submit@debbugs.gnu.org; Thu, 17 Mar 2022 20:28:33 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42224) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <paul@unnservice.com>) id 1nV0To-0004ge-Qy for guix-patches@gnu.org; Thu, 17 Mar 2022 20:28:32 -0400 Received: from [2607:f8b0:4864:20::b2a] (port=40754 helo=mail-yb1-xb2a.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <paul@unnservice.com>) id 1nV0Tn-0002xt-8V for guix-patches@gnu.org; Thu, 17 Mar 2022 20:28:32 -0400 Received: by mail-yb1-xb2a.google.com with SMTP id z8so13233237ybh.7 for <guix-patches@gnu.org>; Thu, 17 Mar 2022 17:28:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unnservice-com.20210112.gappssmtp.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=NUcJEMa4N7Si7WburzoVLjXiGokg3x85EtA7LLZsa8w=; b=kSzLUl9VH6z1vGBtxiwCXxT3JSVqRRvzor1bbPVix/W4L2gDpk2Opo6rK/J7r8go9G irNANRfTV+bj+a8mmA6Ew5SQnXFuC6MkxGLxb+chonb1Rp70dwcweEuT0GxwRWX8+9Dv luyefAo8Sq5IWfLB9UM1L6mOiQl9Au+aZQb+pJNEvPiHfFtD1GKzj/ybNa0kbFnatyDL ZrBdqdrLcMUJ9FPHFVLg9SamDHwhGGuxzWGyReaEFzXfSsKSSSx2oNQnSp8iCn5RYohV WaQY0ZFcmwc85musymAgSqwROFhzQkdDkFoYTUnQ1pdP6q8uRI4KIXLydwbXdnUZ/p+q Ynlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=NUcJEMa4N7Si7WburzoVLjXiGokg3x85EtA7LLZsa8w=; b=YqZHn84M77fO6QUgiR+Y6vl03IEE4J9Ab1tngdiP3Il5IRYZ1YQeXRGnHi2WC1qC/q qV/g7vwnfKpePbnbMPbmtio/PuHTvCcLp3RNtl+4rUkNdnZ23cpandKczpbfHmuSDLGU J8k1naZJ15rCpgIRvLySX0kSG98QsjL7FKq1WK1YTX9hsqoAwtNVe3RWYbTwlTmDQ5g2 s4rd2n6d1ElieECfC0mcJbXmf4P+9E1wPW34TuWTWWh58MtLBJEjz8Hq/AQFWC15vWsk OUL2u/Hfu9qFRLi08jc7My2K3K7OVTescAt0X1IeDo+1pfzzTHGMNYIh1Ca+VKI1tDAX x6Qg== X-Gm-Message-State: AOAM532R4ydRhO1LaKCEYbH6nEhjgFQMdL40j81v13Xlwtohvi2dvqGU 0+0x9oamWlFdq2noR2dgj71dj/vfZkT0UX/re6OpDMXQXl+o0H0= X-Google-Smtp-Source: ABdhPJzOhBIUbs7LJV8RCLvhDP6Ga9nzQnoyD98OWTB1p0Cwh0J1VOJ/Ki+cRItr/EaL4ZC5AeCdx5RNp59529xE9aY= X-Received: by 2002:a0d:fe81:0:b0:2d6:3ee6:ae2a with SMTP id o123-20020a0dfe81000000b002d63ee6ae2amr8729761ywf.280.1647562945801; Thu, 17 Mar 2022 17:22:25 -0700 (PDT) MIME-Version: 1.0 From: Paul Alesius <paul@unnservice.com> Date: Fri, 18 Mar 2022 01:21:49 +0100 Message-ID: <CAL8jUGUYE0skaxR2q5e=ayeC_7qyOfGsNhH=CoYrb2hSb9E7wg@mail.gmail.com> Content-Type: text/plain; charset="UTF-8" X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::b2a (failed) Received-SPF: none client-ip=2607:f8b0:4864:20::b2a; envelope-from=paul@unnservice.com; helo=mail-yb1-xb2a.google.com X-Spam_score_int: -4 X-Spam_score: -0.5 X-Spam_bar: / X-Spam_report: (-0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 17 Mar 2022 20:35:55 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Mailman-Approved-At: Thu, 17 Mar 2022 21:14:27 -0400 X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-getmail-retrieved-from-mailbox: Patches |
Series |
[bug#54439] Rust: Add Rust 1.59, set default to 1.59.
|
|
Commit Message
Paul Alesius
March 18, 2022, 12:21 a.m. UTC
--- gnu/packages/rust.scm | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-)
Comments
Paul Alesius schreef op vr 18-03-2022 om 01:21 [+0100]: > + ((#:tests? _ #f) > + #t) This is incorrect when cross-compiling, use (->bool (not (%current-target-system)) instead. Or simpler: (substitute-keyword-arguments (strip-keyword-arguments '(#:tests?) (package-arguments base-rust))) Also, I'm wondering, should #:tests? #t be removed from 1.57? From rust.scm: ;; Only the final Rust is tested, not the intermediate bootstrap ones, ;; for performance and simplicity. #:tests? #f
Paul Alesius schreef op vr 18-03-2022 om 01:21 [+0100]: > +(define rust-1.59 > + (rust-bootstrapped-package > + rust-1.58 "1.59.0" "1yc5bwcbmbwyvpfq7zvra78l0r8y3lbv60kbr62fzz2vx2pfxj57")) I'm wondering, does rust@1.59 need to be built against rust@1.58, or could it be built against an earlier version rust@1.57? I would prefer the latter to avoid increasing the bootstrapping chain further. Greetings, Maxime.
Paul Alesius schreef op vr 18-03-2022 om 01:21 [+0100]: > + ;; Remove as it doesn't exist in this distribution > + (delete 'skip-shebang-tests)))))))) I believe the conventional terminology is ‘this version’ or ‘this release’, not ‘this distribution’.
Paul Alesius schreef op vr 18-03-2022 om 01:21 [+0100]: > -(define-public rust rust-1.57) > +(define-public rust rust-1.59) Due to the large number of dependents this probably needs to be done on core-updates (unverified)
Thank you for the input. I was unable to build the latest version (1.59) without also building the intermediate versions (1.58), hence why the package declarations for 1.57 and 1.58 remained intact with testing as I was verifying that they build. You're right, the bootstrapping releases should be trimmed down. I am very new to Guile so if anyone wants to modify the patch while I learn the build system to create a new patch, that would be fine with me. /With regards - Paul On Fri, 18 Mar 2022 at 09:23, Maxime Devos <maximedevos@telenet.be> wrote: > > Paul Alesius schreef op vr 18-03-2022 om 01:21 [+0100]: > > + ((#:tests? _ #f) > > + #t) > > This is incorrect when cross-compiling, use > (->bool (not (%current-target-system)) instead. > > Or simpler: > > (substitute-keyword-arguments > (strip-keyword-arguments '(#:tests?) (package-arguments base-rust))) > > Also, I'm wondering, should #:tests? #t be removed from 1.57? > From rust.scm: > > ;; Only the final Rust is tested, not the intermediate bootstrap > ones, > ;; for performance and simplicity. > #:tests? #f >
Paul Alesius schreef op vr 18-03-2022 om 01:21 [+0100]: > + ;; Remove as it doesn't exist in this distribution > + (delete 'skip-shebang-tests)))))))) Is this necessary? This was not done in <https://issues.guix.gnu.org/54475#0>. Greetings, Maxime.
Nope, (delete 'skip-shebang-tests) didn't seem necessary, it must have been something with my environment before. The patch in <https://issues.guix.gnu.org/54475#0> builds and tests for me too, seemingly without testing the bootstrapping rustc. With regards, - Paul On Sun, 20 Mar 2022 at 14:58, Maxime Devos <maximedevos@telenet.be> wrote: > > Paul Alesius schreef op vr 18-03-2022 om 01:21 [+0100]: > > + ;; Remove as it doesn't exist in this distribution > > + (delete 'skip-shebang-tests)))))))) > > Is this necessary? This was not done in > <https://issues.guix.gnu.org/54475#0>. > > Greetings, > Maxime.
Is it safe to update mrustc at the same time as the rust version bump? So we can bootstrap from rust 1.54 to 1.59. Sorry, I don't have the time and hardware to help out more.
Reminder that Rust 1.60 was released recently.
Rust 1.61.0 is out
Hi kiasoc5, kiasoc5 wrote on 11 Apr 22:04 +0200 > Reminder that Rust 1.60 was released recently. kiasoc5 wrote on 20 May 04:39 +0200 > Rust 1.61.0 is out kiasoc5 wrote 60 minutes ago > Rust 1.62.0 released today If you'd opened or contributed to this issue, would you be motivated by such replies? I wouldn't... There must be a more effective way to help move things forward. Regardless, Rust release announcements don't need to be cross-posted to the Guix bug trackers and all bug-guix@ subscribers. Kind regards, T G-R Sent from a Web browser. Excuse or enjoy my brevity.
I'm sorry, I won't cross-post future updates. I can try the bump myself, it's just that I feel like this is too much of a challenge for me. On Thu, Jun 30 2022, 10:17:03 PM +0200 Tobias Geerinckx-Rice <me@tobias.gr> wrote: > Hi kiasoc5, > > kiasoc5 wrote on 11 Apr 22:04 +0200 > > Reminder that Rust 1.60 was released recently. > > kiasoc5 wrote on 20 May 04:39 +0200 > > Rust 1.61.0 is out > > kiasoc5 wrote 60 minutes ago > > Rust 1.62.0 released today > > If you'd opened or contributed to this issue, would you be motivated > by such replies? I wouldn't... > > There must be a more effective way to help move things forward. > > Regardless, Rust release announcements don't need to be cross-posted > to the Guix bug trackers and all bug-guix@ subscribers. > > Kind regards, > > T G-R > > Sent from a Web browser. Excuse or enjoy my brevity.
On Fri Jul 1, 2022 at 2:11 AM BST, kiasoc5 via Guix-patches via wrote:
> I feel like this is too much of a challenge for me.
I updated Rust to 1.57 when I was new to Guix, it wasn't very hard at
all. The main problem was that the build took aaaaaaages. See commit
89afe76a164c53aef66e6f819137bd0c65089fe8.
-- (
Hi, I'm new to this project and this code-review workflow, so please bear with me :). It looks like there have been a few attempts here at updating Rust, including [Paul's], [Felipe's], and [my own]. [Paul's]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54439#5 [Felipe's]: https://issues.guix.gnu.org/54475#0 [my own]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=56684 There's some discussion in this thread about using an updated mrustc and using that to cut out some earlier steps of the bootstrap chain. I propose leaving that out for the moment. It seems both nontrivial and orthogonal, so IMO would make more sense as its own thread / patch-set, which could be reviewed and merged independently, before or after this one. I think there's some confusion about where and how tests are enabled/disabled. IIUC in the current baseline, they are disabled in `rust-1.55`, which is the first version built with an earlier "official" rust: ``` ;; Only the final Rust is tested, not the intermediate bootstrap ones, ;; for performance and simplicity. #:tests? #f ``` and subsequent versions inherit that via the `rust-bootstrapped-package` function. The latest and public version (currently `rust-1.57`) re-enables most of the tests and fixes up some things so that the tests pass. So I think the approach here when adding versions is to change the current latest (1.57) to the simpler form that keeps tests disabled, add any additional necessary steps, and have the test-reenabling code again in the latest version. 2 patches included: * First is a pure refactor to decouple "rust-1.57" from "rust" to help avoid confusion in the future. * Second adds 1.58, 1.59, and 1.60, and makes rust-1.60 the new rust. In the latter patch I also tried building each version with a Rust 2 versions back instead of just 1 version back, to see if any can be left out. Unfortunately they couldn't. I'm including some of the errors in the comments for reference. -Jim
Jim Newsome <jim@jimnewsome.net> skriver: > Hi, I'm new to this project and this code-review workflow, so please bear with me :). Welcome! You are doing great. :-) > It looks like there have been a few attempts here at updating Rust, including [Paul's], [Felipe's], and [my own]. > > [Paul's]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54439#5 > [Felipe's]: https://issues.guix.gnu.org/54475#0 > [my own]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=56684 Indeed. :-/ > There's some discussion in this thread about using an updated mrustc and using that to cut out some earlier steps of the bootstrap chain. I propose leaving that out for the moment. It seems both nontrivial and orthogonal, so IMO would make more sense as its own thread / patch-set, which could be reviewed and merged independently, before or after this one. This has recently been done on the 'staging' branch courtesy of Efraim. > I think there's some confusion about where and how tests are enabled/disabled. IIUC in the current baseline, they are disabled in `rust-1.55`, which is the first version built with an earlier "official" rust: > > ``` > ;; Only the final Rust is tested, not the intermediate bootstrap ones, > ;; for performance and simplicity. > #:tests? #f > ``` > > and subsequent versions inherit that via the `rust-bootstrapped-package` function. > > The latest and public version (currently `rust-1.57`) re-enables most of the tests and fixes up some things so that the tests pass. > > So I think the approach here when adding versions is to change the current latest (1.57) to the simpler form that keeps tests disabled, add any additional necessary steps, and have the test-reenabling code again in the latest version. That is my understanding too. > 2 patches included: > > * First is a pure refactor to decouple "rust-1.57" from "rust" to help avoid confusion in the future. > * Second adds 1.58, 1.59, and 1.60, and makes rust-1.60 the new rust. > > In the latter patch I also tried building each version with a Rust 2 versions back instead of just 1 version back, to see if any can be left out. Unfortunately they couldn't. I'm including some of the errors in the comments for reference. LGTM, I've pushed both patches to the 'staging' branch since Rust was already patched there and it has not started evaluating yet. Note: I also added a copyright line for you, hope that was okay. Closing the issue, but feel free to continue the discussion.
On 8/4/22 06:03, Marius Bakke wrote: > LGTM, I've pushed both patches to the 'staging' branch since Rust was > already patched there and it has not started evaluating yet. > > Note: I also added a copyright line for you, hope that was okay. Great! Thanks, and let me know if any additional follow-up is needed!
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 26d6df7a94..3c5e913b97 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -784,11 +784,32 @@ (define rust-1.57 `("procps" ,procps) (package-native-inputs base-rust)))))) + +(define rust-1.58 + (let ((base-rust + (rust-bootstrapped-package + rust-1.57 "1.58.0" + "0w6pdh87bd87xann6czz95z5bzlw58kbgii2jdmrjbiw5yik3m8a"))) + (package + (inherit base-rust) + (arguments + (substitute-keyword-arguments (package-arguments base-rust) + ((#:tests? _ #f) + #t) + ((#:phases phases) + `(modify-phases ,phases + ;; Remove as it doesn't exist in this distribution + (delete 'skip-shebang-tests)))))))) + +(define rust-1.59 + (rust-bootstrapped-package + rust-1.58 "1.59.0" "1yc5bwcbmbwyvpfq7zvra78l0r8y3lbv60kbr62fzz2vx2pfxj57")) + ;;; Note: Only the latest versions of Rust are supported and tested. The ;;; intermediate rusts are built for bootstrapping purposes and should not ;;; be relied upon. This is to ease maintenance and reduce the time ;;; required to build the full Rust bootstrap chain. -(define-public rust rust-1.57) +(define-public rust rust-1.59) (define-public rust-src (hidden-package