GNU bug report logs -
#31645
[PATCH] gnu: rust: Add support for building 32-bit packages on 64-bit hosts.
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 31645 in the body.
You can then email your comments to 31645 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#31645
; Package
guix-patches
.
(Tue, 29 May 2018 16:41:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Robin Templeton <rtempleton <at> igalia.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Tue, 29 May 2018 16:41:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
* (rust-bootstrap, rust-1.23): Use nix-system->gnu-triplet to determine the system type.
* (rust-1.19): Use readelf instead of nm in the atomic-lock-free test.
* (rust-1.23): Disable the cargo_test_env test. Disable parallel execution of
tests.
---
gnu/packages/rust.scm | 62 +++++++++++++++++++++++++++++++--------------------
1 file changed, 38 insertions(+), 24 deletions(-)
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 51d4f6c04..62b5ee5ff 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -63,32 +63,34 @@
(package
(name "rust-bootstrap")
(version "1.22.1")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://static.rust-lang.org/dist/"
- "rust-" version "-" %host-type ".tar.gz"))
- (sha256
- (base32
- (match %host-type
- ("i686-unknown-linux-gnu"
- "15zqbx86nm13d5vq2gm69b7av4vg479f74b5by64hs3bcwwm08pr")
- ("x86_64-unknown-linux-gnu"
- "1yll78x6b3abnvgjf2b66gvp6mmcb9y9jdiqcwhmgc0z0i0fix4c")
- ("armv7-unknown-linux-gnueabihf"
- "138a8l528kzp5wyk1mgjaxs304ac5ms8vlpq0ggjaznm6bn2j7a5")
- ("aarch64-unknown-linux-gnu"
- "0z6m9m1rx4d96nvybbfmpscq4dv616m615ijy16d5wh2vx0p4na8")
- ("mips64el-unknown-linux-gnuabi64"
- "07k4pcv7jvfa48cscdj8752lby7m7xdl88v3a6na1vs675lhgja2")
- (_ ""))))))
+ (source #f)
(build-system gnu-build-system)
(native-inputs
`(("patchelf" ,patchelf)))
(inputs
`(("gcc" ,(canonical-package gcc))
("gcc:lib" ,(canonical-package gcc) "lib")
- ("zlib" ,zlib)))
+ ("zlib" ,zlib)
+ ("source"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append
+ "https://static.rust-lang.org/dist/"
+ "rust-" version "-" (nix-system->gnu-triplet) ".tar.gz"))
+ (sha256
+ (base32
+ (match (nix-system->gnu-triplet)
+ ("i686-unknown-linux-gnu"
+ "15zqbx86nm13d5vq2gm69b7av4vg479f74b5by64hs3bcwwm08pr")
+ ("x86_64-unknown-linux-gnu"
+ "1yll78x6b3abnvgjf2b66gvp6mmcb9y9jdiqcwhmgc0z0i0fix4c")
+ ("armv7-unknown-linux-gnueabihf"
+ "138a8l528kzp5wyk1mgjaxs304ac5ms8vlpq0ggjaznm6bn2j7a5")
+ ("aarch64-unknown-linux-gnu"
+ "0z6m9m1rx4d96nvybbfmpscq4dv616m615ijy16d5wh2vx0p4na8")
+ ("mips64el-unknown-linux-gnuabi64"
+ "07k4pcv7jvfa48cscdj8752lby7m7xdl88v3a6na1vs675lhgja2")
+ (_ ""))))))))
(outputs '("out" "cargo"))
(arguments
`(#:tests? #f
@@ -117,7 +119,7 @@
(invoke "bash" "install.sh"
(string-append "--prefix=" out)
(string-append "--components=rustc,"
- "rust-std-" %host-type))
+ "rust-std-" ,(nix-system->gnu-triplet)))
;; Instal cargo
(invoke "bash" "install.sh"
(string-append "--prefix=" cargo-out)
@@ -196,6 +198,12 @@ in turn be used to build the final Rust.")
;; This test is known to fail on aarch64 and powerpc64le:
;; https://github.com/rust-lang/rust/issues/45410
(("fn test_loading_cosine") "#[ignore]\nfn test_loading_cosine"))
+ ;; nm doesn't recognize the file format because of the
+ ;; nonstandard sections used by the Rust compiler, but readelf
+ ;; ignores them.
+ (substitute* "src/test/run-make/atomic-lock-free/Makefile"
+ (("\tnm ")
+ "\treadelf -c "))
#t)))
(add-after 'patch-source-shebangs 'patch-cargo-checksums
(lambda* _
@@ -386,6 +394,10 @@ safety and thread safety guarantees.")
(substitute* "src/tools/cargo/tests/death.rs"
;; This is stuck when built in container.
(("fn ctrl_c_kills_everyone") "#[ignore]\nfn ctrl_c_kills_everyone"))
+ ;; Prints test output in the wrong order when built on
+ ;; i686-linux.
+ (substitute* "src/tools/cargo/tests/test.rs"
+ (("fn cargo_test_env") "#[ignore]\nfn cargo_test_env"))
#t))
(add-after 'patch-cargo-tests 'fix-mtime-bug
(lambda* _
@@ -433,7 +445,7 @@ rpath = true
# codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs
# This tests required patched LLVM
codegen-tests = false
-[target." %host-type "]
+[target." ,(nix-system->gnu-triplet) "]
llvm-config = \"" llvm "/bin/llvm-config" "\"
cc = \"" gcc "/bin/gcc" "\"
cxx = \"" gcc "/bin/g++" "\"
@@ -456,8 +468,10 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
(invoke "./x.py" "build" "src/tools/cargo")))
(replace 'check
(lambda* _
- (invoke "./x.py" "test")
- (invoke "./x.py" "test" "src/tools/cargo")))
+ ;; Disable parallel execution to prevent EAGAIN errors when
+ ;; running tests.
+ (invoke "./x.py" "-j1" "test")
+ (invoke "./x.py" "-j1" "test" "src/tools/cargo")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "./x.py" "install")
--
2.16.1
Reply sent
to
ludo <at> gnu.org (Ludovic Courtès)
:
You have taken responsibility.
(Fri, 01 Jun 2018 11:55:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Robin Templeton <rtempleton <at> igalia.com>
:
bug acknowledged by developer.
(Fri, 01 Jun 2018 11:55:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 31645-done <at> debbugs.gnu.org (full text, mbox):
Hi Robin,
Good to see you here! :-)
Robin Templeton <rtempleton <at> igalia.com> skribis:
> * (rust-bootstrap, rust-1.23): Use nix-system->gnu-triplet to determine the system type.
> * (rust-1.19): Use readelf instead of nm in the atomic-lock-free test.
> * (rust-1.23): Disable the cargo_test_env test. Disable parallel execution of
> tests.
I tweaked the commit log to match our conventions and pushed as
a47537831c12f599cbffc37f822c5ccfa669d555.
Thank you!
Ludo’.
PS: Building Rust really takes ages…
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 30 Jun 2018 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 6 years and 350 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.