summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorPierre Langlois <pierre.langlois@gmx.com>2022-03-26 13:21:17 +0000
committerEfraim Flashner <efraim@flashner.co.il>2022-05-09 17:19:08 +0300
commit32a87714f4507f853824d82d9c6ca10e1405c8eb (patch)
tree421d24ee7cbc98f03b910bd453745d3525f17160 /gnu/packages
parentda3be3ff4f6d8b643ed9bdf6834df366b1bcea44 (diff)
downloadguix-32a87714f4507f853824d82d9c6ca10e1405c8eb.tar.gz
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.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/rust.scm24
1 files 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 @@
                                    (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 @@
       (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 @@
                      ,(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 ")
@@ -249,6 +248,9 @@
                     "")
                    ;; 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
            (lambda* _
@@ -322,9 +324,9 @@
 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))))