From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 26 09:34:46 2022 Received: (at submit) by debbugs.gnu.org; 26 Mar 2022 13:34:46 +0000 Received: from localhost ([127.0.0.1]:53280 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nY6Z4-0005YA-HB for submit@debbugs.gnu.org; Sat, 26 Mar 2022 09:34:46 -0400 Received: from lists.gnu.org ([209.51.188.17]:50624) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nY6Z3-0005Y4-MO for submit@debbugs.gnu.org; Sat, 26 Mar 2022 09:34:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35570) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nY6Z3-0003CV-CV for guix-patches@gnu.org; Sat, 26 Mar 2022 09:34:45 -0400 Received: from mout.gmx.net ([212.227.15.15]:49707) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nY6Z1-0006cU-7B for guix-patches@gnu.org; Sat, 26 Mar 2022 09:34:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1648301680; bh=NrHzeJOsyRVSzh+jVHCXiw0km/z039SZisYpvGBoaM0=; h=X-UI-Sender-Class:From:To:Subject:Date; b=UgFTNxmUcqTblKaGB3DxRSoRWjcKaKv1T8XyQv/j76FFeEuO0SczVNj6pjHWuHOTB apUxdpK4WUlAMGQPFK3/6cQ3Kif9GKVSv8Vmor7bhs3PNurE9ow70mRKSYQKLcyEvS JAgsBhfeqSZO6x209lcoaAqvgsVgmKKPT5zY13iM= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx004 [212.227.17.184]) with ESMTPSA (Nemesis) id 1Mg6Zw-1nzAyv3Ctq-00hdOV for ; Sat, 26 Mar 2022 14:34:39 +0100 User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois To: guix-patches@gnu.org Subject: [PATCH staging?] gnu: mrustc: Update to 0.10. Date: Sat, 26 Mar 2022 13:27:15 +0000 Message-ID: <87lewwbzwy.fsf@gmx.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Provags-ID: V03:K1:3scslgXBDGPO2o/TGNalAKkiYNkMcoQiTmA/17FSOz9NM9iyxIU C15LHePcHoD1nOf8Fj6ozPUi7Loz/IA/+nospA9oc+ddnkXGDpcGp1CnTiQRieJDIflHOYO MoxfzUnCjqv/0PMRK5JFXpwU8Y1r0fX7ND6I4Phm5pBSSbQQZBg4I2wYK7H8bMtpRBQ/TiX sVDs6g54JnAacdrUDXdZQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:N3hq3WP+PFQ=:9tqRnubAXo8fHxBnoaLwcZ yZfUF86+gXUtQv74Xv4yuowL08lKCBPkw53MmWzmYNdmoG5vv/UbBn6bx+Q/X4vudphjhIQxQ zzFmHc9hPpTT3OZaFjWGaWUjr66ollWVRPlfmYHFfIz5q1NlNzXeHORLAjLEthrd1sNOma8gj rJLN0DCBN5qZ5QtTcqo2NAUG+sCDDactbQ0osawyC5PIFpMihlA8ytyiY99DSyEjpg84I5Mdj Cr4X6mSdEJZfdKQw3XibngCeMiwmrfHu0HnRxWarodnMnjlVipK0ycxNBjnoQDkgaTrCyzOxq wH9Vk13//p39ZG54Rl64ziJjDbgE0/N5camvuA/UW7t8SyBuPugIvM6OuvFipzqiNrcdRHKSi 9C4jkbQqn1wu+XKV20p85Bql4rGJuE4er9hxWUt7urnpM9r+QQa9W00xpx5LsvkN6Ge2mcWoC jbppxAb2DfBuphExYWfhiY09T9LBuP8vUEiNsK3nt/u+yEhnNU4w55RKKRDthoVuM5gOOLqWV sFykLinjSx5ZzexyMvcngwWYAI4BHEteHgqEEkZTg6RJLTLIuH9PKfLLgHFkAK9uVVHyQGiAA loF2lCGjz98NnjPxb5koDy08Ggb0LeKcCTT8CfQpFCQsGMhwAKDaoqAD1X2LT09dgvOqUalvz 7BRyU/TDdjSQ0ZRfSsyla6Bt5LD4dQkLc9H2xVWSCwJveebFP+6atDNa6xFDHXfTDanSW6E2t PoKi5hQWotRLN6V3A3CfK8ZssoAWEfJ6qUexuzTpTGURZafsIFXcrJK5kKxl++luMhBFQqcRC zFdOC7MkcXTFkJR9++sHsEVAALeaSDaGh9QgWsNbQVjk4ldi3mqSY2FD+XoqX7QYqihSSAmyS TlKQUQcg+76sULmqCsMtfOAnFz3UQ77SNKtReXbDExluJDstGn8OwXBNLH7aut8D7Se3I3QTg etb6JkxUnakC/y5s+Xx7VCCvESuHCSBySI+dGLI2KMp3Nsp9GtzPR1Fj21kc9lBYZJimcHMdP QAxh7oRdWredfdKvSWoD5XHhcDBYjpSEMe+KdoMfOVpnSENWUm1DY5+CcbCxl0f0p1G5OCz2e X2MTl8w7axKASk= Received-SPF: pass client-ip=212.227.15.15; envelope-from=pierre.langlois@gmx.com; helo=mout.gmx.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --=-=-= Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" --==-=-= Content-Type: text/plain 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. --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQFMBAEBCgA2FiEEctU9gYy29KFyWDdMqPyeRH9PfVQFAmI/Fm0YHHBpZXJyZS5s YW5nbG9pc0BnbXguY29tAAoJEKj8nkR/T31U6KQIAKUVZ7OpedlDpL3njg6MW6zC TJMaEaxFjE/ZAiRB8/oHwQQ0f10olBY+NULv/sNNPu8B5topt3ot76z2Ip9V1CNC csSjoc2O0yWfIv8zCPFrFJCQGm+DK0QGqaIpsQwaKVxgqg3CPvZmBjEzgq2jwpX3 Nwq1F9pqQ8+Ay1RhQ8fBN7CBI7WuSRvKirBIkSL+znwaARdGLGiZvyMPn8q6Y2p1 lSoTdwM1Na9CUnnIWgSmYRa2BXlemwT6YVochR7Yckmx7uDK3PZYOS4o6MaHJ3fk JgNm3ydU3hq/JsG3/dkQofVSj+qgGpv9qaDx1xAjVpqCsxd9zqApznhch5zfoaI= =bHBr -----END PGP SIGNATURE----- --==-=-=-- --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-gnu-mrustc-Update-to-0.10.patch Content-Transfer-Encoding: quoted-printable =46rom 555b3b21ead25d09b56e6287d5542da1abfb13c4 Mon Sep 17 00:00:00 2001 From: Pierre Langlois 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. =2D-- gnu/packages/rust.scm | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 26d6df7a94..7a841e4326 100644 =2D-- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -124,9 +124,9 @@ (define* (rust-bootstrapped-package base-rust version = checksum) ;;; 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") +(define %mrustc-commit "b364724f15fd6fce8234ad8add68107c23a22151") (define %mrustc-source - (let* ((version "0.9") + (let* ((version "0.10") (commit %mrustc-commit) (revision "1") (name "mrustc")) @@ -138,7 +138,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 +237,11 @@ (define rust-1.39 ,(string-take %mrustc-commit 7) "\\\"" " -D VERSION_BUILDTIME=3D" "\"\\\"Thu, 01 Jan 1970 00:00:01 +0000\\\"\"" - " -D VERSION_GIT_ISDIRTY=3D0\n")) + " -D VERSION_GIT_ISDIRTY=3D0\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 +249,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 +326,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: ;; . - (supported-systems '("x86_64-linux")) + (supported-systems '("x86_64-linux" "aarch64-linux")) ;; Dual licensed. (license (list license:asl2.0 license:expat)))) =2D- 2.34.0 --=-=-= Content-Type: text/plain Thanks, Pierre --=-=-=--