GNU bug report logs - #54439
Rust: Add Rust 1.59, set default to 1.59.

Previous Next

Package: guix-patches;

Reported by: Paul Alesius <paul <at> unnservice.com>

Date: Fri, 18 Mar 2022 00:36:02 UTC

Severity: normal

Tags: patch

Merged with 53461, 56684

Done: Marius Bakke <marius <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 54439 in the body.
You can then email your comments to 54439 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Fri, 18 Mar 2022 00:36:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Paul Alesius <paul <at> unnservice.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 18 Mar 2022 00:36:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Paul Alesius <paul <at> unnservice.com>
To: guix-patches <at> gnu.org
Subject: Rust: Add Rust 1.59, set default to 1.59.
Date: Fri, 18 Mar 2022 01:21:49 +0100
---
 gnu/packages/rust.scm | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

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
-- 
2.34.0




Merged 53461 54439. Request was from Liliana Marie Prikler <liliana.prikler <at> ist.tugraz.at> to control <at> debbugs.gnu.org. (Fri, 18 Mar 2022 07:12:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Fri, 18 Mar 2022 08:24:01 GMT) Full text and rfc822 format available.

Message #10 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Paul Alesius <paul <at> unnservice.com>, 54439 <at> debbugs.gnu.org
Subject: Re: [bug#54439] Rust: Add Rust 1.59, set default to 1.59.
Date: Fri, 18 Mar 2022 09:23:25 +0100
[Message part 1 (text/plain, inline)]
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

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Fri, 18 Mar 2022 08:26:02 GMT) Full text and rfc822 format available.

Message #13 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Paul Alesius <paul <at> unnservice.com>, 54439 <at> debbugs.gnu.org
Subject: Re: [bug#54439] Rust: Add Rust 1.59, set default to 1.59.
Date: Fri, 18 Mar 2022 09:25:12 +0100
[Message part 1 (text/plain, inline)]
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 <at> 1.59 need to be built against rust <at> 1.58, or
could it be built against an earlier version rust <at> 1.57?  I would prefer
the latter to avoid increasing the bootstrapping chain further.

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Fri, 18 Mar 2022 08:26:02 GMT) Full text and rfc822 format available.

Message #16 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Paul Alesius <paul <at> unnservice.com>, 54439 <at> debbugs.gnu.org
Subject: Re: [bug#54439] Rust: Add Rust 1.59, set default to 1.59.
Date: Fri, 18 Mar 2022 09:25:48 +0100
[Message part 1 (text/plain, inline)]
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’.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Fri, 18 Mar 2022 08:27:02 GMT) Full text and rfc822 format available.

Message #19 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Paul Alesius <paul <at> unnservice.com>, 54439 <at> debbugs.gnu.org
Subject: Re: [bug#54439] Rust: Add Rust 1.59, set default to 1.59.
Date: Fri, 18 Mar 2022 09:26:38 +0100
[Message part 1 (text/plain, inline)]
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)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Fri, 18 Mar 2022 11:53:02 GMT) Full text and rfc822 format available.

Message #22 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: Paul Alesius <paul <at> unnservice.com>
To: Maxime Devos <maximedevos <at> telenet.be>
Cc: 54439 <at> debbugs.gnu.org
Subject: Re: [bug#54439] Rust: Add Rust 1.59, set default to 1.59.
Date: Fri, 18 Mar 2022 09:55:37 +0100
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 <at> 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
>




Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Sun, 20 Mar 2022 13:59:01 GMT) Full text and rfc822 format available.

Message #25 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Paul Alesius <paul <at> unnservice.com>, 54439 <at> debbugs.gnu.org
Subject: Re: [bug#54439] Rust: Add Rust 1.59, set default to 1.59.
Date: Sun, 20 Mar 2022 14:58:36 +0100
[Message part 1 (text/plain, inline)]
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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Sun, 20 Mar 2022 16:08:02 GMT) Full text and rfc822 format available.

Message #28 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: Paul Alesius <paul <at> unnservice.com>
To: Maxime Devos <maximedevos <at> telenet.be>, 54439 <at> debbugs.gnu.org
Subject: Re: [bug#54439] Rust: Add Rust 1.59, set default to 1.59.
Date: Sun, 20 Mar 2022 16:36:04 +0100
[Message part 1 (text/plain, inline)]
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 <at> 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.
[Message part 2 (text/html, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Mon, 21 Mar 2022 03:32:02 GMT) Full text and rfc822 format available.

Message #31 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: kiasoc5 <at> tutanota.com
To: 54439 <at> debbugs.gnu.org
Date: Mon, 21 Mar 2022 04:31:04 +0100 (CET)
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.




Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Sat, 26 Mar 2022 13:50:02 GMT) Full text and rfc822 format available.

Message #34 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: kiasoc5 <at> tutanota.com
Cc: 54439 <at> debbugs.gnu.org, guix-patches <at> gnu.org
Subject: Re: [bug#54439]
Date: Sat, 26 Mar 2022 13:36:34 +0000
[Message part 1 (text/plain, inline)]
Hi there,

kiasoc5--- via Guix-patches via <guix-patches <at> gnu.org> writes:

> 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.

Updating mrustc would be great, as an added bonus, the latest version
enables aarch64-linux support.  I just submitted a patch for it [0], it
would be great to pick it up when next updating rust.

[0]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54580

I did also play with boostrapping directly from 1.54, instead of just
updating mrustc, but it's not building for me yet.  I'm attaching my WIP
patch in case somebody wants to take a look.  Specifically, it's failing
during the cargo build phase, so when testing it I recommend to run the
cargo build first to reproduce the issue.  I can post a log later, I
don't seem to find it just now :-).

--8<---------------cut here---------------start------------->8---
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 38ead406d0..21a6fe206f 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -305,12 +305,12 @@ (define rust-1.54
                (chdir "../mrustc")
                (setenv "MINICARGO_FLAGS" job-spec)
                (setenv "CARGO_BUILD_JOBS" (number->string job-count))
-               (display "Building rustc...\n")
-               (apply invoke "make" "-f" "minicargo.mk" "output/rustc"
-                      job-spec make-flags)
                (display "Building cargo...\n")
                (apply invoke "make" "-f" "minicargo.mk" "output/cargo"
                       job-spec make-flags)
+               (display "Building rustc...\n")
+               (apply invoke "make" "-f" "minicargo.mk" "output/rustc"
+                      job-spec make-flags)
                (display "Rebuilding stdlib with rustc...\n")
                ;; Note: invoking make with -j would cause a compiler error
                ;; (unexpected panic).
--8<---------------cut here---------------end--------------->8---

Thanks,
Pierre


[signature.asc (application/pgp-signature, inline)]
[0001-gnu-mrustc-Update-to-0.10.patch (text/x-patch, attachment)]
[0002-wip-bootstrap-from-1.54.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Sat, 26 Mar 2022 13:51:01 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Sat, 26 Mar 2022 15:10:02 GMT) Full text and rfc822 format available.

Message #40 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Pierre Langlois <pierre.langlois <at> gmx.com>, 54580 <at> debbugs.gnu.org, 
 54439 <at> debbugs.gnu.org
Subject: Re: [bug#54580] [PATCH staging?] gnu: mrustc: Update to 0.10.
Date: Sat, 26 Mar 2022 16:09:28 +0100
[Message part 1 (text/plain, inline)]
Pierre Langlois schreef op za 26-03-2022 om 13:27 [+0000]:
> That being said, I wasn't entirely sure where this patch should go,
> ideally it would be good to have a staging branch rather than
> core-updates, WDYT?  Maybe we can do this along with a rust version
> update?

While it would cause many rebuilds, it seems highly unlikely to
actually break anything, as it only changes some early parts of the
Rust bootstrapping process, so build farm capacity permitting, I would
go with a staging branch (not necessarily the "staging" branch, just
_a_ staging branch).

Doing it together with a rust version update seems reasonable to me
(see <https://issues.guix.gnu.org/54439#10>).

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Mon, 11 Apr 2022 20:05:02 GMT) Full text and rfc822 format available.

Message #43 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: kiasoc5 <at> tutanota.com
To: 54439 <54439 <at> debbugs.gnu.org>
Date: Mon, 11 Apr 2022 22:04:25 +0200 (CEST)
Reminder that Rust 1.60 was released recently.




Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Fri, 20 May 2022 02:40:02 GMT) Full text and rfc822 format available.

Message #46 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: kiasoc5 <at> disroot.org
To: 54439 <at> debbugs.gnu.org
Subject: Rust 1.61.0
Date: Fri, 20 May 2022 02:39:19 +0000
Rust 1.61.0 is out




Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Thu, 30 Jun 2022 18:58:01 GMT) Full text and rfc822 format available.

Message #49 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: kiasoc5 <kiasoc5 <at> disroot.org>
To: 54439 <at> debbugs.gnu.org
Subject: Re: Rust 1.61.0
Date: Thu, 30 Jun 2022 18:57:14 +0000
Rust 1.62.0 released today




Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Thu, 30 Jun 2022 20:18:01 GMT) Full text and rfc822 format available.

Message #52 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: kiasoc5 <kiasoc5 <at> disroot.org>, 54439 <at> debbugs.gnu.org
Subject: Re: [bug#54439] Rust 1.61.0
Date: Thu, 30 Jun 2022 22:17:03 +0200
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.




Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Fri, 01 Jul 2022 01:12:02 GMT) Full text and rfc822 format available.

Message #55 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: kiasoc5 <kiasoc5 <at> disroot.org>
To: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: 54439 <at> debbugs.gnu.org
Subject: Re: [bug#54439] Rust 1.61.0
Date: Fri, 1 Jul 2022 01:11:09 +0000
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 <at> 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.




Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Fri, 01 Jul 2022 09:40:02 GMT) Full text and rfc822 format available.

Message #58 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: "(" <paren <at> disroot.org>
To: "kiasoc5" <kiasoc5 <at> disroot.org>, "Tobias Geerinckx-Rice" <me <at> tobias.gr>
Cc: 54439 <at> debbugs.gnu.org
Subject: Re: [bug#54439] Rust 1.61.0
Date: Fri, 01 Jul 2022 10:39:20 +0100
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.

    -- (




Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Sun, 03 Jul 2022 04:26:02 GMT) Full text and rfc822 format available.

Message #61 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: kiasoc5 <kiasoc5 <at> disroot.org>
To: <54439 <at> debbugs.gnu.org>
Cc: "\(" <paren <at> disroot.org>, Tobias Geerinckx-Rice <me <at> tobias.gr>
Subject: Re: [bug#54439] Rust 1.61.0
Date: Sun, 3 Jul 2022 04:25:39 +0000
I got 1.60 to build by using LLVM 14. Rust 1.61 fails to build, one of
the tests hangs for many hours.

```
    Finished release [optimized] target(s) in 47.43s
     Running
    `/tmp/guix-build-rust-1.61.0.drv-0/rustc-1.61.0-src/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps/std-25ea6ffff3fb3704
    --quiet`

running 945 tests
....................................................................................................
100/945
....................................................................................................
200/945
.....................................................................i..........................thread
'<unnamed>' panicked at 'explicit panic',
library/std/src/io/buffered/tests.rs:495:13 .... 300/945
........................................................................thread
'<unnamed>' panicked at 'explicit panic',
library/std/src/io/stdio/tests.rs:37:9 ............................
400/945
....................................................................................................
500/945
....................................................................................................
600/945
.............................................................................thread
'<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value:
RecvError', library/std/src/sync/mpsc/sync_tests.rs:346:28 ....thread
'<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value:
RecvError', library/std/src/sync/mpsc/sync_tests.rs:383:27 thread
'<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value:
SendError { .. }', library/std/src/sync/mpsc/sync_tests.rs:371:24
.......thread '<unnamed>' panicked at 'called `Result::unwrap()` on an
`Err` value: RecvError', library/std/src/sync/mpsc/sync_tests.rs:250:19
............ 700/945 ..............................thread '<unnamed>'
panicked at 'called `Result::unwrap()` on an `Err` value: RecvError',
library/std/src/sync/mpsc/tests.rs:322:28 ....thread '<unnamed>'
panicked at 'called `Result::unwrap()` on an `Err` value: RecvError',
library/std/src/sync/mpsc/tests.rs:359:27 thread '<unnamed>' panicked
at 'called `Result::unwrap()` on an `Err` value: SendError { .. }',
library/std/src/sync/mpsc/tests.rs:347:24 .......thread '<unnamed>'
panicked at 'called `Result::unwrap()` on an `Err` value: RecvError',
library/std/src/sync/mpsc/tests.rs:241:19
........................................thread '<unnamed>' panicked at
'explicit panic', library/std/src/sync/mutex/tests.rs:160:9 .thread
'<unnamed>' panicked at 'test panic in inner thread to poison mutex',
library/std/src/sync/mutex/tests.rs:114:9 ...thread 'thread
'<unnamed>.' panicked at 'test panic in inner thread to poison mutex',
library/std/src/sync/mutex/tests.rs<unnamed>' panicked at 'explicit
panic', library/std/src/sync/mutex/tests.rs:221:9 :90:9
............thread '<unnamed>' panicked at 'assertion failed: `(left ==
right)` left: `1`, right: `2`',
library/std/src/sync/mutex/tests.rs:184:9 .. 800/945 .thread
'<unnamed>' panicked at 'test panic in inner thread to poison RwLock',
library/std/src/sync/rwlock/tests.rs:238:9 .thread '<unnamed>' panicked
at 'test panic in inner thread to poison RwLock',
library/std/src/sync/rwlock/tests.rs:214:9 ..thread '.thread
'<unnamed>' panicked at 'explicit panic',
library/std/src/sync/rwlock/tests.rs:90:9 .thread '<unnamed>' panicked
at 'explicit panic', library/std/src/sync/rwlock/tests.rs:78:9 .thread
'<unnamed>' panicked at 'explicit panic',
library/std/src/sync/rwlock/tests.rs:65:9 .thread '<unnamed>' panicked
at 'explicit panic', library/std/src/sync/rwlock/tests.rs:52:9
....<unnamed>.' panicked at 'explicit panic',
..library/std/src/sync/rwlock/tests.rs:.150:9 ......i.panicked at
'crash now!',
library/std/src/sys/unix/process/process_unix/tests.rs:46:27 panicked
after panic::always_abort(), aborting.
............................................................................
900/945 ....thread '<unnamed>' panicked at 'explicit panic',
library/std/src/thread/tests.rs:87:33 .............thread '<unnamed>'
panicked at 'Box<dyn Any>', library/std/src/thread/tests.rs:222:9 note:
run with `RUST_BACKTRACE=1` environment variable to display a backtrace
.thread '<unnamed>' panicked at 'owned string',
library/std/src/thread/tests.rs:206:9 .thread '<unnamed>' panicked at
'Box<dyn Any>', library/std/src/thread/tests.rs:241:33 .thread
'<unnamed>' panicked at 'static string',
library/std/src/thread/tests.rs:190:9 .......................test
sys::unix::process::process_common::tests::test_process_group_no_posix_spawn
has been running for over 60 seconds test
sys::unix::process::process_common::tests::test_process_group_posix_spawn
has been running for over 60 seconds
``` (build hangs for several hours)



From 678e0772f265d0def67d33d062b4f99dc8d42d77 Mon Sep 17 00:00:00 2001
From: kiasoc5 <kiasoc5 <at> disroot.org>
Date: Sat, 2 Jul 2022 15:50:43 -0400
Subject: [PATCH] add rust-1.6{0,1,2}

---
 gnu/packages/rust.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 67dc5cdaf3..d49e622d85 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -786,6 +786,30 @@ (define rust-1.57
                             `("procps" ,procps)
                             (package-native-inputs base-rust))))))
 
+(define rust-1.58
+  (rust-bootstrapped-package
+   rust-1.57 "1.58.1"
"1iq7kj16qfpkx8gvw50d8rf7glbm6s0pj2y1qkrz7mi56vfsyfd8")) +
+(define rust-1.59
+  (rust-bootstrapped-package
+   rust-1.58 "1.59.0"
"1yc5bwcbmbwyvpfq7zvra78l0r8y3lbv60kbr62fzz2vx2pfxj57")) +
+(define rust-1.60
+  (let ((base-rust (rust-bootstrapped-package
+                    rust-1.59 "1.60.0"
+
"1drqr0a26x1rb2w3kj0i6abhgbs3jx5qqkrcwbwdlx7n3inq5ji0")))
+    (package
+      (inherit base-rust)
+      (inputs (alist-replace "llvm" (list llvm-14)
+                             (package-inputs base-rust))))))
+(define rust-1.61
+  (rust-bootstrapped-package
+   rust-1.60 "1.61.0"
"1vfs05hkf9ilk19b2vahqn8l6k17pl9nc1ky9kgspaascx8l62xd")) +
+(define rust-1.62
+  (rust-bootstrapped-package
+   rust-1.61 "1.62.0"
"09y06qmh7ihi9kgimpp3h4nj3cmgc1zypqyaba10dlk4kf07h23x")) +
 ;;; 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

base-commit: b7e414982d4d47f3a0e42ea177b9797dc4880e91
-- 
2.37.0





Merged 53461 54439 56684. Request was from Maxime Devos <maximedevos <at> telenet.be> to control <at> debbugs.gnu.org. (Fri, 22 Jul 2022 00:10:01 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Thu, 04 Aug 2022 01:48:02 GMT) Full text and rfc822 format available.

Message #66 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: Jim Newsome <jim <at> jimnewsome.net>
To: 54439 <at> debbugs.gnu.org,
	Maxime Devos <maximedevos <at> telenet.be>
Cc: Paul Alesius <paul <at> unnservice.com>, Felipe Balbi <felipe <at> balbi.sh>,
 kiasoc5 <at> tutanota.com, Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH core-updates] gnu: rust: Use rust-1.60.0
Date: Wed,  3 Aug 2022 20:47:15 -0500
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






Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Thu, 04 Aug 2022 01:50:02 GMT) Full text and rfc822 format available.

Message #69 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: Jim Newsome <jim <at> jimnewsome.net>
To: 54439 <at> debbugs.gnu.org,
	Maxime Devos <maximedevos <at> telenet.be>
Cc: Jim Newsome <jnewsome <at> torproject.org>, Paul Alesius <paul <at> unnservice.com>,
 Felipe Balbi <felipe <at> balbi.sh>, kiasoc5 <at> tutanota.com,
 Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH core-updates 1/2] gnu: rust: decouple rust-1.57 and "rust"
Date: Wed,  3 Aug 2022 20:47:17 -0500
From: Jim Newsome <jnewsome <at> torproject.org>

* gnu/packages/rust.scm (rust-1.57, rust): decouple the definition of
rust-1.57, which happens to be the current latest, from the definition
of rust, which is always the latest. The latter re-enables tests and
extra components, which should always be done only on the final public
rust package, not specifically rust-1.57.
---
 gnu/packages/rust.scm | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 759bf9a631..d85acef696 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -540,10 +540,18 @@ (define rust-1.56
                  (generate-all-checksums "vendor"))))))))))
 
 (define rust-1.57
-  (let ((base-rust
-         (rust-bootstrapped-package
-          rust-1.56 "1.57.0"
-          "06jw8ka2p3kls8p0gd4p0chhhb1ia1mlvj96zn78n7qvp71zjiim")))
+  (rust-bootstrapped-package
+   rust-1.56 "1.57.0" "06jw8ka2p3kls8p0gd4p0chhhb1ia1mlvj96zn78n7qvp71zjiim"))
+
+;;; 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.
+;;;
+;;; Here we take the latest included Rust, make it public, and re-enable tests
+;;; and extra components such as rustfmt.
+(define-public rust
+  (let ((base-rust rust-1.57))
     (package
       (inherit base-rust)
       (outputs (cons "rustfmt" (package-outputs base-rust)))
@@ -682,12 +690,6 @@ (define rust-1.57
                             `("procps" ,procps)
                             (package-native-inputs base-rust))))))
 
-;;; 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-src
   (hidden-package
    (package

base-commit: 8a2b5f3f587459c11c037b9d372b4070263baae9
-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Thu, 04 Aug 2022 01:50:02 GMT) Full text and rfc822 format available.

Message #72 received at 54439 <at> debbugs.gnu.org (full text, mbox):

From: Jim Newsome <jim <at> jimnewsome.net>
To: 54439 <at> debbugs.gnu.org,
	Maxime Devos <maximedevos <at> telenet.be>
Cc: Jim Newsome <jnewsome <at> torproject.org>, Paul Alesius <paul <at> unnservice.com>,
 Felipe Balbi <felipe <at> balbi.sh>, kiasoc5 <at> tutanota.com,
 Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH core-updates 2/2] gnu: rust: Use rust-1.60.0
Date: Wed,  3 Aug 2022 20:47:19 -0500
From: Jim Newsome <jnewsome <at> torproject.org>

* gnu/packages/rust.scm (rust-1.58, rust-1.59, rust-1.60, rust):
  Add rust-1.58, rust-1.59, and rust-1.60, and update rust to
  be based on rust-1.60 instead of rust-1.57.
---
 gnu/packages/rust.scm | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index d85acef696..ebad9dc9e5 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -541,8 +541,35 @@ (define rust-1.56
 
 (define rust-1.57
   (rust-bootstrapped-package
+   ;; Verified that it *doesn't* build with 1.55. e.g.:
+   ;; * feature `edition2021` is required
    rust-1.56 "1.57.0" "06jw8ka2p3kls8p0gd4p0chhhb1ia1mlvj96zn78n7qvp71zjiim"))
 
+(define rust-1.58
+  (rust-bootstrapped-package
+   ;; Verified that it *doesn't* build with 1.56. e.g.:
+   ;; * error: attributes starting with `rustc` are reserved for use by the
+   ;;   `rustc` compiler
+   ;; * error: cannot find attribute `rustc_do_not_const_check` in this scope
+   ;; * error[E0522]: definition of an unknown language item:
+   ;;   `const_eval_select_ct`
+   rust-1.57 "1.58.1" "1iq7kj16qfpkx8gvw50d8rf7glbm6s0pj2y1qkrz7mi56vfsyfd8"))
+
+(define rust-1.59
+  (rust-bootstrapped-package
+   ;; Verified that it *doesn't* build with 1.57. e.g.:
+   ;; * error: `doc(primitive)` should never have been stable
+   ;; * error[E0522]: definition of an unknown language item:
+   ;;   `generator_return`
+   ;; * error[E0206]: the trait `Copy` may not be implemented for this type
+   rust-1.58 "1.59.0" "1yc5bwcbmbwyvpfq7zvra78l0r8y3lbv60kbr62fzz2vx2pfxj57"))
+
+(define rust-1.60
+  (rust-bootstrapped-package
+   ;; Verified that it *doesn't* build with 1.58. e.g.:
+   ;; * error: unknown codegen option: `symbol-mangling-version`
+   rust-1.59 "1.60.0" "1drqr0a26x1rb2w3kj0i6abhgbs3jx5qqkrcwbwdlx7n3inq5ji0"))
+
 ;;; 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
@@ -551,7 +578,7 @@ (define rust-1.57
 ;;; Here we take the latest included Rust, make it public, and re-enable tests
 ;;; and extra components such as rustfmt.
 (define-public rust
-  (let ((base-rust rust-1.57))
+  (let ((base-rust rust-1.60))
     (package
       (inherit base-rust)
       (outputs (cons "rustfmt" (package-outputs base-rust)))
-- 
2.25.1





Reply sent to Marius Bakke <marius <at> gnu.org>:
You have taken responsibility. (Thu, 04 Aug 2022 11:05:02 GMT) Full text and rfc822 format available.

Notification sent to Paul Alesius <paul <at> unnservice.com>:
bug acknowledged by developer. (Thu, 04 Aug 2022 11:05:02 GMT) Full text and rfc822 format available.

Message #77 received at 54439-done <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <marius <at> gnu.org>
To: Jim Newsome <jim <at> jimnewsome.net>, 54439-done <at> debbugs.gnu.org, Maxime
 Devos <maximedevos <at> telenet.be>
Cc: paul <at> unnservice.com, kiasoc5 <at> tutanota.com,
 Efraim Flashner <efraim <at> flashner.co.il>, Felipe Balbi <felipe <at> balbi.sh>,
 Pierre Langlois <pierre.langlois <at> gmx.com>,
 56684-done <at> debbugs.gnu.orgPaulAlesius
Subject: Re: [bug#54439] [PATCH core-updates] gnu: rust: Use rust-1.60.0
Date: Thu, 04 Aug 2022 13:03:57 +0200
[Message part 1 (text/plain, inline)]
Jim Newsome <jim <at> 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.
[signature.asc (application/pgp-signature, inline)]

Reply sent to Marius Bakke <marius <at> gnu.org>:
You have taken responsibility. (Thu, 04 Aug 2022 11:05:02 GMT) Full text and rfc822 format available.

Notification sent to Leo Famulari <leo <at> famulari.name>:
bug acknowledged by developer. (Thu, 04 Aug 2022 11:05:02 GMT) Full text and rfc822 format available.

Reply sent to Marius Bakke <marius <at> gnu.org>:
You have taken responsibility. (Thu, 04 Aug 2022 11:05:02 GMT) Full text and rfc822 format available.

Notification sent to Jim Newsome <jim <at> jimnewsome.net>:
bug acknowledged by developer. (Thu, 04 Aug 2022 11:05:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#54439; Package guix-patches. (Thu, 04 Aug 2022 15:09:03 GMT) Full text and rfc822 format available.

Message #90 received at 54439-done <at> debbugs.gnu.org (full text, mbox):

From: Jim Newsome <jim <at> jimnewsome.net>
To: Marius Bakke <marius <at> gnu.org>, 54439-done <at> debbugs.gnu.org,
 Maxime Devos <maximedevos <at> telenet.be>
Cc: "56684-done <at> debbugs.gnu.org Paul Alesius" <paul <at> unnservice.com>,
 Felipe Balbi <felipe <at> balbi.sh>, kiasoc5 <at> tutanota.com,
 Pierre Langlois <pierre.langlois <at> gmx.com>,
 Efraim Flashner <efraim <at> flashner.co.il>
Subject: Re: [bug#54439] [PATCH core-updates] gnu: rust: Use rust-1.60.0
Date: Thu, 4 Aug 2022 10:08:20 -0500
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!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 02 Sep 2022 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 237 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.