Message ID | 87h77kajc9.fsf@gmx.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#54580,staging?] gnu: mrustc: Update to 0.10. | expand |
Pierre Langlois schreef op za 26-03-2022 om 14:16 [+0000]:
> + (supported-systems '("x86_64-linux" "aarch64-linux"))
Looks nice! Does this mean that the Rust version of librsvg can now
be used in 'librsvg-for-system' on aarch64?
Greetings,
Maxime.
Maxime Devos <maximedevos@telenet.be> writes: > [[PGP Signed Part:Undecided]] > Pierre Langlois schreef op za 26-03-2022 om 14:16 [+0000]: >> + (supported-systems '("x86_64-linux" "aarch64-linux")) > > Looks nice! Does this mean that the Rust version of librsvg can now > be used in 'librsvg-for-system' on aarch64? Yup! :-D --8<---------------cut here---------------start------------->8--- sapin ~/guix [env]$ uname -a Linux sapin 5.16.16-gnu #1 SMP PREEMPT 1 aarch64 GNU/Linux sapin ~/guix [env]$ ./pre-inst-env guix build librsvg /gnu/store/rqccc75f1iymm58fjjfwx91l2q595zix-librsvg-2.50.7-debug /gnu/store/mkyzy04sg4hqwiajd513mpdq976mxc48-librsvg-2.50.7-doc /gnu/store/1578swy07wm06ywnk49y5gxnwwb4haxn-librsvg-2.50.7 --8<---------------cut here---------------end--------------->8--- Better yet, I have Gnome/GDM running on the pinebook pro! Now I'm also trying to see if we can get icecat to build :cross-fingers:. However it still requires a few more changes to enable gnome, I'm having issues with the following packages for example: - libmpeg3 doesn't build - exiv2's tests fail - mediasdk, svt-hevc seem to be x86-only. I've not looked in details, just disabled tests/packages, we can look into those more after we unblock rust. Thanks, Pierre
On Sat, Mar 26, 2022 at 02:16:06PM +0000, Pierre Langlois wrote: > > Pierre Langlois <pierre.langlois@gmx.com> writes: > > > [[PGP Signed Part:Undecided]] > > Hi Guix! > > > > Good news everyone, I managed to get a aarch64 build of Rust by updating > > mrustc to 0.10! Sadly, i686 is still unsupported, due to the build > > using too much memory, it must be the same for other 32-bit architectures. > > > > I tested this on a pinebookpro which only has 4G of RAM, I had to attach > > 16G of swap for the initial rust@1.39 build to succeed, then the whole > > rust chain took about 5 days! I also tested on my x86_64 desktop. > > > > Here's the patch! After it we should be able to follow-up and enable > > Gnome and friends. > > > > 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? > > > > PS: I also tried to build rust 1.54 with the new mrustc update, to > > shorten the chain, but I've not had any successes with it yet. > > Go ahead and push it to staging. I have high on my TODO list to get it working with 1.54.
Hi! Efraim Flashner <efraim@flashner.co.il> writes: > [[PGP Signed Part:Undecided]] > On Sat, Mar 26, 2022 at 02:16:06PM +0000, Pierre Langlois wrote: >> >> Pierre Langlois <pierre.langlois@gmx.com> writes: >> >> > [[PGP Signed Part:Undecided]] >> > Hi Guix! >> > >> > Good news everyone, I managed to get a aarch64 build of Rust by updating >> > mrustc to 0.10! Sadly, i686 is still unsupported, due to the build >> > using too much memory, it must be the same for other 32-bit architectures. >> > >> > I tested this on a pinebookpro which only has 4G of RAM, I had to attach >> > 16G of swap for the initial rust@1.39 build to succeed, then the whole >> > rust chain took about 5 days! I also tested on my x86_64 desktop. >> > >> > Here's the patch! After it we should be able to follow-up and enable >> > Gnome and friends. >> > >> > 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? >> > >> > PS: I also tried to build rust 1.54 with the new mrustc update, to >> > shorten the chain, but I've not had any successes with it yet. >> > > > Go ahead and push it to staging. I have high on my TODO list to get it > working with 1.54. Oh cool I see you've pushed it already, thanks! Closing.
From cdf2c194834ff55428a22988e4d90f0c133e9eb3 Mon Sep 17 00:00:00 2001 From: Pierre Langlois <pierre.langlois@gmx.com> Date: Sat, 26 Mar 2022 13:21:17 +0000 Subject: [PATCH] gnu: mrustc: Update to 0.10. And enable rust for aarch64-linux! * gnu/packages/rust.scm (%mrustc-commit): Update hash. (%mrustc-source): Update to 0.10. (rust-1.39)[arguments]: Move and adapt the substitute* that prevent fetching sources. Patch /bin/sh in run_rustc/rustc_proxy.sh. [supported-systems]: Add aarch64-linux. --- gnu/packages/rust.scm | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 26d6df7a94..67dc5cdaf3 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -121,12 +121,10 @@ (define* (rust-bootstrapped-package base-rust version checksum) (package-native-inputs base-rust)))))) ;;; Note: mrustc's only purpose is to be able to bootstap Rust; it's designed -;;; to be used in source form. The latest support for bootstrapping from -;;; 1.39.0 is not yet released so use the latest commit (see: -;;; https://github.com/thepowersgang/mrustc/issues/185). -(define %mrustc-commit "c7066542f8e93d320323749216bf3c82aecb67c2") +;;; to be used in source form. +(define %mrustc-commit "b364724f15fd6fce8234ad8add68107c23a22151") (define %mrustc-source - (let* ((version "0.9") + (let* ((version "0.10") (commit %mrustc-commit) (revision "1") (name "mrustc")) @@ -138,7 +136,7 @@ (define %mrustc-source (file-name (git-file-name name (git-version version revision commit))) (sha256 (base32 - "0zv1x6601s5fnnkcdlqkc4bknisqz569qb0iyb9rjsmaf1kh0na3"))))) + "0f7kh4n2663sn0z3xib8gzw0s97qpvwag40g2vs3bfjlrbpgi9z0"))))) ;;; Rust 1.39 is special in that it is built with mrustc, which shortens the ;;; bootstrap path. @@ -237,10 +235,11 @@ (define rust-1.39 ,(string-take %mrustc-commit 7) "\\\"" " -D VERSION_BUILDTIME=" "\"\\\"Thu, 01 Jan 1970 00:00:01 +0000\\\"\"" - " -D VERSION_GIT_ISDIRTY=0\n")) + " -D VERSION_GIT_ISDIRTY=0\n"))) + (substitute* "minicargo.mk" ;; Do not try to fetch sources from the Internet. - ((": \\$\\(RUSTC_SRC_DL\\)") - ":")) + (("\\$\\(MINICARGO\\) \\$\\(RUSTC_SRC_DL\\)") + "$(MINICARGO)")) (substitute* "run_rustc/Makefile" (("[$]Vtime ") "$V ") @@ -248,6 +247,9 @@ (define rust-1.39 (("-j [[:digit:]]+ ") "") ;; Patch the shebang of a generated wrapper for rustc + (("#!/bin/sh") + (string-append "#!" (which "sh")))) + (substitute* "run_rustc/rustc_proxy.sh" (("#!/bin/sh") (string-append "#!" (which "sh")))))))) (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums @@ -322,9 +324,9 @@ (define rust-1.39 safety and thread safety guarantees.") (home-page "https://github.com/thepowersgang/mrustc") - ;; So far mrustc is x86_64-only. It may support i686 soon: + ;; So far mrustc is (x86_64|aarch64)-only. It may support i686 soon: ;; <https://github.com/thepowersgang/mrustc/issues/78>. - (supported-systems '("x86_64-linux")) + (supported-systems '("x86_64-linux" "aarch64-linux")) ;; Dual licensed. (license (list license:asl2.0 license:expat)))) -- 2.34.0