diff mbox series

[bug#46163] staging gnu: Add wasm32 target to rustc.

Message ID 87bld8k9bn.fsf@asu.edu
State New
Headers show
Series [bug#46163] staging gnu: Add wasm32 target to rustc. | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

John Soo Jan. 28, 2021, 10:03 p.m. UTC
Hi Guix!

Recently I had to work with some webassembly and rust and our current
compiler did not support the target. This patch adds wasm32 support.

Kindly,

John
diff mbox series

Patch

From ab40dbfd2db1a06939c353d7cb0cb64841dbaa35 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sat, 23 Jan 2021 08:43:52 -0800
Subject: [PATCH] gnu: Add wasm32 target to rust@1.46.

* gnu/packages/rust.scm (rust-1.46): [arguments] Add wasm32 to target
configuration, [native-inputs] Add node for tests.
---
 gnu/packages/rust.scm | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 98ae770745..7b40372cb2 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1349,7 +1349,21 @@  move around."
                  (generate-all-checksums "vendor")
                  #t))
              (replace 'build
-               (lambda* _
+               (lambda* (#:key inputs #:allow-other-keys)
+                 (substitute* "config.toml"
+                   (("\\[build\\]" all)
+                    (string-append all "
+target = [\"" ,(nix-system->gnu-triplet-for-rust) "\", \"wasm32-unknown-unknown\"]
+"))
+                   (("\\[dist\\]" all)
+                    (string-append "
+[target.wasm32-unknown-unknown]
+llvm-config = \"" (assoc-ref inputs "llvm") "/bin/llvm-config\"
+cc = \"" (assoc-ref inputs "gcc") "/bin/gcc\"
+cxx = \"" (assoc-ref inputs "gcc") "/bin/g++\"
+ar = \"" (assoc-ref inputs "binutils") "/bin/ar\"
+"
+all)))
                  (invoke "./x.py" "build")
                  (invoke "./x.py" "build" "src/tools/cargo")
                  (invoke "./x.py" "build" "src/tools/rustfmt")
@@ -1364,7 +1378,9 @@  move around."
                         (string-append "-j" (number->string
                                              (min 4
                                                   (parallel-job-count))))))
-                   (invoke "./x.py" parallel-job-spec "test" "-vv")
+                   (invoke "./x.py" parallel-job-spec "test"
+                           (string-append "--target=" ,(nix-system->gnu-triplet-for-rust))
+                           "-vv")
                    (invoke "./x.py" parallel-job-spec "test"
                            "src/tools/cargo")
                    (invoke "./x.py" parallel-job-spec "test"
-- 
2.30.0