From: John Soo <jsoo1@asu.edu>
To: 46163@debbugs.gnu.org
Subject: [bug#46163] [PATCH] staging gnu: Add wasm32 target to rustc.
Date: Mon, 15 Feb 2021 10:04:19 -0800 [thread overview]
Message-ID: <87czx1w6l8.fsf@asu.edu> (raw)
In-Reply-To: <87bld8k9bn.fsf@asu.edu> (John Soo's message of "Thu, 28 Jan 2021 14:03:56 -0800")
[-- Attachment #1: Type: text/plain, Size: 21 bytes --]
Rebased on staging!
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-wasm32-target-to-rust-1.46.patch --]
[-- Type: text/x-patch, Size: 2891 bytes --]
From 610f9ba4c3d7c4e053929c57ddae25d55cf4682f 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 | 27 +++++++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 8a09e1077e..01f9d26729 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")
@@ -1363,7 +1377,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"
@@ -1459,6 +1475,13 @@ tools =
(substitute-keyword-arguments (package-arguments base-rust)
((#:phases phases)
`(modify-phases ,phases
+ ;; Rustdocs fail to build with wasm32 target
+ ;; See https://github.com/rust-lang/rust/issues/76526
+ (add-after 'configure 'deny-warnings
+ (lambda _
+ (substitute* "config.toml"
+ (("\\[rust\\]" all) (string-append all "
+deny-warnings = false")))))
;; The source code got rearranged: libstd is now in the newly created library folder.
(replace 'patch-tests
(lambda* (#:key inputs #:allow-other-keys)
--
2.30.0
next prev parent reply other threads:[~2021-02-15 18:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-28 22:03 [bug#46163] [PATCH] staging gnu: Add wasm32 target to rustc John Soo
2021-01-28 23:31 ` John Soo
2021-02-15 18:04 ` John Soo [this message]
2021-02-15 18:07 ` John Soo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87czx1w6l8.fsf@asu.edu \
--to=jsoo1@asu.edu \
--cc=46163@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).