From 8fdde581031abf812e316b0e0fa2ba1db153b4e1 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 2 Apr 2018 19:15:06 +0200 Subject: gnu: Add rust@1.19.0. * gnu/packages/rust.scm (rust-1.23)[build-system, native-inputs, inputs, native-search-paths, synopsis, description, home-page, license]: Move to... (rust-1.19): ... here. New variable. (rust-1.23)[arguments]<#:phases>[set-env, patch-tests, patch-cargo-checksums]: Move to... (rust-1.19): ... here. (rust-1.19)[arguments]<#:phases>[configure, check, install]: Replace by no-op. --- gnu/packages/rust.scm | 126 ++++++++++++++++++++++++++++---------------------- 1 file changed, 72 insertions(+), 54 deletions(-) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 70140579b6..8ec748fa6d 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -150,30 +150,12 @@ (define (rust-source version hash) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "src/llvm") #t)))) -(define-public rust-1.23 +(define-public rust-1.19 (package (name "rust") - (version "1.23.0") - (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")) - (build-system gnu-build-system) - (native-inputs - `(("bison" ,bison) ; For the tests - ("cmake" ,cmake) - ("flex" ,flex) ; For the tests - ("gdb" ,gdb) ; For the tests - ("git" ,git) - ("procps" ,procps) ; For the tests - ("python-2" ,python-2) - ("rustc-bootstrap" ,rust-bootstrap) - ("cargo-bootstrap" ,rust-bootstrap "cargo") - ("pkg-config" ,pkg-config) ; For "cargo" - ("which" ,which))) - (inputs - `(("jemalloc" ,jemalloc-4.5.0) - ("llvm" ,llvm-3.9.1) - ("openssl" ,openssl) - ("libcurl" ,curl))) ; For "cargo" - (outputs '("out" "doc" "cargo")) + (version "1.19.0") + (source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm")) + (outputs '("out" "cargo")) (arguments `(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums' #:phases @@ -204,15 +186,6 @@ (define-public rust-1.23 ;; (delete-file-recursively "src/test/run-make/linker-output-non-utf8") #t))) - (add-after 'patch-tests 'fix-mtime-bug - (lambda* _ - (substitute* "src/build_helper/lib.rs" - ;; Bug in Rust code. - ;; Current implementation assume that if dst not exist then it's mtime - ;; is 0, but in same time "src" have 0 mtime in guix build! - (("let threshold = mtime\\(dst\\);") - "if !dst.exists() {\nreturn false\n}\n let threshold = mtime(dst);")) - #t)) (add-after 'patch-source-shebangs 'patch-cargo-checksums (lambda* _ (substitute* "src/Cargo.lock" @@ -230,20 +203,73 @@ (define-public rust-1.23 (find-files "src/vendor" ".cargo-checksum.json")) #t)) (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc")) - (gcc (assoc-ref inputs "gcc")) - (gdb (assoc-ref inputs "gdb")) - (binutils (assoc-ref inputs "binutils")) - (python (assoc-ref inputs "python-2")) - (rustc (assoc-ref inputs "rustc-bootstrap")) - (cargo (assoc-ref inputs "cargo-bootstrap")) - (llvm (assoc-ref inputs "llvm")) - (jemalloc (assoc-ref inputs "jemalloc"))) - (call-with-output-file "config.toml" - (lambda (port) - (display (string-append " + (const #t)) + (replace 'check + (const #t)) + (replace 'install + (const #t))))) + (build-system gnu-build-system) + (native-inputs + `(("bison" ,bison) ; For the tests + ("cmake" ,cmake) + ("flex" ,flex) ; For the tests + ("gdb" ,gdb) ; For the tests + ("git" ,git) + ("procps" ,procps) ; For the tests + ("python-2" ,python-2) + ("rustc-bootstrap" ,rust-bootstrap) + ("cargo-bootstrap" ,rust-bootstrap "cargo") + ("pkg-config" ,pkg-config) ; For "cargo" + ("which" ,which))) + (inputs + `(("jemalloc" ,jemalloc-4.5.0) + ("llvm" ,llvm-3.9.1) + ("openssl" ,openssl) + ("libcurl" ,curl))) ; For "cargo" + ;; rustc invokes gcc, so we need to set its search paths accordingly. + (native-search-paths (package-native-search-paths gcc)) + (synopsis "Compiler for the Rust progamming language") + (description "Rust is a systems programming language that provides memory +safety and thread safety guarantees.") + (home-page "https://www.rust-lang.org") + ;; Dual licensed. + (license (list license:asl2.0 license:expat)))) + +(define-public rust-1.23 + (package + (inherit rust-1.19) + (name "rust") + (version "1.23.0") + (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")) + (outputs '("out" "doc" "cargo")) + (arguments + (substitute-keyword-arguments (package-arguments rust-1.19) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'patch-tests 'fix-mtime-bug + (lambda* _ + (substitute* "src/build_helper/lib.rs" + ;; Bug in Rust code. + ;; Current implementation assume that if dst not exist then it's mtime + ;; is 0, but in same time "src" have 0 mtime in guix build! + (("let threshold = mtime\\(dst\\);") + "if !dst.exists() {\nreturn false\n}\n let threshold = mtime(dst);")) + #t)) + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) + (gcc (assoc-ref inputs "gcc")) + (gdb (assoc-ref inputs "gdb")) + (binutils (assoc-ref inputs "binutils")) + (python (assoc-ref inputs "python-2")) + (rustc (assoc-ref inputs "rustc-bootstrap")) + (cargo (assoc-ref inputs "cargo-bootstrap")) + (llvm (assoc-ref inputs "llvm")) + (jemalloc (assoc-ref inputs "jemalloc"))) + (call-with-output-file "config.toml" + (lambda (port) + (display (string-append " [llvm] [build] cargo = \"" cargo "/bin/cargo" "\" @@ -308,15 +334,7 @@ (define ref (stat "README.md")) (wrap-program (string-append out "/bin/rustc") `("PATH" ":" prefix (,(string-append ld-wrapper "/bin"))) `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib")))) - #t)))))) - ;; rustc invokes gcc, so we need to set its search paths accordingly. - (native-search-paths (package-native-search-paths gcc)) - (synopsis "Compiler for the Rust progamming language") - (description "Rust is a systems programming language that provides memory -safety and thread safety guarantees.") - (home-page "https://www.rust-lang.org") - ;; Dual licensed. - (license (list license:asl2.0 license:expat)))) + #t))))))))) (define-public rust (let ((base-rust rust-1.23)) -- cgit v1.2.3 From ca523cc5189a40dafcff8c08dc99aa287068df11 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 2 Apr 2018 18:47:58 +0200 Subject: gnu: Factorize rust-bootstrapped-package. * gnu/packages/rust.scm (rust-bootstrapped-package): New procedure. (rust): Use rust-bootstrapped-package. --- gnu/packages/rust.scm | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 8ec748fa6d..eaa8c48525 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -235,6 +235,18 @@ (define-public rust-1.19 ;; Dual licensed. (license (list license:asl2.0 license:expat)))) +(define (rust-bootstrapped-package base-rust version checksum) + "Bootstrap rust VERSION with source checksum CHECKSUM using BASE-RUST." + (package + (inherit base-rust) + (version version) + (source + (rust-source version checksum)) + (native-inputs + (alist-replace "cargo-bootstrap" (list base-rust "cargo") + (alist-replace "rustc-bootstrap" (list base-rust) + (package-native-inputs base-rust)))))) + (define-public rust-1.23 (package (inherit rust-1.19) @@ -337,18 +349,13 @@ (define ref (stat "README.md")) #t))))))))) (define-public rust - (let ((base-rust rust-1.23)) + (let ((base-rust + (rust-bootstrapped-package rust-1.23 "1.24.1" + "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y"))) (package (inherit base-rust) - (version "1.24.1") - (source - (rust-source version - "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")) - (native-inputs - (alist-replace "cargo-bootstrap" (list base-rust "cargo") - (alist-replace "rustc-bootstrap" (list base-rust) - (package-native-inputs base-rust)))) (arguments (substitute-keyword-arguments (package-arguments base-rust) - ((#:phases phases) `(modify-phases ,phases - (delete 'fix-mtime-bug)))))))) + ((#:phases phases) + `(modify-phases ,phases + (delete 'fix-mtime-bug)))))))) -- cgit v1.2.3 From 1bb23335e63522a558594adf4ab30003eb141e31 Mon Sep 17 00:00:00 2001 From: Nikolai Merinov Date: Sun, 15 Apr 2018 10:05:14 +0200 Subject: gnu: rust: Enable more tests. * gnu/packages/rust.scm (rust-1.19)[arguments]<#:phases>[set-env]: Modify. (rust-1.23)<#:phases>[patch-cargo-tests]: New phase. (rust-1.23)<#:phases>[check]: Enable more tests. --- gnu/packages/rust.scm | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index eaa8c48525..1112d08440 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -161,9 +161,12 @@ (define-public rust-1.19 #:phases (modify-phases %standard-phases (add-after 'unpack 'set-env - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) + ;; Disable test for cross compilation support. + (setenv "CFG_DISABLE_CROSS_TESTS" "1") (setenv "SHELL" (which "sh")) (setenv "CONFIG_SHELL" (which "sh")) + (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) ;; guix llvm-3.9.1 package installs only shared libraries (setenv "LLVM_LINK_SHARED" "1") #t)) @@ -258,7 +261,17 @@ (define-public rust-1.23 (substitute-keyword-arguments (package-arguments rust-1.19) ((#:phases phases) `(modify-phases ,phases - (add-after 'patch-tests 'fix-mtime-bug + (add-after 'patch-tests 'patch-cargo-tests + (lambda _ + (substitute* "src/tools/cargo/tests/build.rs" + (("/usr/bin/env") (which "env")) + ;; Guix llvm is compiled without asmjs-unknown-emscripten. + (("fn wasm32_final_outputs") "#[ignore]\nfn wasm32_final_outputs")) + (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")) + #t)) + (add-after 'patch-cargo-tests 'fix-mtime-bug (lambda* _ (substitute* "src/build_helper/lib.rs" ;; Bug in Rust code. @@ -327,7 +340,8 @@ (define ref (stat "README.md")) (invoke "./x.py" "build" "src/tools/cargo"))) (replace 'check (lambda* _ - (invoke "./x.py" "test"))) + (invoke "./x.py" "test") + (invoke "./x.py" "test" "src/tools/cargo"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (invoke "./x.py" "install") -- cgit v1.2.3 From fe61c88af93a230bee9aebb9c6c3836d153a4e0f Mon Sep 17 00:00:00 2001 From: Nikolai Merinov Date: Sun, 15 Apr 2018 10:11:37 +0200 Subject: gnu: rust: Update to 1.24.0. * gnu/packages/rust.scm (rust): Rename to... (rust-1.24): ...this. (rust): New variable. --- gnu/packages/rust.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 1112d08440..d95577e45b 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -362,7 +362,7 @@ (define ref (stat "README.md")) `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib")))) #t))))))))) -(define-public rust +(define-public rust-1.24 (let ((base-rust (rust-bootstrapped-package rust-1.23 "1.24.1" "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y"))) @@ -373,3 +373,25 @@ (define-public rust ((#:phases phases) `(modify-phases ,phases (delete 'fix-mtime-bug)))))))) + +(define-public rust + (let ((base-rust rust-1.24)) + (package + (inherit base-rust) + (version "1.25.0") + (source + (rust-source version + "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf")) + (native-inputs + (alist-replace "cargo-bootstrap" (list base-rust "cargo") + (alist-replace "rustc-bootstrap" (list base-rust) + (package-native-inputs base-rust)))) + (arguments + (substitute-keyword-arguments (package-arguments base-rust) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'patch-cargo-tests 'patch-cargo-index-update + (lambda* _ + (substitute* "src/tools/cargo/tests/generate-lockfile.rs" + ;; This test wants to update the crate index. + (("fn no_index_update") "#[ignore]\nfn no_index_update"))))))))))) -- cgit v1.2.3 From a92bf11c49e83d67b331526a8b752bb4ab85b2aa Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 15 Apr 2018 10:13:39 +0200 Subject: gnu: Add mrustc. * gnu/packages/rust.scm (mrustc): New variable. --- gnu/packages/rust.scm | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index d95577e45b..df5d803b6b 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017, 2018 Nikolai Merinov ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Danny Milosavljevic ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +47,7 @@ (define-module (gnu packages rust) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module ((guix build utils) #:select (alist-replace)) @@ -250,6 +252,92 @@ (define (rust-bootstrapped-package base-rust version checksum) (alist-replace "rustc-bootstrap" (list base-rust) (package-native-inputs base-rust)))))) +(define-public mrustc + (let ((commit "1a16def28935548e29be0fe5a632e25c83045924") + (revision "0") + (rustc-version "1.19.0")) + (package + (name "mrustc") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/thepowersgang/mrustc.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0i5kqnzsd1rkj8qm147jx934nyn9sd1fz2b4achj9z0r00h84dh6")))) + (outputs '("out" "cargo")) + (build-system gnu-build-system) + (inputs + `(("llvm" ,llvm-3.9.1))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex) + ;; Required for the libstd sources. + ("rustc" + ,(rust-source "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm")))) + (arguments + `(#:tests? #f + #:make-flags (list (string-append "LLVM_CONFIG=" + (assoc-ref %build-inputs "llvm") + "/bin/llvm-config")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-target-compiler + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "minicargo.mk" + ;; Don't try to build LLVM. + (("^[$][(]LLVM_CONFIG[)]:") "xxx:") + ;; Build for the correct target architecture. + (("^RUSTC_TARGET := x86_64-unknown-linux-gnu") + (string-append "RUSTC_TARGET := " + ,(or (%current-target-system) + (nix-system->gnu-triplet + (%current-system)))))) + (invoke "tar" "xf" (assoc-ref inputs "rustc")) + (chdir "rustc-1.19.0-src") + (invoke "patch" "-p0" "../rust_src.patch") + (chdir "..") + #t)) + (delete 'configure) + (add-after 'build 'build-minicargo + (lambda _ + (for-each (lambda (target) + (invoke "make" "-f" "minicargo.mk" target)) + '("output/libstd.hir" "output/libpanic_unwind.hir" + "output/libproc_macro.hir" "output/libtest.hir")) + ;; Technically the above already does it - but we want to be clear. + (invoke "make" "-C" "tools/minicargo"))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (tools-bin (string-append out "/tools/bin")) + (cargo-out (assoc-ref outputs "cargo")) + (cargo-bin (string-append cargo-out "/bin")) + (lib (string-append out "/lib")) + (lib/rust (string-append lib "/mrust")) + (gcc (assoc-ref inputs "gcc"))) + ;; These files are not reproducible. + (for-each delete-file (find-files "output" "\\.txt$")) + (mkdir-p lib) + (copy-recursively "output" lib/rust) + (mkdir-p bin) + (mkdir-p tools-bin) + (install-file "bin/mrustc" bin) + ;; minicargo uses relative paths to resolve mrustc. + (install-file "tools/bin/minicargo" tools-bin) + (install-file "tools/bin/minicargo" cargo-bin) + #t)))))) + (synopsis "Compiler for the Rust progamming language") + (description "Rust is a systems programming language that provides memory +safety and thread safety guarantees.") + (home-page "https://github.com/thepowersgang/mrustc") + ;; Dual licensed. + (license (list license:asl2.0 license:expat))))) + (define-public rust-1.23 (package (inherit rust-1.19) -- cgit v1.2.3 From af4ea9c5cbeb6fe9c3c694d97db07c335c2e51c9 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 15 Apr 2018 10:16:41 +0200 Subject: gnu: rust: Don't #ignore the same test twice. * gnu/packages/rust.scm (rust-1.19)[arguments]<#:phases>[patch-tests]: Don't #ignore the same test twice. --- gnu/packages/rust.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index df5d803b6b..8c5abfcbae 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -186,7 +186,9 @@ (define-public rust-1.19 "#[ignore]\nfn connect_timeout_unroutable")) ;; (substitute* "src/libstd/sys/unix/process/process_common.rs" - (("fn test_process_mask") "#[ignore]\nfn test_process_mask")) + (("#\\[cfg_attr\\(target_arch = \"arm\", ignore\\)\\] + fn test_process_mask") "#[ignore] + fn test_process_mask")) ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. ;; (delete-file-recursively "src/test/run-make/linker-output-non-utf8") -- cgit v1.2.3 From 67ca98ec7818f5b63fe041bfee4ef10826635685 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 22 Mar 2018 09:14:53 +0200 Subject: gnu: rust: Don't build for "native" arch on ARM. * gnu/packages/rust.scm (rust-1.23)<#:phases>[dont-build-native]: New phase. --- gnu/packages/rust.scm | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 8c5abfcbae..0df649c119 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -351,6 +351,12 @@ (define-public rust-1.23 (substitute-keyword-arguments (package-arguments rust-1.19) ((#:phases phases) `(modify-phases ,phases + (add-after 'unpack 'dont-build-native + (lambda _ + ;; XXX: Revisit this when we use gcc 6. + (substitute* "src/binaryen/CMakeLists.txt" + (("ADD_COMPILE_FLAG\\(\\\"-march=native\\\"\\)") "")) + #t)) (add-after 'patch-tests 'patch-cargo-tests (lambda _ (substitute* "src/tools/cargo/tests/build.rs" -- cgit v1.2.3 From 237587f1e07f79d1d39212e05f9548ddc6856387 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 15 Apr 2018 23:45:34 +0200 Subject: gnu: rust: Disable test_process_mask tests. * gnu/packages/rust.scm (rust-1.19): Disable test_process_mask tests. --- gnu/packages/rust.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 0df649c119..0192b04ddf 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -186,8 +186,8 @@ (define-public rust-1.19 "#[ignore]\nfn connect_timeout_unroutable")) ;; (substitute* "src/libstd/sys/unix/process/process_common.rs" - (("#\\[cfg_attr\\(target_arch = \"arm\", ignore\\)\\] - fn test_process_mask") "#[ignore] + (("fn test_process_mask") "#[allow(unused_attributes)] + #[ignore] fn test_process_mask")) ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. ;; -- cgit v1.2.3 From 8366a67b0a27b2bb9190ff45d8fd97b42e0d021d Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 17 Apr 2018 19:20:41 +0200 Subject: gnu: mrustc: Update to 0.0.0-1.4f98e43. * gnu/packages/rust.scm (mrustc): Update to 0.0.0-1.4f98e43. --- gnu/packages/rust.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 0192b04ddf..9ba2c42c68 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -255,8 +255,8 @@ (define (rust-bootstrapped-package base-rust version checksum) (package-native-inputs base-rust)))))) (define-public mrustc - (let ((commit "1a16def28935548e29be0fe5a632e25c83045924") - (revision "0") + (let ((commit "4f98e4322ef7aabd3bbef8cd93c0980cd6eeeed1") + (revision "1") (rustc-version "1.19.0")) (package (name "mrustc") @@ -269,7 +269,7 @@ (define-public mrustc (file-name (git-file-name name version)) (sha256 (base32 - "0i5kqnzsd1rkj8qm147jx934nyn9sd1fz2b4achj9z0r00h84dh6")))) + "1hk1x2iv64il5g2n3z06d6h219hnxg1w84lj7vi1lydqa65qk92p")))) (outputs '("out" "cargo")) (build-system gnu-build-system) (inputs -- cgit v1.2.3 From 94b22905ab4ebc8de4c42082df51de96bb824dd7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 18 Apr 2018 09:40:06 +0300 Subject: gnu: rust: Skip test_loading_cosine test. * gnu/packages/rust.scm (rust-1.19.0)[arguments]: Modify custom 'patch-tests phase to skip test_loading_cosine test. (rust-1.24.0)[arguments]: Modify inherited 'patch-tests to point to updated code locations. --- gnu/packages/rust.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 9ba2c42c68..0a9d5bb382 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -192,6 +192,10 @@ (define-public rust-1.19 ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. ;; (delete-file-recursively "src/test/run-make/linker-output-non-utf8") + (substitute* "src/librustc_back/dynamic_lib.rs" + ;; 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")) #t))) (add-after 'patch-source-shebangs 'patch-cargo-checksums (lambda* _ @@ -468,6 +472,31 @@ (define-public rust-1.24 (substitute-keyword-arguments (package-arguments base-rust) ((#:phases phases) `(modify-phases ,phases + (replace 'patch-tests + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash (assoc-ref inputs "bash"))) + (substitute* "src/libstd/process.rs" + ;; The newline is intentional. + ;; There's a line length "tidy" check in Rust which would + ;; fail otherwise. + (("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\""))) + (substitute* "src/libstd/net/tcp.rs" + ;; There is no network in build environment + (("fn connect_timeout_unroutable") + "#[ignore]\nfn connect_timeout_unroutable")) + ;; + (substitute* "src/libstd/sys/unix/process/process_common.rs" + (("fn test_process_mask") "#[allow(unused_attributes)] + #[ignore] + fn test_process_mask")) + ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. + ;; + (delete-file-recursively "src/test/run-make/linker-output-non-utf8") + (substitute* "src/librustc_metadata/dynamic_lib.rs" + ;; 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")) + #t))) (delete 'fix-mtime-bug)))))))) (define-public rust -- cgit v1.2.3