From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 15 17:24:37 2018 Received: (at submit) by debbugs.gnu.org; 15 Mar 2018 21:24:38 +0000 Received: from localhost ([127.0.0.1]:35479 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ewaMQ-0003RU-Gj for submit@debbugs.gnu.org; Thu, 15 Mar 2018 17:24:37 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34274) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ewaMN-0003RH-O3 for submit@debbugs.gnu.org; Thu, 15 Mar 2018 17:24:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ewaMD-0006mn-Ur for submit@debbugs.gnu.org; Thu, 15 Mar 2018 17:24:22 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:47862) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ewaMD-0006mi-Pu for submit@debbugs.gnu.org; Thu, 15 Mar 2018 17:24:17 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53456) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ewaM9-0005CT-0x for guix-patches@gnu.org; Thu, 15 Mar 2018 17:24:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ewaM4-0006kW-CM for guix-patches@gnu.org; Thu, 15 Mar 2018 17:24:13 -0400 Received: from mail-lf0-f53.google.com ([209.85.215.53]:43811) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ewaM3-0006k9-PG for guix-patches@gnu.org; Thu, 15 Mar 2018 17:24:08 -0400 Received: by mail-lf0-f53.google.com with SMTP id g13-v6so1367365lfe.10 for ; Thu, 15 Mar 2018 14:24:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=Ttg1j/GNbTFMbKLPQVgFCbhkBsgc/6cmFZzQ/tbm9i8=; b=uD04i/MjxehQyaE4Te3/oPyH5kYh7HCsPoMKLOiNGSzedijFMiiOzo79YkfqkwXJti 16MuEwc01RJf+V9BijV02OFtHnIbCcnTH6nqrlFXBJ3yRNfkXRl52eaK4U7G9pc7+DXn oFKSOMo9AG1SKMS+XVaWpiD1dTxN3LPZz1/y9Gi7mhGkCa+i5PDnW1vE1M5xJX3L7r3W jXUXHyfQDH8zZs1c3FSxSr2Y2fAsqVYWVcF9sN4WzroaldEaZKJKfWlPagupf/0g83N3 0jrmj694Bw1jqf6zjDdWkBOmt9/5ueSTVZ5Qb7sdFFCdbJhT/7EST/WAU/VkJ2SxhHAG NrDA== X-Gm-Message-State: AElRT7FeljwwKIKlaDyOwJxqqIfaWIqb8ReY8v+rGqwOmdiUUscaBhpO /FIA2Of31wdvs0NOrRC1KhcRgw== X-Google-Smtp-Source: AG47ELs/agoOl4j83tsaocviXGaJNFxrctE0nxSb/5NOAFKLo1bUXkxCO9S0ZZaFtXEfkS+kMrNRWw== X-Received: by 2002:a19:2744:: with SMTP id n65-v6mr7753078lfn.67.1521149044423; Thu, 15 Mar 2018 14:24:04 -0700 (PDT) Received: from libremnd (97.9-157-90.telenet.ru. [90.157.9.97]) by smtp.gmail.com with ESMTPSA id d204-v6sm1366375lfe.8.2018.03.15.14.24.02 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 15 Mar 2018 14:24:03 -0700 (PDT) From: Nikolai Merinov To: guix-patches@gnu.org Subject: [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 Date: Wed, 14 Mar 2018 00:06:53 +0500 Message-ID: <874llhdocu.fsf@member.fsf.org> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -3.5 (---) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: * gnu/packages/rust.scm (%rust-bootstrap-binaries-version): Update version. (%rust-bootstrap-binaries): Update hashsums. (cargo-bootstrap): Update minor version. (rust): Rename "rustc" to "rust". Update sha256 for tarball. Add cargo related dependencies. Install "cargo" as separate "rust" output. Remove substitutes for bugs that was fixed in "rustc" source code. Install documentation to separate "doc" output. Update configuration according to changes in "rustc" source code. * guix/build-system/cargo.scm (default-rust): Replace "default-cargo" and "default-rustc" functions with "default-rust" function. (cargo-build-system): Take only one package as "rust" source. Use "rustc" from default output of "rust" package, use "cargo" as "cargo" output of "rust" package. [...] Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.2 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (nikolay.d.merinov[at]gmail.com) 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.2 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and EnvelopeFrom freemail headers are different * gnu/packages/rust.scm (%rust-bootstrap-binaries-version): Update version. (%rust-bootstrap-binaries): Update hashsums. (cargo-bootstrap): Update minor version. (rust): Rename "rustc" to "rust". Update sha256 for tarball. Add cargo related dependencies. Install "cargo" as separate "rust" output. Remove substitutes for bugs that was fixed in "rustc" source code. Install documentation to separate "doc" output. Update configuration according to changes in "rustc" source code. * guix/build-system/cargo.scm (default-rust): Replace "default-cargo" and "default-rustc" functions with "default-rust" function. (cargo-build-system): Take only one package as "rust" source. Use "rustc" from default output of "rust" package, use "cargo" as "cargo" output of "rust" package. Cargo was moved from separate package to "rust" output because starting from 0.25.0 release cargo have no "Cargo.lock" anymore. According to https://github.com/rust-lang/cargo/commit/5c9665f41c6b4d3b99d3b9f8b48a286f5f154692 commit message "cargo" used as "rust" dependency and stable version for "cargo" provided through "Cargo.lock" file from "rust-lang/rust" repository. As result only way to get stable version of "cargo" is build it from "rust" sources. --- gnu/packages/rust.scm | 1146 ++----------------------------------------- guix/build-system/cargo.scm | 21 +- 2 files changed, 37 insertions(+), 1130 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 1ba857d36..3fa889582 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -53,7 +53,7 @@ #:use-module (srfi srfi-26)) ;; Should be one less than the current released version. -(define %rust-bootstrap-binaries-version "1.21.0") +(define %rust-bootstrap-binaries-version "1.23.0") (define %rust-bootstrap-binaries (origin @@ -66,15 +66,15 @@ (base32 (match %host-type ("i686-unknown-linux-gnu" - "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") + "0gs283lw6larhjlr02zm9g78djq2f6bdhxj6ls66q0z18zpx0nyw") ("x86_64-unknown-linux-gnu" - "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml") + "0znw3xxh837i5wlwsbbw6bxdqfa58bxyw3716wbckwyph8xb4d4s") ("armv7-unknown-linux-gnueabihf" - "1ml8fjq2b6j2vn1j314w93pf4wjl97n1mbz609h3i7md0zqscvs1") + "13mh4qx996rb6c3xygflc10j5zkmcxzjr32340ardwb7ja4jfw2q") ("aarch64-unknown-linux-gnu" - "1hv4m2m7xjcph39r6baryfg23hjcr4sbsrfnd1lh0wn67k2fc7j9") + "1irbj73ifdm7xvshma7qp61sadm683dnc57jfg5qc8kdjyyrydrq") ("mips64el-unknown-linux-gnuabi64" - "0p7fzkfcqg5yvj86v434z351dp7s7pgns8nzxj0fz3hmbfbvlvn9") + "1wksf07ba9idrj1z6x0hdfjsmhpzzi5idawnkfbhy6cj1g9ihnzv") (_ "")))))) ; Catch-all for other systems. (define %cargo-reference-project-file "/dev/null") @@ -148,7 +148,7 @@ which can in turn be used to build the final Rust compiler.") (define cargo-bootstrap (package (name "cargo-bootstrap") - (version (cargo-version %rust-bootstrap-binaries-version 1)) + (version (cargo-version %rust-bootstrap-binaries-version 0)) (source %rust-bootstrap-binaries) (build-system gnu-build-system) (native-inputs @@ -213,9 +213,9 @@ manager, which is required to build itself.") rustc-bootstrap and cargo-bootstrap packages.") (license license:asl2.0))) -(define-public rustc +(define-public rust (package - (name "rustc") + (name "rust") (version (rustc-version %rust-bootstrap-binaries-version 1)) (source (origin (method url-fetch) @@ -224,7 +224,7 @@ rustc-bootstrap and cargo-bootstrap packages.") "rustc-" version "-src.tar.gz")) (sha256 (base32 - "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")) + "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")) (modules '((guix build utils))) (snippet `(begin @@ -240,10 +240,14 @@ rustc-bootstrap and cargo-bootstrap packages.") ("procps" ,procps) ; For the tests ("python-2" ,python-2) ("rust-bootstrap" ,rust-bootstrap) + ("pkg-config" ,pkg-config) ; For "cargo" ("which" ,which))) (inputs `(("jemalloc" ,jemalloc-4.5.0) - ("llvm" ,llvm-3.9.1))) + ("llvm" ,llvm-3.9.1) + ("openssl" ,openssl) + ("libcurl" ,curl))) ; For "cargo" + (outputs '("out" "doc" "cargo")) (arguments `(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums' #:phases @@ -258,9 +262,6 @@ rustc-bootstrap and cargo-bootstrap packages.") (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) - (substitute* "src/build_helper/lib.rs" - ;; In same folder as gcc there is only "gcc-ar" utility - (("file\\.push_str\\(\"ar\"\\);") "file.push_str(\"gcc-ar\");")) (substitute* "src/libstd/process.rs" ;; The newline is intentional. ;; There's a line length "tidy" check in Rust which would @@ -276,12 +277,6 @@ rustc-bootstrap and cargo-bootstrap packages.") ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. ;; (delete-file-recursively "src/test/run-make/linker-output-non-utf8") - (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* (#:key inputs #:allow-other-keys) @@ -302,6 +297,7 @@ rustc-bootstrap and cargo-bootstrap packages.") (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")) @@ -317,15 +313,18 @@ rustc-bootstrap and cargo-bootstrap packages.") [build] cargo = \"" cargo "/bin/cargo" "\" rustc = \"" rustc "/bin/rustc" "\" +docs = true python = \"" python "/bin/python2" "\" gdb = \"" gdb "/bin/gdb" "\" vendor = true submodules = false [install] prefix = \"" out "\" +docdir = \"" doc "/share/doc/rust" "\" +sysconfdir = \"etc\" +localstatedir = \"var/lib\" [rust] default-linker = \"" gcc "/bin/gcc" "\" -default-ar = \"" binutils "/bin/ar" "\" channel = \"stable\" rpath = true # There is 2 failed codegen tests: @@ -336,6 +335,7 @@ codegen-tests = false llvm-config = \"" llvm "/bin/llvm-config" "\" cc = \"" gcc "/bin/gcc" "\" cxx = \"" gcc "/bin/g++" "\" +ar = \"" binutils "/bin/ar" "\" jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" [dist] ") port))) @@ -350,13 +350,20 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" #t)) (replace 'build (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "./x.py" "build")))) + (and (zero? (system* "./x.py" "build")) + (zero? (system* "./x.py" "build" "src/tools/cargo"))))) (replace 'check (lambda* (#:key inputs outputs #:allow-other-keys) (zero? (system* "./x.py" "test")))) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "./x.py" "install")))) + (and (zero? (system* "./x.py" "install")) + (begin + (substitute* "config.toml" + ;; replace prefix to specific output + (("prefix = \"[^\"]*\"") + (string-append "prefix = \"" (assoc-ref outputs "cargo") "\""))) + (zero? (system* "./x.py" "install" "cargo")))))) (add-after 'install 'wrap-rustc (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -375,1096 +382,3 @@ safety and thread safety guarantees.") (home-page "https://www.rust-lang.org") ;; Dual licensed. (license (list license:asl2.0 license:expat)))) - -;; This tries very hard not to get into a cyclic dependency like this: -;; cargo <- cargo-build-system <- cargo. -(define-public cargo - (package - (name "cargo") - (version (cargo-version (rustc-version %rust-bootstrap-binaries-version) 0)) - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/rust-lang/cargo/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0kr7rml7v2bm7zl8jcb3056h63zpyy9m08s212i8vfwxf6lf5fzl")))) - (build-system cargo-build-system) - (propagated-inputs - `(("cmake" ,cmake) - ("pkg-config" ,pkg-config))) - (inputs - `(("curl" ,curl) - ("libgit2" ,libgit2) - ("libssh2" ,libssh2) - ("openssl" ,openssl) - ("python-2" ,python-2) - ("zlib" ,zlib))) - (native-inputs - `(("git" ,git) ; required for tests - ;; Next dependencies generated with next command: - ;; cat Cargo.lock | awk ' - ;; /^"checksum/ - ;; { oname=name=$2; vers=$3; hash=$6; - ;; if (ns[name] != 1) { ns[name]=1; } else { name = name "-" vers; } - ;; print " (\"rust-" name "\""; - ;; print " ,(origin"; - ;; print " (method url-fetch)"; - ;; print " (uri (crate-uri \"" oname "\" \"" vers "\"))"; - ;; print " (file-name \"rust-" oname "\-\" vers "\") - ;; print " (sha256"; - ;; print " (base16-string->bytevector"; - ;; print " " hash "))))" - ;; }' - ("rust-advapi32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "advapi32-sys" "0.2.0")) - (file-name "rust-advapi32-sys-0.2.0") - (sha256 - (base16-string->bytevector - "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb8a9a")))) - ("rust-aho-corasick" - ,(origin - (method url-fetch) - (uri (crate-uri "aho-corasick" "0.5.3")) - (file-name "rust-aho-corasick-0.5.3") - (sha256 - (base16-string->bytevector - "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686ddb66")))) - ("rust-aho-corasick-0.6.3" - ,(origin - (method url-fetch) - (uri (crate-uri "aho-corasick" "0.6.3")) - (file-name "rust-aho-corasick-0.6.3") - (sha256 - (base16-string->bytevector - "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699")))) - ("rust-atty" - ,(origin - (method url-fetch) - (uri (crate-uri "atty" "0.2.3")) - (file-name "rust-atty-0.2.3") - (sha256 - (base16-string->bytevector - "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421b78860")))) - ("rust-backtrace" - ,(origin - (method url-fetch) - (uri (crate-uri "backtrace" "0.3.3")) - (file-name "rust-backtrace-0.3.3") - (sha256 - (base16-string->bytevector - "99f2ce94e22b8e664d95c57fff45b98a966c2252b60691d0b7aeeccd88d70983")))) - ("rust-backtrace-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "backtrace-sys" "0.1.14")) - (file-name "rust-backtrace-sys-0.1.14") - (sha256 - (base16-string->bytevector - "c63ea141ef8fdb10409d0f5daf30ac51f84ef43bff66f16627773d2a292cd189")))) - ("rust-bitflags" - ,(origin - (method url-fetch) - (uri (crate-uri "bitflags" "0.7.0")) - (file-name "rust-bitflags-0.7.0") - (sha256 - (base16-string->bytevector - "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d")))) - ("rust-bitflags-0.9.1" - ,(origin - (method url-fetch) - (uri (crate-uri "bitflags" "0.9.1")) - (file-name "rust-bitflags-0.9.1") - (sha256 - (base16-string->bytevector - "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5")))) - ("rust-bufstream" - ,(origin - (method url-fetch) - (uri (crate-uri "bufstream" "0.1.3")) - (file-name "rust-bufstream-0.1.3") - (sha256 - (base16-string->bytevector - "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d09468e32")))) - ("rust-cc" - ,(origin - (method url-fetch) - (uri (crate-uri "cc" "1.0.0")) - (file-name "rust-cc-1.0.0") - (sha256 - (base16-string->bytevector - "7db2f146208d7e0fbee761b09cd65a7f51ccc38705d4e7262dad4d73b12a76b1")))) - ("rust-cfg-if" - ,(origin - (method url-fetch) - (uri (crate-uri "cfg-if" "0.1.2")) - (file-name "rust-cfg-if-0.1.2") - (sha256 - (base16-string->bytevector - "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed3140de")))) - ("rust-cmake" - ,(origin - (method url-fetch) - (uri (crate-uri "cmake" "0.1.26")) - (file-name "rust-cmake-0.1.26") - (sha256 - (base16-string->bytevector - "357c07e7a1fc95732793c1edb5901e1a1f305cfcf63a90eb12dbd22bdb6b789d")))) - ("rust-commoncrypto" - ,(origin - (method url-fetch) - (uri (crate-uri "commoncrypto" "0.2.0")) - (file-name "rust-commoncrypto-0.2.0") - (sha256 - (base16-string->bytevector - "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007")))) - ("rust-commoncrypto-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "commoncrypto-sys" "0.2.0")) - (file-name "rust-commoncrypto-sys-0.2.0") - (sha256 - (base16-string->bytevector - "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2")))) - ("rust-conv" - ,(origin - (method url-fetch) - (uri (crate-uri "conv" "0.3.3")) - (file-name "rust-conv-0.3.3") - (sha256 - (base16-string->bytevector - "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299")))) - ("rust-core-foundation" - ,(origin - (method url-fetch) - (uri (crate-uri "core-foundation" "0.4.4")) - (file-name "rust-core-foundation-0.4.4") - (sha256 - (base16-string->bytevector - "5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb2320dc7")))) - ("rust-core-foundation-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "core-foundation-sys" "0.4.4")) - (file-name "rust-core-foundation-sys-0.4.4") - (sha256 - (base16-string->bytevector - "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a3387")))) - ("rust-crossbeam" - ,(origin - (method url-fetch) - (uri (crate-uri "crossbeam" "0.2.10")) - (file-name "rust-crossbeam-0.2.10") - (sha256 - (base16-string->bytevector - "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927508f97")))) - ("rust-crossbeam-0.3.0" - ,(origin - (method url-fetch) - (uri (crate-uri "crossbeam" "0.3.0")) - (file-name "rust-crossbeam-0.3.0") - (sha256 - (base16-string->bytevector - "8837ab96533202c5b610ed44bc7f4183e7957c1c8f56e8cc78bb098593c8ba0a")))) - ("rust-crypto-hash" - ,(origin - (method url-fetch) - (uri (crate-uri "crypto-hash" "0.3.0")) - (file-name "rust-crypto-hash-0.3.0") - (sha256 - (base16-string->bytevector - "34903878eec1694faf53cae8473a088df333181de421d4d3d48061d6559fe602")))) - ("rust-curl" - ,(origin - (method url-fetch) - (uri (crate-uri "curl" "0.4.8")) - (file-name "rust-curl-0.4.8") - (sha256 - (base16-string->bytevector - "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41ae9c2c")))) - ("rust-curl-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "curl-sys" "0.3.15")) - (file-name "rust-curl-sys-0.3.15") - (sha256 - (base16-string->bytevector - "4bee31aa3a079d5f3ff9579ea4dcfb1b1a17a40886f5f467436d383e78134b55")))) - ("rust-custom_derive" - ,(origin - (method url-fetch) - (uri (crate-uri "custom_derive" "0.1.7")) - (file-name "rust-custom_derive-0.1.7") - (sha256 - (base16-string->bytevector - "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9")))) - ("rust-dbghelp-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "dbghelp-sys" "0.2.0")) - (file-name "rust-dbghelp-sys-0.2.0") - (sha256 - (base16-string->bytevector - "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850")))) - ("rust-docopt" - ,(origin - (method url-fetch) - (uri (crate-uri "docopt" "0.8.1")) - (file-name "rust-docopt-0.8.1") - (sha256 - (base16-string->bytevector - "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49787a")))) - ("rust-dtoa" - ,(origin - (method url-fetch) - (uri (crate-uri "dtoa" "0.4.2")) - (file-name "rust-dtoa-0.4.2") - (sha256 - (base16-string->bytevector - "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab")))) - ("rust-env_logger" - ,(origin - (method url-fetch) - (uri (crate-uri "env_logger" "0.4.3")) - (file-name "rust-env_logger-0.4.3") - (sha256 - (base16-string->bytevector - "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b")))) - ("rust-error-chain" - ,(origin - (method url-fetch) - (uri (crate-uri "error-chain" "0.11.0")) - (file-name "rust-error-chain-0.11.0") - (sha256 - (base16-string->bytevector - "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419ed3f3")))) - ("rust-filetime" - ,(origin - (method url-fetch) - (uri (crate-uri "filetime" "0.1.12")) - (file-name "rust-filetime-0.1.12") - (sha256 - (base16-string->bytevector - "6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf732c0e")))) - ("rust-flate2" - ,(origin - (method url-fetch) - (uri (crate-uri "flate2" "0.2.20")) - (file-name "rust-flate2-0.2.20") - (sha256 - (base16-string->bytevector - "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81e423")))) - ("rust-fnv" - ,(origin - (method url-fetch) - (uri (crate-uri "fnv" "1.0.5")) - (file-name "rust-fnv-1.0.5") - (sha256 - (base16-string->bytevector - "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344")))) - ("rust-foreign-types" - ,(origin - (method url-fetch) - (uri (crate-uri "foreign-types" "0.2.0")) - (file-name "rust-foreign-types-0.2.0") - (sha256 - (base16-string->bytevector - "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8a29d")))) - ("rust-fs2" - ,(origin - (method url-fetch) - (uri (crate-uri "fs2" "0.4.2")) - (file-name "rust-fs2-0.4.2") - (sha256 - (base16-string->bytevector - "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c2866")))) - ("rust-git2" - ,(origin - (method url-fetch) - (uri (crate-uri "git2" "0.6.8")) - (file-name "rust-git2-0.6.8") - (sha256 - (base16-string->bytevector - "0c1c0203d653f4140241da0c1375a404f0a397249ec818cd2076c6280c50f6fa")))) - ("rust-git2-curl" - ,(origin - (method url-fetch) - (uri (crate-uri "git2-curl" "0.7.0")) - (file-name "rust-git2-curl-0.7.0") - (sha256 - (base16-string->bytevector - "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5bf8e")))) - ("rust-glob" - ,(origin - (method url-fetch) - (uri (crate-uri "glob" "0.2.11")) - (file-name "rust-glob-0.2.11") - (sha256 - (base16-string->bytevector - "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb")))) - ("rust-globset" - ,(origin - (method url-fetch) - (uri (crate-uri "globset" "0.2.0")) - (file-name "rust-globset-0.2.0") - (sha256 - (base16-string->bytevector - "feeb1b6840809ef5efcf7a4a990bc4e1b7ee3df8cf9e2379a75aeb2ba42ac9c3")))) - ("rust-hamcrest" - ,(origin - (method url-fetch) - (uri (crate-uri "hamcrest" "0.1.1")) - (file-name "rust-hamcrest-0.1.1") - (sha256 - (base16-string->bytevector - "bf088f042a467089e9baa4972f57f9247e42a0cc549ba264c7a04fbb8ecb89d4")))) - ("rust-hex" - ,(origin - (method url-fetch) - (uri (crate-uri "hex" "0.2.0")) - (file-name "rust-hex-0.2.0") - (sha256 - (base16-string->bytevector - "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e153aa")))) - ("rust-home" - ,(origin - (method url-fetch) - (uri (crate-uri "home" "0.3.0")) - (file-name "rust-home-0.3.0") - (sha256 - (base16-string->bytevector - "9f25ae61099d8f3fee8b483df0bd4ecccf4b2731897aad40d50eca1b641fe6db")))) - ("rust-idna" - ,(origin - (method url-fetch) - (uri (crate-uri "idna" "0.1.4")) - (file-name "rust-idna-0.1.4") - (sha256 - (base16-string->bytevector - "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951eaf7d")))) - ("rust-ignore" - ,(origin - (method url-fetch) - (uri (crate-uri "ignore" "0.2.2")) - (file-name "rust-ignore-0.2.2") - (sha256 - (base16-string->bytevector - "b3fcaf2365eb14b28ec7603c98c06cc531f19de9eb283d89a3dff8417c8c99f5")))) - ("rust-itoa" - ,(origin - (method url-fetch) - (uri (crate-uri "itoa" "0.3.4")) - (file-name "rust-itoa-0.3.4") - (sha256 - (base16-string->bytevector - "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4db8c")))) - ("rust-jobserver" - ,(origin - (method url-fetch) - (uri (crate-uri "jobserver" "0.1.6")) - (file-name "rust-jobserver-0.1.6") - (sha256 - (base16-string->bytevector - "443ae8bc0af6c106e6e8b77e04684faecc1a5ce94e058f4c2b0a037b0ea1b133")))) - ("rust-kernel32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "kernel32-sys" "0.2.2")) - (file-name "rust-kernel32-sys-0.2.2") - (sha256 - (base16-string->bytevector - "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d")))) - ("rust-lazy_static" - ,(origin - (method url-fetch) - (uri (crate-uri "lazy_static" "0.2.9")) - (file-name "rust-lazy_static-0.2.9") - (sha256 - (base16-string->bytevector - "c9e5e58fa1a4c3b915a561a78a22ee0cac6ab97dca2504428bc1cb074375f8d5")))) - ("rust-libc" - ,(origin - (method url-fetch) - (uri (crate-uri "libc" "0.2.31")) - (file-name "rust-libc-0.2.31") - (sha256 - (base16-string->bytevector - "d1419b2939a0bc44b77feb34661583c7546b532b192feab36249ab584b86856c")))) - ("rust-libgit2-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libgit2-sys" "0.6.16")) - (file-name "rust-libgit2-sys-0.6.16") - (sha256 - (base16-string->bytevector - "6f74b4959cef96898f5123148724fc7dee043b9a6b99f219d948851bfbe53cb2")))) - ("rust-libssh2-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libssh2-sys" "0.2.6")) - (file-name "rust-libssh2-sys-0.2.6") - (sha256 - (base16-string->bytevector - "0db4ec23611747ef772db1c4d650f8bd762f07b461727ec998f953c614024b75")))) - ("rust-libz-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libz-sys" "1.0.17")) - (file-name "rust-libz-sys-1.0.17") - (sha256 - (base16-string->bytevector - "44ebbc760fd2d2f4d93de09a0e13d97e057612052e871da9985cedcb451e6bd5")))) - ("rust-log" - ,(origin - (method url-fetch) - (uri (crate-uri "log" "0.3.8")) - (file-name "rust-log-0.3.8") - (sha256 - (base16-string->bytevector - "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512565b")))) - ("rust-magenta" - ,(origin - (method url-fetch) - (uri (crate-uri "magenta" "0.1.1")) - (file-name "rust-magenta-0.1.1") - (sha256 - (base16-string->bytevector - "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3ac527")))) - ("rust-magenta-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "magenta-sys" "0.1.1")) - (file-name "rust-magenta-sys-0.1.1") - (sha256 - (base16-string->bytevector - "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f4699")))) - ("rust-matches" - ,(origin - (method url-fetch) - (uri (crate-uri "matches" "0.1.6")) - (file-name "rust-matches-0.1.6") - (sha256 - (base16-string->bytevector - "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376")))) - ("rust-memchr" - ,(origin - (method url-fetch) - (uri (crate-uri "memchr" "0.1.11")) - (file-name "rust-memchr-0.1.11") - (sha256 - (base16-string->bytevector - "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20")))) - ("rust-memchr-1.0.1" - ,(origin - (method url-fetch) - (uri (crate-uri "memchr" "1.0.1")) - (file-name "rust-memchr-1.0.1") - (sha256 - (base16-string->bytevector - "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4")))) - ("rust-miniz-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "miniz-sys" "0.1.10")) - (file-name "rust-miniz-sys-0.1.10") - (sha256 - (base16-string->bytevector - "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7e2b4")))) - ("rust-miow" - ,(origin - (method url-fetch) - (uri (crate-uri "miow" "0.2.1")) - (file-name "rust-miow-0.2.1") - (sha256 - (base16-string->bytevector - "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919")))) - ("rust-net2" - ,(origin - (method url-fetch) - (uri (crate-uri "net2" "0.2.31")) - (file-name "rust-net2-0.2.31") - (sha256 - (base16-string->bytevector - "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b716c09")))) - ("rust-num" - ,(origin - (method url-fetch) - (uri (crate-uri "num" "0.1.40")) - (file-name "rust-num-0.1.40") - (sha256 - (base16-string->bytevector - "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f923525")))) - ("rust-num-bigint" - ,(origin - (method url-fetch) - (uri (crate-uri "num-bigint" "0.1.40")) - (file-name "rust-num-bigint-0.1.40") - (sha256 - (base16-string->bytevector - "8fd0f8dbb4c0960998958a796281d88c16fbe68d87b1baa6f31e2979e81fd0bd")))) - ("rust-num-complex" - ,(origin - (method url-fetch) - (uri (crate-uri "num-complex" "0.1.40")) - (file-name "rust-num-complex-0.1.40") - (sha256 - (base16-string->bytevector - "503e668405c5492d67cf662a81e05be40efe2e6bcf10f7794a07bd9865e704e6")))) - ("rust-num-integer" - ,(origin - (method url-fetch) - (uri (crate-uri "num-integer" "0.1.35")) - (file-name "rust-num-integer-0.1.35") - (sha256 - (base16-string->bytevector - "d1452e8b06e448a07f0e6ebb0bb1d92b8890eea63288c0b627331d53514d0fba")))) - ("rust-num-iter" - ,(origin - (method url-fetch) - (uri (crate-uri "num-iter" "0.1.34")) - (file-name "rust-num-iter-0.1.34") - (sha256 - (base16-string->bytevector - "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13dffe01")))) - ("rust-num-rational" - ,(origin - (method url-fetch) - (uri (crate-uri "num-rational" "0.1.39")) - (file-name "rust-num-rational-0.1.39") - (sha256 - (base16-string->bytevector - "288629c76fac4b33556f4b7ab57ba21ae202da65ba8b77466e6d598e31990790")))) - ("rust-num-traits" - ,(origin - (method url-fetch) - (uri (crate-uri "num-traits" "0.1.40")) - (file-name "rust-num-traits-0.1.40") - (sha256 - (base16-string->bytevector - "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721b9b0")))) - ("rust-num_cpus" - ,(origin - (method url-fetch) - (uri (crate-uri "num_cpus" "1.7.0")) - (file-name "rust-num_cpus-1.7.0") - (sha256 - (base16-string->bytevector - "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d453b20d")))) - ("rust-openssl" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl" "0.9.19")) - (file-name "rust-openssl-0.9.19") - (sha256 - (base16-string->bytevector - "816914b22eb15671d62c73442a51978f311e911d6a6f6cbdafa6abce1b5038fc")))) - ("rust-openssl-probe" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl-probe" "0.1.1")) - (file-name "rust-openssl-probe-0.1.1") - (sha256 - (base16-string->bytevector - "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f378daf")))) - ("rust-openssl-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl-sys" "0.9.19")) - (file-name "rust-openssl-sys-0.9.19") - (sha256 - (base16-string->bytevector - "1e4c63a7d559c1e5afa6d6a9e6fa34bbc5f800ffc9ae08b72c605420b0c4f5e8")))) - ("rust-percent-encoding" - ,(origin - (method url-fetch) - (uri (crate-uri "percent-encoding" "1.0.0")) - (file-name "rust-precent-encoding-1.0.0") - (sha256 - (base16-string->bytevector - "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6ae356")))) - ("rust-pkg-config" - ,(origin - (method url-fetch) - (uri (crate-uri "pkg-config" "0.3.9")) - (file-name "rust-pkg-config-0.3.9") - (sha256 - (base16-string->bytevector - "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903")))) - ("rust-psapi-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "psapi-sys" "0.1.0")) - (file-name "rust-psapi-sys-0.1.0") - (sha256 - (base16-string->bytevector - "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a2478")))) - ("rust-quote" - ,(origin - (method url-fetch) - (uri (crate-uri "quote" "0.3.15")) - (file-name "rust-quote-0.3.15") - (sha256 - (base16-string->bytevector - "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a")))) - ("rust-rand" - ,(origin - (method url-fetch) - (uri (crate-uri "rand" "0.3.16")) - (file-name "rust-rand-0.3.16") - (sha256 - (base16-string->bytevector - "eb250fd207a4729c976794d03db689c9be1d634ab5a1c9da9492a13d8fecbcdf")))) - ("rust-redox_syscall" - ,(origin - (method url-fetch) - (uri (crate-uri "redox_syscall" "0.1.31")) - (file-name "rust-redox_syscall-0.1.31") - (sha256 - (base16-string->bytevector - "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47eb04509")))) - ("rust-redox_termios" - ,(origin - (method url-fetch) - (uri (crate-uri "redox_termios" "0.1.1")) - (file-name "rust-redox_termios-0.1.1") - (sha256 - (base16-string->bytevector - "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76")))) - ("rust-regex" - ,(origin - (method url-fetch) - (uri (crate-uri "regex" "0.1.80")) - (file-name "rust-regex-0.1.80") - (sha256 - (base16-string->bytevector - "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019402f")))) - ("rust-regex-0.2.2" - ,(origin - (method url-fetch) - (uri (crate-uri "regex" "0.2.2")) - (file-name "rust-regex-0.2.2") - (sha256 - (base16-string->bytevector - "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b2d1b")))) - ("rust-regex-syntax" - ,(origin - (method url-fetch) - (uri (crate-uri "regex-syntax" "0.3.9")) - (file-name "rust-regex-syntax-0.3.9") - (sha256 - (base16-string->bytevector - "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db834957")))) - ("rust-regex-syntax-0.4.1" - ,(origin - (method url-fetch) - (uri (crate-uri "regex-syntax" "0.4.1")) - (file-name "rust-regex-syntax-0.4.1") - (sha256 - (base16-string->bytevector - "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f62db")))) - ("rust-rustc-demangle" - ,(origin - (method url-fetch) - (uri (crate-uri "rustc-demangle" "0.1.5")) - (file-name "rust-rustc-demangle-0.1.5") - (sha256 - (base16-string->bytevector - "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e817e")))) - ("rust-rustc-serialize" - ,(origin - (method url-fetch) - (uri (crate-uri "rustc-serialize" "0.3.24")) - (file-name "rust-rustc-serialize-0.3.24") - (sha256 - (base16-string->bytevector - "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda")))) - ("rust-same-file" - ,(origin - (method url-fetch) - (uri (crate-uri "same-file" "0.1.3")) - (file-name "rust-same-file-0.1.3") - (sha256 - (base16-string->bytevector - "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7")))) - ("rust-scoped-tls" - ,(origin - (method url-fetch) - (uri (crate-uri "scoped-tls" "0.1.0")) - (file-name "rust-scoped-tls-0.1.0") - (sha256 - (base16-string->bytevector - "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb903807f147d")))) - ("rust-scopeguard" - ,(origin - (method url-fetch) - (uri (crate-uri "scopeguard" "0.1.2")) - (file-name "rust-scopeguard-0.1.2") - (sha256 - (base16-string->bytevector - "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e83981a6c57")))) - ("rust-semver" - ,(origin - (method url-fetch) - (uri (crate-uri "semver" "0.8.0")) - (file-name "rust-semver-0.8.0") - (sha256 - (base16-string->bytevector - "bee2bc909ab2d8d60dab26e8cad85b25d795b14603a0dcb627b78b9d30b6454b")))) - ("rust-semver-parser" - ,(origin - (method url-fetch) - (uri (crate-uri "semver-parser" "0.7.0")) - (file-name "rust-semver-parser-0.7.0") - (sha256 - (base16-string->bytevector - "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3")))) - ("rust-serde" - ,(origin - (method url-fetch) - (uri (crate-uri "serde" "1.0.15")) - (file-name "rust-serde-1.0.15") - (sha256 - (base16-string->bytevector - "6a7046c9d4c6c522d10b2d098f9bebe2bef227e0e74044d8c1bfcf6b476af799")))) - ("rust-serde_derive" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_derive" "1.0.15")) - (file-name "rust-serde_derive-1.0.15") - (sha256 - (base16-string->bytevector - "1afcaae083fd1c46952a315062326bc9957f182358eb7da03b57ef1c688f7aa9")))) - ("rust-serde_derive_internals" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_derive_internals" "0.16.0")) - (file-name "rust-serde_derive_internals-0.16.0") - (sha256 - (base16-string->bytevector - "bd381f6d01a6616cdba8530492d453b7761b456ba974e98768a18cad2cd76f58")))) - ("rust-serde_ignored" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_ignored" "0.0.4")) - (file-name "rust-serde_ignored-0.0.4") - (sha256 - (base16-string->bytevector - "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01fb142")))) - ("rust-serde_json" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_json" "1.0.3")) - (file-name "rust-serde_json-1.0.3") - (sha256 - (base16-string->bytevector - "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6ac6b7ac")))) - ("rust-shell-escape" - ,(origin - (method url-fetch) - (uri (crate-uri "shell-escape" "0.1.3")) - (file-name "rust-shell-escape-0.1.3") - (sha256 - (base16-string->bytevector - "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b84ef8")))) - ("rust-socket2" - ,(origin - (method url-fetch) - (uri (crate-uri "socket2" "0.2.3")) - (file-name "rust-socket2-0.2.3") - (sha256 - (base16-string->bytevector - "9e76b159741052c7deaa9fd0b5ca6b5f79cecf525ed665abfe5002086c6b2791")))) - ("rust-strsim" - ,(origin - (method url-fetch) - (uri (crate-uri "strsim" "0.6.0")) - (file-name "rust-strsim-0.6.0") - (sha256 - (base16-string->bytevector - "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694")))) - ("rust-syn" - ,(origin - (method url-fetch) - (uri (crate-uri "syn" "0.11.11")) - (file-name "rust-syn-0.11.11") - (sha256 - (base16-string->bytevector - "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad")))) - ("rust-synom" - ,(origin - (method url-fetch) - (uri (crate-uri "synom" "0.11.3")) - (file-name "rust-synom-0.11.3") - (sha256 - (base16-string->bytevector - "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6")))) - ("rust-tar" - ,(origin - (method url-fetch) - (uri (crate-uri "tar" "0.4.13")) - (file-name "rust-tar-0.4.13") - (sha256 - (base16-string->bytevector - "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f2b1b")))) - ("rust-tempdir" - ,(origin - (method url-fetch) - (uri (crate-uri "tempdir" "0.3.5")) - (file-name "rust-tempdir-0.3.5") - (sha256 - (base16-string->bytevector - "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6")))) - ("rust-termcolor" - ,(origin - (method url-fetch) - (uri (crate-uri "termcolor" "0.3.3")) - (file-name "rust-termcolor-0.3.3") - (sha256 - (base16-string->bytevector - "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b242c75")))) - ("rust-termion" - ,(origin - (method url-fetch) - (uri (crate-uri "termion" "1.5.1")) - (file-name "rust-termion-1.5.1") - (sha256 - (base16-string->bytevector - "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096")))) - ("rust-thread-id" - ,(origin - (method url-fetch) - (uri (crate-uri "thread-id" "2.0.0")) - (file-name "rust-thread-id-2.0.0") - (sha256 - (base16-string->bytevector - "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0ff03")))) - ("rust-thread_local" - ,(origin - (method url-fetch) - (uri (crate-uri "thread_local" "0.2.7")) - (file-name "rust-thread_local-0.2.7") - (sha256 - (base16-string->bytevector - "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18cfdd5")))) - ("rust-thread_local-0.3.4" - ,(origin - (method url-fetch) - (uri (crate-uri "thread_local" "0.3.4")) - (file-name "rust-thread_local-0.3.4") - (sha256 - (base16-string->bytevector - "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90bb14")))) - ("rust-toml" - ,(origin - (method url-fetch) - (uri (crate-uri "toml" "0.4.5")) - (file-name "rust-toml-0.4.5") - (sha256 - (base16-string->bytevector - "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b6e7e")))) - ("rust-unicode-bidi" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-bidi" "0.3.4")) - (file-name "rust-unicode-bidi-0.3.4") - (sha256 - (base16-string->bytevector - "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5")))) - ("rust-unicode-normalization" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-normalization" "0.1.5")) - (file-name "rust-unicode-normalization-0.1.5") - (sha256 - (base16-string->bytevector - "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625920f")))) - ("rust-unicode-xid" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-xid" "0.0.4")) - (file-name "rust-unicode-xid-0.0.4") - (sha256 - (base16-string->bytevector - "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc")))) - ("rust-unreachable" - ,(origin - (method url-fetch) - (uri (crate-uri "unreachable" "1.0.0")) - (file-name "rust-unreachable-1.0.0") - (sha256 - (base16-string->bytevector - "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56")))) - ("rust-url" - ,(origin - (method url-fetch) - (uri (crate-uri "url" "1.5.1")) - (file-name "rust-url-1.5.1") - (sha256 - (base16-string->bytevector - "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4fe27")))) - ("rust-userenv-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "userenv-sys" "0.2.0")) - (file-name "rust-userenv-sys-0.2.0") - (sha256 - (base16-string->bytevector - "71d28ea36bbd9192d75bd9fa9b39f96ddb986eaee824adae5d53b6e51919b2f3")))) - ("rust-utf8-ranges" - ,(origin - (method url-fetch) - (uri (crate-uri "utf8-ranges" "0.1.3")) - (file-name "rust-utf8-ranges-0.1.3") - (sha256 - (base16-string->bytevector - "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f")))) - ("rust-utf8-ranges-1.0.0" - ,(origin - (method url-fetch) - (uri (crate-uri "utf8-ranges" "1.0.0")) - (file-name "rust-utf8-ranges-1.0.0") - (sha256 - (base16-string->bytevector - "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122")))) - ("rust-vcpkg" - ,(origin - (method url-fetch) - (uri (crate-uri "vcpkg" "0.2.2")) - (file-name "rust-vcpkg-0.2.2") - (sha256 - (base16-string->bytevector - "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd5487d0b")))) - ("rust-void" - ,(origin - (method url-fetch) - (uri (crate-uri "void" "1.0.2")) - (file-name "rust-void-1.0.2") - (sha256 - (base16-string->bytevector - "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d")))) - ("rust-walkdir" - ,(origin - (method url-fetch) - (uri (crate-uri "walkdir" "1.0.7")) - (file-name "rust-walkdir-1.0.7") - (sha256 - (base16-string->bytevector - "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff")))) - ("rust-winapi" - ,(origin - (method url-fetch) - (uri (crate-uri "winapi" "0.2.8")) - (file-name "rust-winapi-0.2.8") - (sha256 - (base16-string->bytevector - "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a")))) - ("rust-winapi-build" - ,(origin - (method url-fetch) - (uri (crate-uri "winapi-build" "0.1.1")) - (file-name "rust-winapi-build-0.1.1") - (sha256 - (base16-string->bytevector - "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc")))) - ("rust-wincolor" - ,(origin - (method url-fetch) - (uri (crate-uri "wincolor" "0.1.4")) - (file-name "rust-wincolor-0.1.4") - (sha256 - (base16-string->bytevector - "a39ee4464208f6430992ff20154216ab2357772ac871d994c51628d60e58b8b0")))) - ("rust-ws2_32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "ws2_32-sys" "0.2.1")) - (file-name "rust-ws2_32-sys-0.2.1") - (sha256 - (base16-string->bytevector - "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e")))))) - (arguments - `(#:cargo ,cargo-bootstrap - #:rustc ,rustc ; Force to use rustc from current file - #:modules - ((ice-9 match) - (srfi srfi-1) ; 'every - (guix build utils) - (guix build cargo-build-system)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-dependencies - (lambda* (#:key inputs outputs #:allow-other-keys) - (define (unpack source target) - (mkdir-p target) - (with-directory-excursion target - (zero? (system* "tar" "xf" - source - "--strip-components=1")))) - (define (touch file-name) - (call-with-output-file file-name (const #t))) - (define (install-rust-library entry) - (match entry - ((name . src) - (if (string-prefix? "rust-" name) - (let* ((rust-length (string-length "rust-")) - (rust-name (string-drop name rust-length)) - (rsrc (string-append "vendor/" rust-name)) - (unpack-status (unpack src rsrc))) - (touch (string-append rsrc "/.cargo-ok")) - (generate-checksums rsrc src) - unpack-status))) - (_ #t))) - (mkdir "vendor") - (every install-rust-library inputs))) - (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Cargo.lock" - (("(\"checksum .* = )\".*\"" all name) - (string-append name "\"" ,%cargo-reference-hash "\""))) - (for-each - (lambda (filename) - (use-modules (guix build cargo-build-system)) - (delete-file filename) - (let* ((dir (dirname filename))) - (display (string-append - "patch-cargo-checksums: generate-checksums for " - dir "\n")) - (generate-checksums dir ,%cargo-reference-project-file))) - (find-files "vendor" ".cargo-checksum.json")) - #t)) - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "tests/build.rs" - (("/usr/bin/env") (which "env")) - ;; Guix llvm compiled without asmjs-unknown-emscripten at all - (("fn wasm32_final_outputs") "#[ignore]\nfn wasm32_final_outputs")) - (substitute* "tests/death.rs" - ;; Stuck when built in container - (("fn ctrl_c_kills_everyone") "#[ignore]\nfn ctrl_c_kills_everyone")) - (mkdir ".cargo") - (call-with-output-file ".cargo/config" - (lambda (port) - (display " -[source.crates-io] -registry = 'https://github.com/rust-lang/crates.io-index' -replace-with = 'vendored-sources' - -[source.vendored-sources] -directory = 'vendor' -" port))) - ;; 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")) - #t))))) - (home-page "https://github.com/rust-lang/cargo") - (synopsis "Build tool and package manager for Rust") - (description "Cargo is a tool that allows Rust projects to declare their -dependencies and ensures a reproducible build.") - ;; Cargo is dual licensed Apache and MIT. Also contains - ;; code from openssl which is GPL2 with linking exception. - (license (list license:asl2.0 license:expat license:gpl2)))) diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm index c637fbb16..4a1eb0cfa 100644 --- a/guix/build-system/cargo.scm +++ b/guix/build-system/cargo.scm @@ -43,17 +43,11 @@ to NAME and VERSION." (string-append crate-url name "/" version "/download")) -(define (default-cargo) - "Return the default Cargo package." +(define (default-rust) + "Return the default Rust package." ;; Lazily resolve the binding to avoid a circular dependency. (let ((rust (resolve-interface '(gnu packages rust)))) - (module-ref rust 'cargo))) - -(define (default-rustc) - "Return the default Rustc package." - ;; Lazily resolve the binding to avoid a circular dependency. - (let ((rust (resolve-interface '(gnu packages rust)))) - (module-ref rust 'rustc))) + (module-ref rust 'rust))) (define %cargo-build-system-modules ;; Build-side modules imported by default. @@ -115,14 +109,13 @@ to NAME and VERSION." (define* (lower name #:key source inputs native-inputs outputs system target - (cargo (default-cargo)) - (rustc (default-rustc)) + (rust (default-rust)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." (define private-keywords - '(#:source #:target #:cargo #:rustc #:inputs #:native-inputs #:outputs)) + '(#:source #:target #:rust #:inputs #:native-inputs #:outputs)) (and (not target) ;; TODO: support cross-compilation (bag @@ -136,8 +129,8 @@ to NAME and VERSION." ;; Keep the standard inputs of 'gnu-build-system' ,@(standard-packages))) - (build-inputs `(("cargo" ,cargo) - ("rustc" ,rustc) + (build-inputs `(("cargo" ,rust "cargo") + ("rustc" ,rust) ,@native-inputs)) (outputs outputs) (build cargo-build) -- 2.16.2 From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 17 17:22:41 2018 Received: (at 30831) by debbugs.gnu.org; 17 Mar 2018 21:22:41 +0000 Received: from localhost ([127.0.0.1]:38756 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1exJHk-0001Zb-DN for submit@debbugs.gnu.org; Sat, 17 Mar 2018 17:22:41 -0400 Received: from hera.aquilenet.fr ([185.233.100.1]:49038) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1exJHi-0001ZT-Mr for 30831@debbugs.gnu.org; Sat, 17 Mar 2018 17:22:39 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 13B0C1326A; Sat, 17 Mar 2018 22:22:38 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id X8lnJ1a5M-Uc; Sat, 17 Mar 2018 22:22:37 +0100 (CET) Received: from ribbon (unknown [IPv6:2a01:e0a:1d:7270:af76:b9b:ca24:c465]) by hera.aquilenet.fr (Postfix) with ESMTPSA id D263113267; Sat, 17 Mar 2018 22:22:36 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Nikolai Merinov Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 References: <874llhdocu.fsf@member.fsf.org> Date: Sat, 17 Mar 2018 22:22:35 +0100 In-Reply-To: <874llhdocu.fsf@member.fsf.org> (Nikolai Merinov's message of "Wed, 14 Mar 2018 00:06:53 +0500") Message-ID: <87bmfmmm78.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 30831 Cc: 30831@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hi Nikolai, Great piece of work! Nikolai Merinov skribis: > * gnu/packages/rust.scm (%rust-bootstrap-binaries-version): Update versio= n. > (%rust-bootstrap-binaries): Update hashsums. > (cargo-bootstrap): Update minor version. > (rust): Rename "rustc" to "rust". Update sha256 for tarball. Add cargo re= lated > dependencies. Install "cargo" as separate "rust" output. Remove substitut= es > for bugs that was fixed in "rustc" source code. Install documentation to > separate "doc" output. Update configuration according to changes in "rust= c" > source code. > * guix/build-system/cargo.scm (default-rust): Replace "default-cargo" and > "default-rustc" functions with "default-rust" function. > (cargo-build-system): Take only one package as "rust" source. Use "rustc"= from > default output of "rust" package, use "cargo" as "cargo" output of "rust" > package. > > Cargo was moved from separate package to "rust" output because starting f= rom > 0.25.0 release cargo have no "Cargo.lock" anymore. According to > https://github.com/rust-lang/cargo/commit/5c9665f41c6b4d3b99d3b9f8b48a286= f5f154692 > commit message "cargo" used as "rust" dependency and stable version for > "cargo" provided through "Cargo.lock" file from "rust-lang/rust" > repository. As result only way to get stable version of "cargo" is build = it from > "rust" sources. OK. > ;; Should be one less than the current released version. > -(define %rust-bootstrap-binaries-version "1.21.0") > +(define %rust-bootstrap-binaries-version "1.23.0") >=20=20 > (define %rust-bootstrap-binaries > (origin > @@ -66,15 +66,15 @@ > (base32 > (match %host-type > ("i686-unknown-linux-gnu" > - "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") > + "0gs283lw6larhjlr02zm9g78djq2f6bdhxj6ls66q0z18zpx0nyw") > ("x86_64-unknown-linux-gnu" > - "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml") > + "0znw3xxh837i5wlwsbbw6bxdqfa58bxyw3716wbckwyph8xb4d4s") > ("armv7-unknown-linux-gnueabihf" > - "1ml8fjq2b6j2vn1j314w93pf4wjl97n1mbz609h3i7md0zqscvs1") > + "13mh4qx996rb6c3xygflc10j5zkmcxzjr32340ardwb7ja4jfw2q") > ("aarch64-unknown-linux-gnu" > - "1hv4m2m7xjcph39r6baryfg23hjcr4sbsrfnd1lh0wn67k2fc7j9") > + "1irbj73ifdm7xvshma7qp61sadm683dnc57jfg5qc8kdjyyrydrq") > ("mips64el-unknown-linux-gnuabi64" > - "0p7fzkfcqg5yvj86v434z351dp7s7pgns8nzxj0fz3hmbfbvlvn9") > + "1wksf07ba9idrj1z6x0hdfjsmhpzzi5idawnkfbhy6cj1g9ihnzv") > (_ "")))))) ; Catch-all for other systems. Instead of incrementing the version number of the bootstrap binaries, do you think it would be an option to keep 1.22 and build 1.23 from it, or does that cargo/rust merge prevent it? That would allow us to build Rust independently from what upstream did, thereby increasing binary diversity, which I think is a good thing security-wise. Thoughts? Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 18 14:58:19 2018 Received: (at 30831) by debbugs.gnu.org; 18 Mar 2018 18:58:20 +0000 Received: from localhost ([127.0.0.1]:40342 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1exdVb-0004T4-LS for submit@debbugs.gnu.org; Sun, 18 Mar 2018 14:58:19 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:36442) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1exdVZ-0004Sv-So for 30831@debbugs.gnu.org; Sun, 18 Mar 2018 14:58:18 -0400 Received: from localhost (77.118.190.99.wireless.dyn.drei.com [77.118.190.99]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 2454F3360CA2; Sun, 18 Mar 2018 19:58:16 +0100 (CET) Date: Sun, 18 Mar 2018 19:58:11 +0100 From: Danny Milosavljevic To: Nikolai Merinov Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 Message-ID: <20180318195811.70c2b820@scratchpost.org> In-Reply-To: <874llhdocu.fsf@member.fsf.org> References: <874llhdocu.fsf@member.fsf.org> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/_t/mhjelVQ=kvRi+6svIRIS"; protocol="application/pgp-signature" X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: 30831 Cc: 30831@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.6 (/) --Sig_/_t/mhjelVQ=kvRi+6svIRIS Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, Rust after this patch is not reproducible. Binary files /gnu/store/nbyxci7zgv9z5zrkzw9c5wppgv3bk1rd-rust-1.24.1/lib/li= brustc-7b5ea53516e6ab59.so and /gnu/store/nbyxci7zgv9z5zrkzw9c5wppgv3bk1rd-= rust-1.24.1-check/lib/librustc-7b5ea53516e6ab59.so differ Binary files /gnu/store/nbyxci7zgv9z5zrkzw9c5wppgv3bk1rd-rust-1.24.1/lib/ru= stlib/x86_64-unknown-linux-gnu/lib/librustc-7b5ea53516e6ab59.so and /gnu/st= ore/nbyxci7zgv9z5zrkzw9c5wppgv3bk1rd-rust-1.24.1-check/lib/rustlib/x86_64-u= nknown-linux-gnu/lib/librustc-7b5ea53516e6ab59.so differ diffoscope says: =E2=94=82 =E2=94=82 =E2=94=82 - [26] .rustc PROGBITS 000= 0000000000000 be3030 6e5dd5 00 0 0 16 =E2=94=82 =E2=94=82 =E2=94=82 - [27] .symtab SYMTAB 000= 0000000000000 12c8e08 158340 18 28 54351 8 =E2=94=82 =E2=94=82 =E2=94=82 - [28] .strtab STRTAB 000= 0000000000000 1421148 3b00e3 00 0 0 1 =E2=94=82 =E2=94=82 =E2=94=82 - [29] .shstrtab STRTAB 000= 0000000000000 17d122b 0000fe 00 0 0 1 =E2=94=82 =E2=94=82 =E2=94=82 + [26] .rustc PROGBITS 000= 0000000000000 be3030 6e6b05 00 0 0 16 =E2=94=82 =E2=94=82 =E2=94=82 + [27] .symtab SYMTAB 000= 0000000000000 12c9b38 158340 18 28 54351 8 =E2=94=82 =E2=94=82 =E2=94=82 + [28] .strtab STRTAB 000= 0000000000000 1421e78 3b00e3 00 0 0 1 =E2=94=82 =E2=94=82 =E2=94=82 + [29] .shstrtab STRTAB 000= 0000000000000 17d1f5b 0000fe 00 0 0 1 =E2=94=82 =E2=94=82 =E2=94=82 Key to Flags: [...] =E2=94=82 =E2=94=82 =E2=94=82 - 1603: 0000000000000000 0x6e5dd5 OBJECT GL= OBAL DEFAULT 26 rust_metadata_rustc_d87c35d223a98218627136b41e7e5b87 =E2=94=82 =E2=94=82 =E2=94=82 + 1603: 0000000000000000 0x6e6b05 OBJECT GL= OBAL DEFAULT 26 rust_metadata_rustc_d87c35d223a98218627136b41e7e5b87 And a metadata body part is missing in the second round. --Sig_/_t/mhjelVQ=kvRi+6svIRIS Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlqutsMACgkQ5xo1VCww uqXx9gf+Ll5dpapnsol2F1S4EO2JiFDY2JnkEFwz/EFY5mHP19eg9sEqvH93AOl0 KShmEZ7XFKqrfSGbPEhVLGAjryPi3aSrgvXuzhb5KEyLL7eUk6B18z+j6iB1Eytd VyajLxHKmg32L1++FQCfWQzIVLi83M+GQw8gotA7lzKo5oGftsgUmQjXLVDpS4bw mJ9OOyxMZtd3H8JV9ECcujdf7NqpHsylp4ubYnrKyS2JtN173fzr+ImcL6V6LwVU na4gC0bi/Z9L6Y0xH6Te9vW9jZmzo+kZHJqLgJ7pDxzmbUhlYX2I2EErbTxjRVct pl/EKLPeb+kzBw5pbxexohv1ZpanqA== =1HXL -----END PGP SIGNATURE----- --Sig_/_t/mhjelVQ=kvRi+6svIRIS-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 19 08:26:20 2018 Received: (at 30831) by debbugs.gnu.org; 19 Mar 2018 12:26:20 +0000 Received: from localhost ([127.0.0.1]:40819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1extrn-0007fZ-Nx for submit@debbugs.gnu.org; Mon, 19 Mar 2018 08:26:19 -0400 Received: from mail-lf0-f49.google.com ([209.85.215.49]:37721) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1extrm-0007fM-QG for 30831@debbugs.gnu.org; Mon, 19 Mar 2018 08:26:19 -0400 Received: by mail-lf0-f49.google.com with SMTP id y19-v6so25145291lfd.4 for <30831@debbugs.gnu.org>; Mon, 19 Mar 2018 05:26:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=dUedx0VXLqrWy3OMRrp5dhMdcMwmhxcElH+B9a5xRUw=; b=R8FMtflpqDD2KnkFerY723dtZ7uszPFCNXdnNpbpfmhLSRgvw2EAfbQHHoeuWpXLky y0CkoP9rryQfhyNXk3cp4SW9MDMhjwAZt19eYc04uauY9UrbQWEORVwC7VrQhHmclzmT IJHFWMzgI02GYhZ3M0d4PC/oDD30cZmT8osPqO+WPuOJhxd6jeNS7bUkedEP1LsenFdB JiLF9rGkAe1jaHFVC/loinW6afmqtTXjbP0SUlghaGP8kYizzHTuLufvaVgpuEEmqkqr px4ovqA8jqzNYTT1olnv+WZNU3JQvr42adPi53e//XZvpKmB2trZb8DpH8lHQsVzc+rp bnew== X-Gm-Message-State: AElRT7HON0ILziWTLUMZa9rJ0FJj5srhW4wzrvEQMu/AedbDBO0geb7D 0oUgzcDJAkir30iNPI9fh+GVhCWx X-Google-Smtp-Source: AG47ELttL23OHr5PRsPsosF05FxsO3PrZD0F1OQzNzhJ06/CZtGG1Z/D2EZZG4s2oL8NfnV8fJ7xYw== X-Received: by 10.46.116.4 with SMTP id p4mr8178883ljc.101.1521462372253; Mon, 19 Mar 2018 05:26:12 -0700 (PDT) Received: from libremnd (97.9-157-90.telenet.ru. [90.157.9.97]) by smtp.gmail.com with ESMTPSA id d27-v6sm1120179lfb.6.2018.03.19.05.26.10 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 19 Mar 2018 05:26:11 -0700 (PDT) From: Nikolai Merinov To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=), Danny Milosavljevic Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 References: <874llhdocu.fsf@member.fsf.org> <87bmfmmm78.fsf@gnu.org> Date: Mon, 19 Mar 2018 17:26:07 +0500 In-Reply-To: <87bmfmmm78.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Sat, 17 Mar 2018 22:22:35 +0100") Message-ID: <87h8pcckv4.fsf@member.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 30831 Cc: 30831@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) Hi Ludovic, > Instead of incrementing the version number of the bootstrap binaries, do > you think it would be an option to keep 1.22 and build 1.23 from it, or > does that cargo/rust merge prevent it? In rust 1.22 there already was possibility to build "cargo" from "rust" repository, so suggested packages structures change can be used either for old "rust" releases. By default rust should be built with https://github.com/rust-lang/rust/blob/1.24.1/src/stage0.txt versions of rust and cargo. In most of cases this for "1.X.Y" release it want to use "1.(X-1).0" version of rustc and "0.X.0" version of cargo. As result to build release version of Rust compiler we should have previous release of rust compiler. Actually there is two ways to achieve this: 1. Constantly update bootsrap binaries version. 2. For each new release create new package. As result we'll be able to use old rust release to build each new rust release. E.g. we can use 1.21.0 bootstrap binaries, then build 1.22.0 rust and use it to build 1.23.0 rust and then use it to build 1.24.1 rust. Which way is preferable? Please do not merge my patch until I'll check Danny's report about reproducability. Regards, Nikola From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 19 12:24:00 2018 Received: (at 30831) by debbugs.gnu.org; 19 Mar 2018 16:24:00 +0000 Received: from localhost ([127.0.0.1]:42065 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1exxZn-00057U-Uk for submit@debbugs.gnu.org; Mon, 19 Mar 2018 12:24:00 -0400 Received: from hera.aquilenet.fr ([185.233.100.1]:35406) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1exxZm-00057M-24 for 30831@debbugs.gnu.org; Mon, 19 Mar 2018 12:23:58 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 2546112400; Mon, 19 Mar 2018 17:23:57 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yTd169eOIn_u; Mon, 19 Mar 2018 17:23:55 +0100 (CET) Received: from ribbon (unknown [193.50.110.92]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 5825D123E1; Mon, 19 Mar 2018 17:23:55 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Nikolai Merinov Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 References: <874llhdocu.fsf@member.fsf.org> <87bmfmmm78.fsf@gnu.org> <87h8pcckv4.fsf@member.fsf.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 29 =?utf-8?Q?Vent=C3=B4se?= an 226 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 19 Mar 2018 17:23:54 +0100 In-Reply-To: <87h8pcckv4.fsf@member.fsf.org> (Nikolai Merinov's message of "Mon, 19 Mar 2018 17:26:07 +0500") Message-ID: <87efkgvxt1.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 30831 Cc: 30831@debbugs.gnu.org, Danny Milosavljevic , rekado@elephly.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hello, Nikolai Merinov skribis: > Actually there is two ways to achieve this: > 1. Constantly update bootsrap binaries version. > 2. For each new release create new package. As result we'll be able to > use old rust release to build each new rust release. E.g. we can use > 1.21.0 bootstrap binaries, then build 1.22.0 rust and use it to build > 1.23.0 rust and then use it to build 1.24.1 rust. > > Which way is preferable?=20 Like I wrote, I would prefer option #2, so as to increase =E2=80=9Cbinary diversity=E2=80=9D and not rely on builds made by upstream. This obviously relates to . Ricardo, what=E2= =80=99s your take on this? > Please do not merge my patch until I'll check Danny's report about > reproducability. Sure! Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 20 06:57:07 2018 Received: (at 30831) by debbugs.gnu.org; 20 Mar 2018 10:57:07 +0000 Received: from localhost ([127.0.0.1]:42770 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyEx1-0004Ww-I9 for submit@debbugs.gnu.org; Tue, 20 Mar 2018 06:57:07 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21006) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyEwz-0004Wn-PE for 30831@debbugs.gnu.org; Tue, 20 Mar 2018 06:57:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1521543374; s=zoho; d=elephly.net; i=rekado@elephly.net; h=References:From:To:Cc:Subject:In-reply-to:Date:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; l=1151; bh=gKyXYKP5dPX8Qv+REnVZqwnUIgJ05G3+cunLnodghsg=; b=Cfk3PGlu9gI//QzlFxyMiQ+rvWVNCvA9dmb7VvNg3L4/Ria2GCohvCnQYp9CJjer 4ljqmibXBDDgVV/Xu/cCCCWfqefMRI+l6nwBGjkCPNuJ3Bf6o+4BZNl9OvyW+E9wRIu wpK1x1Jj5Zl3zyclMpH4E2CZhWOwxhLjWRBz2CUs= Received: from localhost (port-92-200-95-58.dynamic.qsc.de [92.200.95.58]) by mx.zohomail.com with SMTPS id 1521543374577593.1531402348725; Tue, 20 Mar 2018 03:56:14 -0700 (PDT) References: <874llhdocu.fsf@member.fsf.org> <87bmfmmm78.fsf@gnu.org> <87h8pcckv4.fsf@member.fsf.org> <87efkgvxt1.fsf@gnu.org> User-agent: mu4e 1.0; emacs 25.3.1 From: Ricardo Wurmus To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 In-reply-to: <87efkgvxt1.fsf@gnu.org> X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC Date: Tue, 20 Mar 2018 11:56:11 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID: <87o9jjc8xg.fsf@elephly.net> X-ZohoMailClient: External X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30831 Cc: Nikolai Merinov , Danny Milosavljevic , 30831@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Ludovic Court=C3=A8s writes: > Hello, > > Nikolai Merinov skribis: > >> Actually there is two ways to achieve this: >> 1. Constantly update bootsrap binaries version. >> 2. For each new release create new package. As result we'll be able to >> use old rust release to build each new rust release. E.g. we can use >> 1.21.0 bootstrap binaries, then build 1.22.0 rust and use it to build >> 1.23.0 rust and then use it to build 1.24.1 rust. >> >> Which way is preferable?=20 > > Like I wrote, I would prefer option #2, so as to increase =E2=80=9Cbinary > diversity=E2=80=9D and not rely on builds made by upstream. > > This obviously relates to . Ricardo, what=E2= =80=99s > your take on this? I agree. In the long run, however, I=E2=80=99d prefer for Rust to be bootstrapped through one of the alternative implementations. Then we don=E2=80=99t need to keep a long chain of older versions. Currently, however, I don=E2=80=99t see a way around it. --=20 Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 21 15:02:59 2018 Received: (at 30831) by debbugs.gnu.org; 21 Mar 2018 19:02:59 +0000 Received: from localhost ([127.0.0.1]:46236 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyj0l-0007IN-0b for submit@debbugs.gnu.org; Wed, 21 Mar 2018 15:02:59 -0400 Received: from mail-lf0-f49.google.com ([209.85.215.49]:32849) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyj0i-0007I6-Ar for 30831@debbugs.gnu.org; Wed, 21 Mar 2018 15:02:57 -0400 Received: by mail-lf0-f49.google.com with SMTP id x205-v6so9484855lfa.0 for <30831@debbugs.gnu.org>; Wed, 21 Mar 2018 12:02:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=ai2ht5hqlcvpwCktiG9oRfj1NdN1wzgX2VkRaJDW/m4=; b=sm20nVfbziDoo2Pc9uxQQGxRnVE13AV9zyeCu5QbMEeNZIdkpRsQWYRPYJOc11jpUe n+ODIQusmYuxCGGK2S1kqcHcHJrl5uZ0X7lczxPw0Lx0paKOGZkMeTWhMbkeEyuxp1JR ZC1hF/kvBchVtPJLQCrjx5ZOaj67d0wyvTIaGd+A4GJckbzp1yPm9w748XB1QfVzy4x2 V8Xy4vJkgaqWco+m4yt8RlZfVEWCULpgtAIArA4k3WImWppHzplHrQ189+Ykx4z1qL+j TA0QEHHE783aQ9ruL/2PXKwTmkA5e/aKYUasMsh1whutWygPFAa70Z4zpTPU1ylTd9UD dwyQ== X-Gm-Message-State: AElRT7GSevs6yw6JuRj/6W3OemqBt9jbaeEgWGYYbHPrluN98L+Ld7cQ Yv0sQ1PQJRD6ueCnSXJibQnGNA== X-Google-Smtp-Source: AG47ELsZLJDUc3XEIUryxKmAWsR/cj9oP4IZCy2Nw0Es5E5dR0PabGK81nqUrb1DdA2M77GgZAIYJg== X-Received: by 2002:a19:1b81:: with SMTP id b123-v6mr12843114lfb.64.1521658969949; Wed, 21 Mar 2018 12:02:49 -0700 (PDT) Received: from libremnd (97.9-157-90.telenet.ru. [90.157.9.97]) by smtp.gmail.com with ESMTPSA id e28-v6sm1201983lfb.52.2018.03.21.12.02.47 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 21 Mar 2018 12:02:48 -0700 (PDT) From: Nikolai Merinov To: Danny Milosavljevic Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 References: <874llhdocu.fsf@member.fsf.org> <20180318195811.70c2b820@scratchpost.org> Date: Thu, 22 Mar 2018 00:02:46 +0500 In-Reply-To: <20180318195811.70c2b820@scratchpost.org> (Danny Milosavljevic's message of "Sun, 18 Mar 2018 19:58:11 +0100") Message-ID: <87a7v12qw9.fsf@member.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.8 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi Danny, I checked several times with "guix build --no-grafts --rounds=2 rust@1.24.1" with "guix gc" between tries, but it worked correctly. I tried on x86-64 architecture with my patch over 79f450a120068ac1d2fc4e5b4b33ae938b604f95 guix commit. [...] Content analysis details: (1.8 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (nikolay.d.merinov[at]gmail.com) 0.2 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [209.85.215.49 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [209.85.215.49 listed in wl.mailspike.net] 1.3 URI_HEX URI: URI hostname has long hexadecimal sequence -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders 0.2 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and EnvelopeFrom freemail headers are different X-Debbugs-Envelope-To: 30831 Cc: 30831@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.8 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi Danny, I checked several times with "guix build --no-grafts --rounds=2 rust@1.24.1" with "guix gc" between tries, but it worked correctly. I tried on x86-64 architecture with my patch over 79f450a120068ac1d2fc4e5b4b33ae938b604f95 guix commit. [...] Content analysis details: (1.8 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [209.85.215.49 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [209.85.215.49 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (nikolay.d.merinov[at]gmail.com) 0.2 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different 1.3 URI_HEX URI: URI hostname has long hexadecimal sequence -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders 0.2 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and EnvelopeFrom freemail headers are different Hi Danny, I checked several times with "guix build --no-grafts --rounds=3D2 rust@1.24= .1" with "guix gc" between tries, but it worked correctly. I tried on x86-64 architecture with my patch over 79f450a120068ac1d2fc4e5b4b33ae938b604f95 guix commit.=20 Do you know how I can get same result as in your build? Regards, Nikolai Danny Milosavljevic writes: > Hi, > > Rust after this patch is not reproducible. > > Binary files > /gnu/store/nbyxci7zgv9z5zrkzw9c5wppgv3bk1rd-rust-1.24.1/lib/librustc-7b5e= a53516e6ab59.so > and > /gnu/store/nbyxci7zgv9z5zrkzw9c5wppgv3bk1rd-rust-1.24.1-check/lib/librust= c-7b5ea53516e6ab59.so > differ > Binary files > /gnu/store/nbyxci7zgv9z5zrkzw9c5wppgv3bk1rd-rust-1.24.1/lib/rustlib/x86_6= 4-unknown-linux-gnu/lib/librustc-7b5ea53516e6ab59.so > and > /gnu/store/nbyxci7zgv9z5zrkzw9c5wppgv3bk1rd-rust-1.24.1-check/lib/rustlib= /x86_64-unknown-linux-gnu/lib/librustc-7b5ea53516e6ab59.so > differ > > diffoscope says: > > =E2=94=82 =E2=94=82 =E2=94=82 - [26] .rustc PROGBITS 0= 000000000000000 be3030 6e5dd5 00 0 0 16 > =E2=94=82 =E2=94=82 =E2=94=82 - [27] .symtab SYMTAB 0= 000000000000000 12c8e08 158340 18 28 54351 8 > =E2=94=82 =E2=94=82 =E2=94=82 - [28] .strtab STRTAB 0= 000000000000000 1421148 3b00e3 00 0 0 1 > =E2=94=82 =E2=94=82 =E2=94=82 - [29] .shstrtab STRTAB 0= 000000000000000 17d122b 0000fe 00 0 0 1 > =E2=94=82 =E2=94=82 =E2=94=82 + [26] .rustc PROGBITS 0= 000000000000000 be3030 6e6b05 00 0 0 16 > =E2=94=82 =E2=94=82 =E2=94=82 + [27] .symtab SYMTAB 0= 000000000000000 12c9b38 158340 18 28 54351 8 > =E2=94=82 =E2=94=82 =E2=94=82 + [28] .strtab STRTAB 0= 000000000000000 1421e78 3b00e3 00 0 0 1 > =E2=94=82 =E2=94=82 =E2=94=82 + [29] .shstrtab STRTAB 0= 000000000000000 17d1f5b 0000fe 00 0 0 1 > =E2=94=82 =E2=94=82 =E2=94=82 Key to Flags: > [...] > =E2=94=82 =E2=94=82 =E2=94=82 - 1603: 0000000000000000 0x6e5dd5 OBJECT GL= OBAL DEFAULT 26 > rust_metadata_rustc_d87c35d223a98218627136b41e7e5b87 > =E2=94=82 =E2=94=82 =E2=94=82 + 1603: 0000000000000000 0x6e6b05 OBJECT GL= OBAL DEFAULT 26 > rust_metadata_rustc_d87c35d223a98218627136b41e7e5b87 > > And a metadata body part is missing in the second round. From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 22 03:20:21 2018 Received: (at 30831) by debbugs.gnu.org; 22 Mar 2018 07:20:21 +0000 Received: from localhost ([127.0.0.1]:46656 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyuWL-0005RL-Cm for submit@debbugs.gnu.org; Thu, 22 Mar 2018 03:20:21 -0400 Received: from flashner.co.il ([178.62.234.194]:60004) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eyuWJ-0005R8-2D for 30831@debbugs.gnu.org; Thu, 22 Mar 2018 03:20:19 -0400 Received: from localhost (46-117-130-5.bb.netvision.net.il [46.117.130.5]) by flashner.co.il (Postfix) with ESMTPSA id 0667D40047 for <30831@debbugs.gnu.org>; Thu, 22 Mar 2018 07:20:12 +0000 (UTC) Date: Thu, 22 Mar 2018 09:20:12 +0200 From: Efraim Flashner To: 30831@debbugs.gnu.org Subject: building rust on aarch64 Message-ID: <20180322072012.GD20703@macbook41> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="vv4Sf/kQfcwinyKX" Content-Disposition: inline User-Agent: Mutt/1.9.3 (2018-01-21) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30831 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --vv4Sf/kQfcwinyKX Content-Type: multipart/mixed; boundary="AkbCVLjbJ9qUtAXD" Content-Disposition: inline --AkbCVLjbJ9qUtAXD Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable I tested the patch on my aarch64 box and with the following patch I was able to start the building process. Currently rust fails its test stage with the error: test result: ok. 193 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out finished in 267.991 Testing libstd stage1 (aarch64-unknown-linux-gnu -> aarch64-unknown-linux-g= nu) Compiling libc v0.2.34 Compiling core v0.0.0 (file:///tmp/guix-build-rust-1.24.1.drv-0/rustc-1.= 24.1-src/src/libcore) Compiling std_unicode v0.0.0 (file:///tmp/guix-build-rust-1.24.1.drv-0/r= ustc-1.24.1-src/src/libstd_unicode) Compiling rand v0.3.19 Compiling std v0.0.0 (file:///tmp/guix-build-rust-1.24.1.drv-0/rustc-1.2= 4.1-src/src/libstd) Compiling alloc v0.0.0 (file:///tmp/guix-build-rust-1.24.1.drv-0/rustc-1= =2E24.1-src/src/liballoc) error: unused attribute --> src/libstd/sys/unix/process/process_common.rs:449:5 | 449 | #[ignore] | ^^^^^^^^^ | note: lint level defined here --> src/libstd/lib.rs:232:9 | 232 | #![deny(warnings)] | ^^^^^^^^ =3D note: #[deny(unused_attributes)] implied by #[deny(warnings)] error: aborting due to previous error error: Could not compile `std`. warning: build failed, waiting for other jobs to finish... error: build failed command did not execute successfully: "/gnu/store/3vvhw5xpbcym5l3xk2pszzzyx= 4m7k8l6-cargo-bootstrap-0.24.0/bin/cargo" "test" "--target" "aarch64-unknow= n-linux-gnu" "-j" "6" "--release" "--frozen" "--features" "panic-unwind jem= alloc backtrace" "--manifest-p ath" "/tmp/guix-build-rust-1.24.1.drv-0/rustc-1.24.1-src/src/libstd/Cargo.t= oml" "-p" "std:0.0.0" "-p" "libc:0.0.0" "-p" "alloc_system:0.0.0" "-p" "pan= ic_abort:0.0.0" "-p" "compiler_builtins:0.0.0" "-p" "alloc:0.0.0" "-p" "std= _unicode:0.0.0" "-p" "unwind:0 =2E0.0" "-p" "core:0.0.0" "--" expected success, got: exit code: 101 failed to run: /tmp/guix-build-rust-1.24.1.drv-0/rustc-1.24.1-src/build/boo= tstrap/debug/bootstrap test Build completed unsuccessfully in 1:53:33 phase `check' failed after 6813.3 seconds This is ultimately no different from master, where rust currently fails somewhere during the test stage. --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --AkbCVLjbJ9qUtAXD Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0001-don-t-build-native-on-arm.patch" Content-Transfer-Encoding: quoted-printable =46rom d3f6c14535163be65aedfc761b747c4386387537 Mon Sep 17 00:00:00 2001 =46rom: Efraim Flashner Date: Thu, 22 Mar 2018 09:14:53 +0200 Subject: [PATCH] don't build native on arm* --- gnu/packages/rust.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index ae81ff8e0..5c5a61594 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -259,6 +259,11 @@ rustc-bootstrap and cargo-bootstrap packages.") ;; guix llvm-3.9.1 package installs only shared libraries (setenv "LLVM_LINK_SHARED" "1") #t)) + (add-after 'unpack 'dont-build-native + (lambda _ + (substitute* "src/binaryen/CMakeLists.txt" + (("ADD_COMPILE_FLAG\\(\\\"-march=3Dnative\\\"\\)") "")) + #t)) (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) --=20 2.16.2 --AkbCVLjbJ9qUtAXD-- --vv4Sf/kQfcwinyKX Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAlqzWScACgkQQarn3Mo9 g1ESiQ//fjuOqhdXx9HdL0ArVX8ncOJ8y+7T4Ys9tGGKXg7U1DRUz+BKTyCse/jT 8uKiiACU3TZXroqYhSDSK9ZmOh3xggEURaRJotDrRpv/eeAIMxPP9wau1X5rPZrp mPCdS6eKiWgabzhYIQS36/Yr8bpK7PIWIojelmT3wlQuT5n69j67bmpTJ+OeUFNl KK17wulHmCgqLvItG9XsoeBkf+2ApoEqnJM1q/jVaiLMZZ1MkJAcdNT9Qjs5MmnE Mtf3WAM9l7sNghgdkATsIpcVXzTPrkrzcjAOoSfBWV1px2LHMJ9lfBMldpz2ks6q ShrPLtESLtBWjjp/FFNZYbCzji/p29myc5l+U5xHEkvxrFQrCiPEsvFjTrXDKp+u MdJWojjlRTlaApJaxjkATNnqphAXKOCqsSV9hv181sH6b2+RBWG6xjmADDQhnzvG awejmzkO0Fr7f23ewwOejE4w0bCLa/USyPbVutSniRA8GoRevrbNVF5RgPD92SYh 76+f34y+K4rWIxnOm8tGDWR+28xRgkRteRV1qGoHBYw6pZfbPNo3kn3OaLN5ZY7n Y6eRXzCq1BQSAqfG2xRp0WLJePltdDPSBVPZdmBGdQqZs9M/01BiL8a5xXBqrUyC 3Js63/JQtgETqZ7sIPiTdEFkm6vddEXKQQKJ/qNU74H0kCPrmUc= =GVvj -----END PGP SIGNATURE----- --vv4Sf/kQfcwinyKX-- From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 22 17:01:39 2018 Received: (at 30831) by debbugs.gnu.org; 22 Mar 2018 21:01:39 +0000 Received: from localhost ([127.0.0.1]:48174 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ez7Ky-0005mX-W9 for submit@debbugs.gnu.org; Thu, 22 Mar 2018 17:01:39 -0400 Received: from mail-lf0-f43.google.com ([209.85.215.43]:43040) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ez7Kq-0005mD-Cw for 30831@debbugs.gnu.org; Thu, 22 Mar 2018 17:01:28 -0400 Received: by mail-lf0-f43.google.com with SMTP id v207-v6so15249405lfa.10 for <30831@debbugs.gnu.org>; Thu, 22 Mar 2018 14:01:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=7Y8jBzyJjwiYBUYZuUFaBjwalVsue+OQacl1o4ghZVk=; b=onVvUUwYkmOMayp+FclvnxWC9/CXj+SYsv1GI6qK2w7yBS7Jm9d5y89S4UYil3zIau 2PQQ0+S5Y7DbBfXlIO6SFHUk84aANesYRwCShB2bfDE/56BchvSNCNvByT7cwpTrBRKW DQi0pvI7/hRmpwSPzEEulSJHnd9Rs4Ym86ZG3w4+GQXnSEWI5yfZ4fefgpNvq10a2itP 0Z+EaShQqYe1tnCOHTuHGyxYCu0YsUVaeFLJpjeTEychEysC9QESkFpF71HNcvN5XZDh J8DCtRdUJGJkixmZCsgn6CA+U7U1EHQnULEMGx6QqwT0NbKphFVPP7XZK0bVUQ3+UUF2 6TtA== X-Gm-Message-State: AElRT7HQd5Byedqkf1GgGoTSPc6o7jaDNIrceVpjAoLUW27b4one08Jw YlM8FJdZD4nJiRTL/vJscV4FKcAO X-Google-Smtp-Source: AG47ELuI4U4T6lcthrHcLGwyMm5nUKS5i/tsnFg1GetKrhFMu0xJU0jVGCpGTvw2Gu92fEJ8hVBfKg== X-Received: by 10.46.128.132 with SMTP id i4mr11593509ljg.51.1521752472864; Thu, 22 Mar 2018 14:01:12 -0700 (PDT) Received: from libremnd (97.9-157-90.telenet.ru. [90.157.9.97]) by smtp.gmail.com with ESMTPSA id q24-v6sm1801216lff.32.2018.03.22.14.01.10 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 22 Mar 2018 14:01:11 -0700 (PDT) From: Nikolai Merinov To: Ricardo Wurmus Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 References: <874llhdocu.fsf@member.fsf.org> <87bmfmmm78.fsf@gnu.org> <87h8pcckv4.fsf@member.fsf.org> <87efkgvxt1.fsf@gnu.org> <87o9jjc8xg.fsf@elephly.net> Date: Fri, 23 Mar 2018 02:01:08 +0500 In-Reply-To: <87o9jjc8xg.fsf@elephly.net> (Ricardo Wurmus's message of "Tue, 20 Mar 2018 11:56:11 +0100") Message-ID: <87y3ij25bf.fsf@member.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 30831 Cc: 30831@debbugs.gnu.org, Danny Milosavljevic , Ludovic =?utf-8?Q?Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ricardo Wurmus writes: > Ludovic Court=C3=A8s writes: > >> Hello, >> >> Nikolai Merinov skribis: >> >>> Actually there is two ways to achieve this: >>> 1. Constantly update bootsrap binaries version. >>> 2. For each new release create new package. As result we'll be able to >>> use old rust release to build each new rust release. E.g. we can use >>> 1.21.0 bootstrap binaries, then build 1.22.0 rust and use it to build >>> 1.23.0 rust and then use it to build 1.24.1 rust. >>> >>> Which way is preferable?=20 >> >> Like I wrote, I would prefer option #2, so as to increase =E2=80=9Cbinary >> diversity=E2=80=9D and not rely on builds made by upstream. >> >> This obviously relates to . Ricardo, what= =E2=80=99s >> your take on this? > > I agree. In the long run, however, I=E2=80=99d prefer for Rust to be > bootstrapped through one of the alternative implementations. Then we > don=E2=80=99t need to keep a long chain of older versions. > > Currently, however, I don=E2=80=99t see a way around it. Hi, I prepared proof-of-concept solution with rust-bootstrap frozed on 1.22.1 release. Do you think suggested code with "split all code to small steps and remove fixed issues in new releases" is correct way to provide series of releases? Or it will be better to copy builder code to state it directly that this specific modification is tested on each rust release? Regards, Nikolai --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-rust-Update-rust-to-1.24.1-froze-bootstrap-on-1..patch Content-Transfer-Encoding: quoted-printable >From 1065cf1e2f900f2d7da5512df60278396063fe73 Mon Sep 17 00:00:00 2001 From: Nikolai Merinov Date: Wed, 14 Mar 2018 00:06:53 +0500 Subject: [PATCH] gnu: rust: Update rust to 1.24.1, froze bootstrap on 1.22.1 release To: guix-patches@gnu.org * gnu/packages/rust.scm (rust-bootstrap): Froze bootstrap version on 1.22.1 rust release. Reorganize bootstrap binaries to match new "rust" package structure with two ouputs "out" with rust compiler and "cargo" with cargo package manager. (rust-1.23): Rename "rustc" to "rust". Update sha256 for tarball. Add cargo related dependencies. Install "cargo" as separate "rust" output. Remove substitutes for parts that was fixed in "rustc" source code. Install documentation to separate "doc" output. Update configuration according to changes in "rustc" source code. (rust): Create package for 1.24.1 rust release based on rust-1.23 release. * guix/build-system/cargo.scm (default-rust): Replace "default-cargo" and "default-rustc" functions with "default-rust" function. (cargo-build-system): Take only one package as "rust" source. Use "rustc" f= rom default output of "rust" package, use "cargo" as "cargo" output of "rust" package. Cargo was moved from separate package to "rust" output because starting from 0.25.0 release cargo have no "Cargo.lock" anymore. According to https://github.com/rust-lang/cargo/commit/5c9665f41c6b4d3b99d3b9f8b48a286f5= f154692 commit message "cargo" used as "rust" dependency and stable version for "cargo" provided through "Cargo.lock" file from "rust-lang/rust" repository. As result only way to get stable version of cargo is build it f= rom "rust" sources. --- gnu/packages/rust.scm | 1348 ++++-----------------------------------= ---- guix/build-system/cargo.scm | 21 +- 2 files changed, 113 insertions(+), 1256 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 1ba857d36..003f6812d 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -3,7 +3,7 @@ ;;; Copyright =C2=A9 2016 Eric Le Bihan ;;; Copyright =C2=A9 2016 ng0 ;;; Copyright =C2=A9 2017 Ben Woodcroft -;;; Copyright =C2=A9 2017 Nikolai Merinov +;;; Copyright =C2=A9 2017, 2018 Nikolai Merinov ;;; Copyright =C2=A9 2017 Efraim Flashner ;;; Copyright =C2=A9 2018 Tobias Geerinckx-Rice ;;; @@ -46,71 +46,48 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix download) - #:use-module (guix base16) ;for generated "cargo" native-inputs #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module ((guix build utils) #:select (alist-replace)) + #:use-module (guix utils) #:use-module (ice-9 match) #:use-module (srfi srfi-26)) =20 -;; Should be one less than the current released version. -(define %rust-bootstrap-binaries-version "1.21.0") - -(define %rust-bootstrap-binaries - (origin - (method url-fetch) - (uri (string-append - "https://static.rust-lang.org/dist/" - "rust-" %rust-bootstrap-binaries-version - "-" %host-type ".tar.gz")) - (sha256 - (base32 - (match %host-type - ("i686-unknown-linux-gnu" - "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") - ("x86_64-unknown-linux-gnu" - "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml") - ("armv7-unknown-linux-gnueabihf" - "1ml8fjq2b6j2vn1j314w93pf4wjl97n1mbz609h3i7md0zqscvs1") - ("aarch64-unknown-linux-gnu" - "1hv4m2m7xjcph39r6baryfg23hjcr4sbsrfnd1lh0wn67k2fc7j9") - ("mips64el-unknown-linux-gnuabi64" - "0p7fzkfcqg5yvj86v434z351dp7s7pgns8nzxj0fz3hmbfbvlvn9") - (_ "")))))) ; Catch-all for other systems. - (define %cargo-reference-project-file "/dev/null") (define %cargo-reference-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") =20 -(define (increment-rust-version rust-version major patch) - (match (string-split rust-version #\.) - (("1" minor _) - (string-append (number->string major) "." - (number->string (+ (string->number minor) 1)) "." - (number->string patch))))) - -(define* (cargo-version rustc-version #:optional (patch 0)) - ;; Computes the cargo version that matches the rustc version. - ;; This has so far continued to follow a predictable pattern: - ;; https://github.com/rust-lang/cargo/blob/50a46f47/README.md#releases - (increment-rust-version rustc-version 0 patch)) - -(define* (rustc-version bootstrap-version #:optional (patch 0)) - ;; Computes the rustc version that can be compiled from a given - ;; other rustc version. The patch argument is for selecting - ;; a stability or security fix. 1.11.0 -> 1.12.1 -> 1.13.0 - (increment-rust-version bootstrap-version 1 patch)) - -(define rustc-bootstrap +(define rust-bootstrap (package - (name "rustc-bootstrap") - (version %rust-bootstrap-binaries-version) - (source %rust-bootstrap-binaries) + (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") + (_ "")))))) (build-system gnu-build-system) (native-inputs `(("patchelf" ,patchelf))) (inputs - `(("gcc:lib" ,(canonical-package gcc) "lib") + `(("gcc" ,(canonical-package gcc)) + ("gcc:lib" ,(canonical-package gcc) "lib") ("zlib" ,zlib))) + (outputs '("out" "cargo")) (arguments `(#:tests? #f #:strip-binaries? #f @@ -121,115 +98,62 @@ (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) + (cargo-out (assoc-ref outputs "cargo")) (gcc:lib (assoc-ref inputs "gcc:lib")) (libc (assoc-ref inputs "libc")) (zlib (assoc-ref inputs "zlib")) (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" zlib "/lib:" libc "/lib:" gcc:lib "/lib")) + (cargo-rpath (string-append cargo-out "/lib:" libc "/l= ib:" + gcc:lib "/lib")) (rustc (string-append out "/bin/rustc")) - (rustdoc (string-append out "/bin/rustdoc"))) + (rustdoc (string-append out "/bin/rustdoc")) + (cargo (string-append cargo-out "/bin/cargo")) + (gcc (assoc-ref inputs "gcc"))) + ;; Install rustc/rustdoc (system* "bash" "install.sh" (string-append "--prefix=3D" out) (string-append "--components=3Drustc," "rust-std-" %host-type)) + ;; Instal cargo + (system* "bash" "install.sh" + (string-append "--prefix=3D" cargo-out) + (string-append "--components=3Dcargo")) (for-each (lambda (file) (system* "patchelf" "--set-rpath" rpath file)) (cons* rustc rustdoc (find-files out "\\.so$"))) + (system* "patchelf" "--set-rpath" cargo-rpath cargo) (for-each (lambda (file) (system* "patchelf" "--set-interpreter" ld-so f= ile)) - (list rustc rustdoc)))))))) + (list rustc rustdoc cargo)) + ;; Rust requires a C toolchain for linking. The prebuilt + ;; binaries expect a compiler called cc. Thus symlink gcc + ;; to cc. + (symlink (string-append gcc "/bin/gcc") + (string-append out "/bin/cc")))))))) (home-page "https://www.rust-lang.org") - (synopsis "Prebuilt rust compiler") - (description "This package provides a pre-built @command{rustc} compil= er, -which can in turn be used to build the final Rust compiler.") + (synopsis "Prebuilt rust compiler and cargo package manager") + (description "This package provides a pre-built @command{rustc} compil= er +and a pre-built @command{cargo} package manaer, which can +in turn be used to build the final Rust.") (license license:asl2.0))) =20 -(define cargo-bootstrap - (package - (name "cargo-bootstrap") - (version (cargo-version %rust-bootstrap-binaries-version 1)) - (source %rust-bootstrap-binaries) - (build-system gnu-build-system) - (native-inputs - `(("patchelf" ,patchelf))) - (inputs - `(("gcc:lib" ,(canonical-package gcc) "lib"))) - (arguments - `(#:tests? #f - #:strip-binaries? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (gcc:lib (assoc-ref inputs "gcc:lib")) - (libc (assoc-ref inputs "libc")) - (ld-so (string-append libc ,(glibc-dynamic-linker))) - (rpath (string-append out "/lib:" libc "/lib:" - gcc:lib "/lib")) - (cargo (string-append out "/bin/cargo"))) - (system* "bash" "install.sh" - (string-append "--prefix=3D" out) - "--components=3Dcargo") - (system* "patchelf" - "--set-interpreter" ld-so - "--set-rpath" rpath - cargo))))))) - (home-page "https://www.rust-lang.org") - (synopsis "Prebuilt cargo package manager") - (description "This package provides a pre-built @command{cargo} package -manager, which is required to build itself.") - (license license:asl2.0))) - -(define rust-bootstrap - (package - (name "rust-bootstrap") - (version %rust-bootstrap-binaries-version) - (source #f) - (build-system trivial-build-system) - (propagated-inputs - `(("rustc-bootstrap" ,rustc-bootstrap) - ("cargo-bootstrap" ,cargo-bootstrap) - ("gcc" ,(canonical-package gcc)))) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let ((out (assoc-ref %outputs "out")) - (gcc (assoc-ref %build-inputs "gcc"))) - (mkdir-p (string-append out "/bin")) - ;; Rust requires a C toolchain for linking. The prebuilt - ;; binaries expect a compiler called cc. Thus symlink gcc - ;; to cc. - (symlink (string-append gcc "/bin/gcc") - (string-append out "/bin/cc")))))) - (home-page "https://www.rust-lang.org") - (synopsis "Rust bootstrapping meta package") - (description "Meta package for a rust environment. Provides pre-compil= ed -rustc-bootstrap and cargo-bootstrap packages.") - (license license:asl2.0))) -(define-public rustc +(define (rust-source version hash) + (origin + (method url-fetch) + (uri (string-append "https://static.rust-lang.org/dist/" + "rustc-" version "-src.tar.gz")) + (sha256 (base32 hash)) + (modules '((guix build utils))) + (snippet '(begin (delete-file-recursively "src/llvm") #t)))) + +(define-public rust-1.23 (package - (name "rustc") - (version (rustc-version %rust-bootstrap-binaries-version 1)) - (source (origin - (method url-fetch) - (uri (string-append - "https://static.rust-lang.org/dist/" - "rustc-" version "-src.tar.gz")) - (sha256 - (base32 - "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")) - (modules '((guix build utils))) - (snippet - `(begin - (delete-file-recursively "src/llvm") - #t)))) + (name "rust") + (version "1.23.0") + (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5g= mzfwf4w9ar3l")) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) ; For the tests @@ -239,11 +163,16 @@ rustc-bootstrap and cargo-bootstrap packages.") ("git" ,git) ("procps" ,procps) ; For the tests ("python-2" ,python-2) - ("rust-bootstrap" ,rust-bootstrap) + ("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))) + ("llvm" ,llvm-3.9.1) + ("openssl" ,openssl) + ("libcurl" ,curl))) ; For "cargo" + (outputs '("out" "doc" "cargo")) (arguments `(#:imported-modules ,%cargo-build-system-modules ;for `generate-chec= ksums' #:phases @@ -258,9 +187,6 @@ rustc-bootstrap and cargo-bootstrap packages.") (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) - (substitute* "src/build_helper/lib.rs" - ;; In same folder as gcc there is only "gcc-ar" utility - (("file\\.push_str\\(\"ar\"\\);") "file.push_str(\"gcc-ar= \");")) (substitute* "src/libstd/process.rs" ;; The newline is intentional. ;; There's a line length "tidy" check in Rust which would @@ -276,13 +202,15 @@ rustc-bootstrap and cargo-bootstrap packages.") ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_= PATH. ;; (delete-file-recursively "src/test/run-make/linker-output-n= on-utf8") - (substitute* "src/build_helper/lib.rs" - ;; Bug in Rust code. - ;; Current implementation assume that if dst not exist th= en it's mtime - ;; is 0, but in same time "src" have 0 mtime in guix buil= d! - (("let threshold =3D mtime\\(dst\\);") - "if !dst.exists() {\nreturn false\n}\n let threshold =3D= mtime(dst);")) #t))) + (add-after 'patch-tests 'fix-mtime-bug + (lambda* (#:key #:allow-other-keys) + (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 =3D mtime\\(dst\\);") + "if !dst.exists() {\nreturn false\n}\n let threshold =3D m= time(dst);")))) (add-after 'patch-source-shebangs 'patch-cargo-checksums (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/Cargo.lock" @@ -302,6 +230,7 @@ rustc-bootstrap and cargo-bootstrap packages.") (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")) @@ -317,15 +246,18 @@ rustc-bootstrap and cargo-bootstrap packages.") [build] cargo =3D \"" cargo "/bin/cargo" "\" rustc =3D \"" rustc "/bin/rustc" "\" +docs =3D true python =3D \"" python "/bin/python2" "\" gdb =3D \"" gdb "/bin/gdb" "\" vendor =3D true submodules =3D false [install] prefix =3D \"" out "\" +docdir =3D \"" doc "/share/doc/rust" "\" +sysconfdir =3D \"etc\" +localstatedir =3D \"var/lib\" [rust] default-linker =3D \"" gcc "/bin/gcc" "\" -default-ar =3D \"" binutils "/bin/ar" "\" channel =3D \"stable\" rpath =3D true # There is 2 failed codegen tests: @@ -336,6 +268,7 @@ codegen-tests =3D false llvm-config =3D \"" llvm "/bin/llvm-config" "\" cc =3D \"" gcc "/bin/gcc" "\" cxx =3D \"" gcc "/bin/g++" "\" +ar =3D \"" binutils "/bin/ar" "\" jemalloc =3D \"" jemalloc "/lib/libjemalloc_pic.a" "\" [dist] ") port))) @@ -350,13 +283,21 @@ jemalloc =3D \"" jemalloc "/lib/libjemalloc_pic.a" "\" #t)) (replace 'build (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "./x.py" "build")))) + (and (zero? (system* "./x.py" "build")) + (zero? (system* "./x.py" "build" "src/tools/cargo"))))) (replace 'check (lambda* (#:key inputs outputs #:allow-other-keys) (zero? (system* "./x.py" "test")))) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "./x.py" "install")))) + (and (zero? (system* "./x.py" "install")) + (begin + (substitute* "config.toml" + ;; replace prefix to specific output + (("prefix =3D \"[^\"]*\"") + (string-append "prefix =3D \"" (assoc-ref outputs "c= argo") "\""))) + (set-file-time "config.toml" (stat "README.md")) + (zero? (system* "./x.py" "install" "cargo")))))) (add-after 'install 'wrap-rustc (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -376,1095 +317,18 @@ safety and thread safety guarantees.") ;; Dual licensed. (license (list license:asl2.0 license:expat)))) =20 -;; This tries very hard not to get into a cyclic dependency like this: -;; cargo <- cargo-build-system <- cargo. -(define-public cargo +(define-public rust (package - (name "cargo") - (version (cargo-version (rustc-version %rust-bootstrap-binaries-versio= n) 0)) - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/rust-lang/cargo/arch= ive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0kr7rml7v2bm7zl8jcb3056h63zpyy9m08s212i8vfwxf6lf5fzl")))) - (build-system cargo-build-system) - (propagated-inputs - `(("cmake" ,cmake) - ("pkg-config" ,pkg-config))) - (inputs - `(("curl" ,curl) - ("libgit2" ,libgit2) - ("libssh2" ,libssh2) - ("openssl" ,openssl) - ("python-2" ,python-2) - ("zlib" ,zlib))) + (inherit rust-1.23) + (version "1.24.1") + (source + (rust-source version + "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")) (native-inputs - `(("git" ,git) ; required for tests - ;; Next dependencies generated with next command: - ;; cat Cargo.lock | awk ' - ;; /^"checksum/ - ;; { oname=3Dname=3D$2; vers=3D$3; hash=3D$6; - ;; if (ns[name] !=3D 1) { ns[name]=3D1; } else { name =3D name = "-" vers; } - ;; print " (\"rust-" name "\""; - ;; print " ,(origin"; - ;; print " (method url-fetch)"; - ;; print " (uri (crate-uri \"" oname "\" \"" vers "\"= ))"; - ;; print " (file-name \"rust-" oname "\-\" vers "\") - ;; print " (sha256"; - ;; print " (base16-string->bytevector"; - ;; print " " hash "))))" - ;; }' - ("rust-advapi32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "advapi32-sys" "0.2.0")) - (file-name "rust-advapi32-sys-0.2.0") - (sha256 - (base16-string->bytevector - "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb= 8a9a")))) - ("rust-aho-corasick" - ,(origin - (method url-fetch) - (uri (crate-uri "aho-corasick" "0.5.3")) - (file-name "rust-aho-corasick-0.5.3") - (sha256 - (base16-string->bytevector - "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686d= db66")))) - ("rust-aho-corasick-0.6.3" - ,(origin - (method url-fetch) - (uri (crate-uri "aho-corasick" "0.6.3")) - (file-name "rust-aho-corasick-0.6.3") - (sha256 - (base16-string->bytevector - "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b88= 9699")))) - ("rust-atty" - ,(origin - (method url-fetch) - (uri (crate-uri "atty" "0.2.3")) - (file-name "rust-atty-0.2.3") - (sha256 - (base16-string->bytevector - "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421b7= 8860")))) - ("rust-backtrace" - ,(origin - (method url-fetch) - (uri (crate-uri "backtrace" "0.3.3")) - (file-name "rust-backtrace-0.3.3") - (sha256 - (base16-string->bytevector - "99f2ce94e22b8e664d95c57fff45b98a966c2252b60691d0b7aeeccd88d7= 0983")))) - ("rust-backtrace-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "backtrace-sys" "0.1.14")) - (file-name "rust-backtrace-sys-0.1.14") - (sha256 - (base16-string->bytevector - "c63ea141ef8fdb10409d0f5daf30ac51f84ef43bff66f16627773d2a292c= d189")))) - ("rust-bitflags" - ,(origin - (method url-fetch) - (uri (crate-uri "bitflags" "0.7.0")) - (file-name "rust-bitflags-0.7.0") - (sha256 - (base16-string->bytevector - "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881= 106d")))) - ("rust-bitflags-0.9.1" - ,(origin - (method url-fetch) - (uri (crate-uri "bitflags" "0.9.1")) - (file-name "rust-bitflags-0.9.1") - (sha256 - (base16-string->bytevector - "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1a= b3a5")))) - ("rust-bufstream" - ,(origin - (method url-fetch) - (uri (crate-uri "bufstream" "0.1.3")) - (file-name "rust-bufstream-0.1.3") - (sha256 - (base16-string->bytevector - "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d0946= 8e32")))) - ("rust-cc" - ,(origin - (method url-fetch) - (uri (crate-uri "cc" "1.0.0")) - (file-name "rust-cc-1.0.0") - (sha256 - (base16-string->bytevector - "7db2f146208d7e0fbee761b09cd65a7f51ccc38705d4e7262dad4d73b12a= 76b1")))) - ("rust-cfg-if" - ,(origin - (method url-fetch) - (uri (crate-uri "cfg-if" "0.1.2")) - (file-name "rust-cfg-if-0.1.2") - (sha256 - (base16-string->bytevector - "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed31= 40de")))) - ("rust-cmake" - ,(origin - (method url-fetch) - (uri (crate-uri "cmake" "0.1.26")) - (file-name "rust-cmake-0.1.26") - (sha256 - (base16-string->bytevector - "357c07e7a1fc95732793c1edb5901e1a1f305cfcf63a90eb12dbd22bdb6b= 789d")))) - ("rust-commoncrypto" - ,(origin - (method url-fetch) - (uri (crate-uri "commoncrypto" "0.2.0")) - (file-name "rust-commoncrypto-0.2.0") - (sha256 - (base16-string->bytevector - "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b6= 9007")))) - ("rust-commoncrypto-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "commoncrypto-sys" "0.2.0")) - (file-name "rust-commoncrypto-sys-0.2.0") - (sha256 - (base16-string->bytevector - "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f40= 83e2")))) - ("rust-conv" - ,(origin - (method url-fetch) - (uri (crate-uri "conv" "0.3.3")) - (file-name "rust-conv-0.3.3") - (sha256 - (base16-string->bytevector - "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d= 1299")))) - ("rust-core-foundation" - ,(origin - (method url-fetch) - (uri (crate-uri "core-foundation" "0.4.4")) - (file-name "rust-core-foundation-0.4.4") - (sha256 - (base16-string->bytevector - "5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb232= 0dc7")))) - ("rust-core-foundation-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "core-foundation-sys" "0.4.4")) - (file-name "rust-core-foundation-sys-0.4.4") - (sha256 - (base16-string->bytevector - "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a= 3387")))) - ("rust-crossbeam" - ,(origin - (method url-fetch) - (uri (crate-uri "crossbeam" "0.2.10")) - (file-name "rust-crossbeam-0.2.10") - (sha256 - (base16-string->bytevector - "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb92750= 8f97")))) - ("rust-crossbeam-0.3.0" - ,(origin - (method url-fetch) - (uri (crate-uri "crossbeam" "0.3.0")) - (file-name "rust-crossbeam-0.3.0") - (sha256 - (base16-string->bytevector - "8837ab96533202c5b610ed44bc7f4183e7957c1c8f56e8cc78bb098593c8= ba0a")))) - ("rust-crypto-hash" - ,(origin - (method url-fetch) - (uri (crate-uri "crypto-hash" "0.3.0")) - (file-name "rust-crypto-hash-0.3.0") - (sha256 - (base16-string->bytevector - "34903878eec1694faf53cae8473a088df333181de421d4d3d48061d6559f= e602")))) - ("rust-curl" - ,(origin - (method url-fetch) - (uri (crate-uri "curl" "0.4.8")) - (file-name "rust-curl-0.4.8") - (sha256 - (base16-string->bytevector - "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41ae= 9c2c")))) - ("rust-curl-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "curl-sys" "0.3.15")) - (file-name "rust-curl-sys-0.3.15") - (sha256 - (base16-string->bytevector - "4bee31aa3a079d5f3ff9579ea4dcfb1b1a17a40886f5f467436d383e7813= 4b55")))) - ("rust-custom_derive" - ,(origin - (method url-fetch) - (uri (crate-uri "custom_derive" "0.1.7")) - (file-name "rust-custom_derive-0.1.7") - (sha256 - (base16-string->bytevector - "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a= 01b9")))) - ("rust-dbghelp-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "dbghelp-sys" "0.2.0")) - (file-name "rust-dbghelp-sys-0.2.0") - (sha256 - (base16-string->bytevector - "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5= b850")))) - ("rust-docopt" - ,(origin - (method url-fetch) - (uri (crate-uri "docopt" "0.8.1")) - (file-name "rust-docopt-0.8.1") - (sha256 - (base16-string->bytevector - "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49= 787a")))) - ("rust-dtoa" - ,(origin - (method url-fetch) - (uri (crate-uri "dtoa" "0.4.2")) - (file-name "rust-dtoa-0.4.2") - (sha256 - (base16-string->bytevector - "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e= 50ab")))) - ("rust-env_logger" - ,(origin - (method url-fetch) - (uri (crate-uri "env_logger" "0.4.3")) - (file-name "rust-env_logger-0.4.3") - (sha256 - (base16-string->bytevector - "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8= cd5b")))) - ("rust-error-chain" - ,(origin - (method url-fetch) - (uri (crate-uri "error-chain" "0.11.0")) - (file-name "rust-error-chain-0.11.0") - (sha256 - (base16-string->bytevector - "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419e= d3f3")))) - ("rust-filetime" - ,(origin - (method url-fetch) - (uri (crate-uri "filetime" "0.1.12")) - (file-name "rust-filetime-0.1.12") - (sha256 - (base16-string->bytevector - "6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf73= 2c0e")))) - ("rust-flate2" - ,(origin - (method url-fetch) - (uri (crate-uri "flate2" "0.2.20")) - (file-name "rust-flate2-0.2.20") - (sha256 - (base16-string->bytevector - "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81= e423")))) - ("rust-fnv" - ,(origin - (method url-fetch) - (uri (crate-uri "fnv" "1.0.5")) - (file-name "rust-fnv-1.0.5") - (sha256 - (base16-string->bytevector - "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fe= e344")))) - ("rust-foreign-types" - ,(origin - (method url-fetch) - (uri (crate-uri "foreign-types" "0.2.0")) - (file-name "rust-foreign-types-0.2.0") - (sha256 - (base16-string->bytevector - "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8= a29d")))) - ("rust-fs2" - ,(origin - (method url-fetch) - (uri (crate-uri "fs2" "0.4.2")) - (file-name "rust-fs2-0.4.2") - (sha256 - (base16-string->bytevector - "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c= 2866")))) - ("rust-git2" - ,(origin - (method url-fetch) - (uri (crate-uri "git2" "0.6.8")) - (file-name "rust-git2-0.6.8") - (sha256 - (base16-string->bytevector - "0c1c0203d653f4140241da0c1375a404f0a397249ec818cd2076c6280c50= f6fa")))) - ("rust-git2-curl" - ,(origin - (method url-fetch) - (uri (crate-uri "git2-curl" "0.7.0")) - (file-name "rust-git2-curl-0.7.0") - (sha256 - (base16-string->bytevector - "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5= bf8e")))) - ("rust-glob" - ,(origin - (method url-fetch) - (uri (crate-uri "glob" "0.2.11")) - (file-name "rust-glob-0.2.11") - (sha256 - (base16-string->bytevector - "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac589= 5bfb")))) - ("rust-globset" - ,(origin - (method url-fetch) - (uri (crate-uri "globset" "0.2.0")) - (file-name "rust-globset-0.2.0") - (sha256 - (base16-string->bytevector - "feeb1b6840809ef5efcf7a4a990bc4e1b7ee3df8cf9e2379a75aeb2ba42a= c9c3")))) - ("rust-hamcrest" - ,(origin - (method url-fetch) - (uri (crate-uri "hamcrest" "0.1.1")) - (file-name "rust-hamcrest-0.1.1") - (sha256 - (base16-string->bytevector - "bf088f042a467089e9baa4972f57f9247e42a0cc549ba264c7a04fbb8ecb= 89d4")))) - ("rust-hex" - ,(origin - (method url-fetch) - (uri (crate-uri "hex" "0.2.0")) - (file-name "rust-hex-0.2.0") - (sha256 - (base16-string->bytevector - "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e1= 53aa")))) - ("rust-home" - ,(origin - (method url-fetch) - (uri (crate-uri "home" "0.3.0")) - (file-name "rust-home-0.3.0") - (sha256 - (base16-string->bytevector - "9f25ae61099d8f3fee8b483df0bd4ecccf4b2731897aad40d50eca1b641f= e6db")))) - ("rust-idna" - ,(origin - (method url-fetch) - (uri (crate-uri "idna" "0.1.4")) - (file-name "rust-idna-0.1.4") - (sha256 - (base16-string->bytevector - "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951e= af7d")))) - ("rust-ignore" - ,(origin - (method url-fetch) - (uri (crate-uri "ignore" "0.2.2")) - (file-name "rust-ignore-0.2.2") - (sha256 - (base16-string->bytevector - "b3fcaf2365eb14b28ec7603c98c06cc531f19de9eb283d89a3dff8417c8c= 99f5")))) - ("rust-itoa" - ,(origin - (method url-fetch) - (uri (crate-uri "itoa" "0.3.4")) - (file-name "rust-itoa-0.3.4") - (sha256 - (base16-string->bytevector - "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4= db8c")))) - ("rust-jobserver" - ,(origin - (method url-fetch) - (uri (crate-uri "jobserver" "0.1.6")) - (file-name "rust-jobserver-0.1.6") - (sha256 - (base16-string->bytevector - "443ae8bc0af6c106e6e8b77e04684faecc1a5ce94e058f4c2b0a037b0ea1= b133")))) - ("rust-kernel32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "kernel32-sys" "0.2.2")) - (file-name "rust-kernel32-sys-0.2.2") - (sha256 - (base16-string->bytevector - "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056= 098d")))) - ("rust-lazy_static" - ,(origin - (method url-fetch) - (uri (crate-uri "lazy_static" "0.2.9")) - (file-name "rust-lazy_static-0.2.9") - (sha256 - (base16-string->bytevector - "c9e5e58fa1a4c3b915a561a78a22ee0cac6ab97dca2504428bc1cb074375= f8d5")))) - ("rust-libc" - ,(origin - (method url-fetch) - (uri (crate-uri "libc" "0.2.31")) - (file-name "rust-libc-0.2.31") - (sha256 - (base16-string->bytevector - "d1419b2939a0bc44b77feb34661583c7546b532b192feab36249ab584b86= 856c")))) - ("rust-libgit2-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libgit2-sys" "0.6.16")) - (file-name "rust-libgit2-sys-0.6.16") - (sha256 - (base16-string->bytevector - "6f74b4959cef96898f5123148724fc7dee043b9a6b99f219d948851bfbe5= 3cb2")))) - ("rust-libssh2-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libssh2-sys" "0.2.6")) - (file-name "rust-libssh2-sys-0.2.6") - (sha256 - (base16-string->bytevector - "0db4ec23611747ef772db1c4d650f8bd762f07b461727ec998f953c61402= 4b75")))) - ("rust-libz-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libz-sys" "1.0.17")) - (file-name "rust-libz-sys-1.0.17") - (sha256 - (base16-string->bytevector - "44ebbc760fd2d2f4d93de09a0e13d97e057612052e871da9985cedcb451e= 6bd5")))) - ("rust-log" - ,(origin - (method url-fetch) - (uri (crate-uri "log" "0.3.8")) - (file-name "rust-log-0.3.8") - (sha256 - (base16-string->bytevector - "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512= 565b")))) - ("rust-magenta" - ,(origin - (method url-fetch) - (uri (crate-uri "magenta" "0.1.1")) - (file-name "rust-magenta-0.1.1") - (sha256 - (base16-string->bytevector - "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3a= c527")))) - ("rust-magenta-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "magenta-sys" "0.1.1")) - (file-name "rust-magenta-sys-0.1.1") - (sha256 - (base16-string->bytevector - "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f= 4699")))) - ("rust-matches" - ,(origin - (method url-fetch) - (uri (crate-uri "matches" "0.1.6")) - (file-name "rust-matches-0.1.6") - (sha256 - (base16-string->bytevector - "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f19= 3376")))) - ("rust-memchr" - ,(origin - (method url-fetch) - (uri (crate-uri "memchr" "0.1.11")) - (file-name "rust-memchr-0.1.11") - (sha256 - (base16-string->bytevector - "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d28276141= 8d20")))) - ("rust-memchr-1.0.1" - ,(origin - (method url-fetch) - (uri (crate-uri "memchr" "1.0.1")) - (file-name "rust-memchr-1.0.1") - (sha256 - (base16-string->bytevector - "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a= 47b4")))) - ("rust-miniz-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "miniz-sys" "0.1.10")) - (file-name "rust-miniz-sys-0.1.10") - (sha256 - (base16-string->bytevector - "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7= e2b4")))) - ("rust-miow" - ,(origin - (method url-fetch) - (uri (crate-uri "miow" "0.2.1")) - (file-name "rust-miow-0.2.1") - (sha256 - (base16-string->bytevector - "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355a= e919")))) - ("rust-net2" - ,(origin - (method url-fetch) - (uri (crate-uri "net2" "0.2.31")) - (file-name "rust-net2-0.2.31") - (sha256 - (base16-string->bytevector - "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b71= 6c09")))) - ("rust-num" - ,(origin - (method url-fetch) - (uri (crate-uri "num" "0.1.40")) - (file-name "rust-num-0.1.40") - (sha256 - (base16-string->bytevector - "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f92= 3525")))) - ("rust-num-bigint" - ,(origin - (method url-fetch) - (uri (crate-uri "num-bigint" "0.1.40")) - (file-name "rust-num-bigint-0.1.40") - (sha256 - (base16-string->bytevector - "8fd0f8dbb4c0960998958a796281d88c16fbe68d87b1baa6f31e2979e81f= d0bd")))) - ("rust-num-complex" - ,(origin - (method url-fetch) - (uri (crate-uri "num-complex" "0.1.40")) - (file-name "rust-num-complex-0.1.40") - (sha256 - (base16-string->bytevector - "503e668405c5492d67cf662a81e05be40efe2e6bcf10f7794a07bd9865e7= 04e6")))) - ("rust-num-integer" - ,(origin - (method url-fetch) - (uri (crate-uri "num-integer" "0.1.35")) - (file-name "rust-num-integer-0.1.35") - (sha256 - (base16-string->bytevector - "d1452e8b06e448a07f0e6ebb0bb1d92b8890eea63288c0b627331d53514d= 0fba")))) - ("rust-num-iter" - ,(origin - (method url-fetch) - (uri (crate-uri "num-iter" "0.1.34")) - (file-name "rust-num-iter-0.1.34") - (sha256 - (base16-string->bytevector - "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13df= fe01")))) - ("rust-num-rational" - ,(origin - (method url-fetch) - (uri (crate-uri "num-rational" "0.1.39")) - (file-name "rust-num-rational-0.1.39") - (sha256 - (base16-string->bytevector - "288629c76fac4b33556f4b7ab57ba21ae202da65ba8b77466e6d598e3199= 0790")))) - ("rust-num-traits" - ,(origin - (method url-fetch) - (uri (crate-uri "num-traits" "0.1.40")) - (file-name "rust-num-traits-0.1.40") - (sha256 - (base16-string->bytevector - "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721= b9b0")))) - ("rust-num_cpus" - ,(origin - (method url-fetch) - (uri (crate-uri "num_cpus" "1.7.0")) - (file-name "rust-num_cpus-1.7.0") - (sha256 - (base16-string->bytevector - "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d453= b20d")))) - ("rust-openssl" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl" "0.9.19")) - (file-name "rust-openssl-0.9.19") - (sha256 - (base16-string->bytevector - "816914b22eb15671d62c73442a51978f311e911d6a6f6cbdafa6abce1b50= 38fc")))) - ("rust-openssl-probe" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl-probe" "0.1.1")) - (file-name "rust-openssl-probe-0.1.1") - (sha256 - (base16-string->bytevector - "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f37= 8daf")))) - ("rust-openssl-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl-sys" "0.9.19")) - (file-name "rust-openssl-sys-0.9.19") - (sha256 - (base16-string->bytevector - "1e4c63a7d559c1e5afa6d6a9e6fa34bbc5f800ffc9ae08b72c605420b0c4= f5e8")))) - ("rust-percent-encoding" - ,(origin - (method url-fetch) - (uri (crate-uri "percent-encoding" "1.0.0")) - (file-name "rust-precent-encoding-1.0.0") - (sha256 - (base16-string->bytevector - "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6a= e356")))) - ("rust-pkg-config" - ,(origin - (method url-fetch) - (uri (crate-uri "pkg-config" "0.3.9")) - (file-name "rust-pkg-config-0.3.9") - (sha256 - (base16-string->bytevector - "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edb= a903")))) - ("rust-psapi-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "psapi-sys" "0.1.0")) - (file-name "rust-psapi-sys-0.1.0") - (sha256 - (base16-string->bytevector - "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a= 2478")))) - ("rust-quote" - ,(origin - (method url-fetch) - (uri (crate-uri "quote" "0.3.15")) - (file-name "rust-quote-0.3.15") - (sha256 - (base16-string->bytevector - "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4= 167a")))) - ("rust-rand" - ,(origin - (method url-fetch) - (uri (crate-uri "rand" "0.3.16")) - (file-name "rust-rand-0.3.16") - (sha256 - (base16-string->bytevector - "eb250fd207a4729c976794d03db689c9be1d634ab5a1c9da9492a13d8fec= bcdf")))) - ("rust-redox_syscall" - ,(origin - (method url-fetch) - (uri (crate-uri "redox_syscall" "0.1.31")) - (file-name "rust-redox_syscall-0.1.31") - (sha256 - (base16-string->bytevector - "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47eb0= 4509")))) - ("rust-redox_termios" - ,(origin - (method url-fetch) - (uri (crate-uri "redox_termios" "0.1.1")) - (file-name "rust-redox_termios-0.1.1") - (sha256 - (base16-string->bytevector - "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db= 0f76")))) - ("rust-regex" - ,(origin - (method url-fetch) - (uri (crate-uri "regex" "0.1.80")) - (file-name "rust-regex-0.1.80") - (sha256 - (base16-string->bytevector - "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019= 402f")))) - ("rust-regex-0.2.2" - ,(origin - (method url-fetch) - (uri (crate-uri "regex" "0.2.2")) - (file-name "rust-regex-0.2.2") - (sha256 - (base16-string->bytevector - "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b= 2d1b")))) - ("rust-regex-syntax" - ,(origin - (method url-fetch) - (uri (crate-uri "regex-syntax" "0.3.9")) - (file-name "rust-regex-syntax-0.3.9") - (sha256 - (base16-string->bytevector - "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db83= 4957")))) - ("rust-regex-syntax-0.4.1" - ,(origin - (method url-fetch) - (uri (crate-uri "regex-syntax" "0.4.1")) - (file-name "rust-regex-syntax-0.4.1") - (sha256 - (base16-string->bytevector - "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f= 62db")))) - ("rust-rustc-demangle" - ,(origin - (method url-fetch) - (uri (crate-uri "rustc-demangle" "0.1.5")) - (file-name "rust-rustc-demangle-0.1.5") - (sha256 - (base16-string->bytevector - "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e= 817e")))) - ("rust-rustc-serialize" - ,(origin - (method url-fetch) - (uri (crate-uri "rustc-serialize" "0.3.24")) - (file-name "rust-rustc-serialize-0.3.24") - (sha256 - (base16-string->bytevector - "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e= 6fda")))) - ("rust-same-file" - ,(origin - (method url-fetch) - (uri (crate-uri "same-file" "0.1.3")) - (file-name "rust-same-file-0.1.3") - (sha256 - (base16-string->bytevector - "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a1= 17a7")))) - ("rust-scoped-tls" - ,(origin - (method url-fetch) - (uri (crate-uri "scoped-tls" "0.1.0")) - (file-name "rust-scoped-tls-0.1.0") - (sha256 - (base16-string->bytevector - "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb903807f= 147d")))) - ("rust-scopeguard" - ,(origin - (method url-fetch) - (uri (crate-uri "scopeguard" "0.1.2")) - (file-name "rust-scopeguard-0.1.2") - (sha256 - (base16-string->bytevector - "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e83981a= 6c57")))) - ("rust-semver" - ,(origin - (method url-fetch) - (uri (crate-uri "semver" "0.8.0")) - (file-name "rust-semver-0.8.0") - (sha256 - (base16-string->bytevector - "bee2bc909ab2d8d60dab26e8cad85b25d795b14603a0dcb627b78b9d30b6= 454b")))) - ("rust-semver-parser" - ,(origin - (method url-fetch) - (uri (crate-uri "semver-parser" "0.7.0")) - (file-name "rust-semver-parser-0.7.0") - (sha256 - (base16-string->bytevector - "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f5= 70a3")))) - ("rust-serde" - ,(origin - (method url-fetch) - (uri (crate-uri "serde" "1.0.15")) - (file-name "rust-serde-1.0.15") - (sha256 - (base16-string->bytevector - "6a7046c9d4c6c522d10b2d098f9bebe2bef227e0e74044d8c1bfcf6b476a= f799")))) - ("rust-serde_derive" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_derive" "1.0.15")) - (file-name "rust-serde_derive-1.0.15") - (sha256 - (base16-string->bytevector - "1afcaae083fd1c46952a315062326bc9957f182358eb7da03b57ef1c688f= 7aa9")))) - ("rust-serde_derive_internals" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_derive_internals" "0.16.0")) - (file-name "rust-serde_derive_internals-0.16.0") - (sha256 - (base16-string->bytevector - "bd381f6d01a6616cdba8530492d453b7761b456ba974e98768a18cad2cd7= 6f58")))) - ("rust-serde_ignored" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_ignored" "0.0.4")) - (file-name "rust-serde_ignored-0.0.4") - (sha256 - (base16-string->bytevector - "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01f= b142")))) - ("rust-serde_json" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_json" "1.0.3")) - (file-name "rust-serde_json-1.0.3") - (sha256 - (base16-string->bytevector - "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6ac6= b7ac")))) - ("rust-shell-escape" - ,(origin - (method url-fetch) - (uri (crate-uri "shell-escape" "0.1.3")) - (file-name "rust-shell-escape-0.1.3") - (sha256 - (base16-string->bytevector - "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b8= 4ef8")))) - ("rust-socket2" - ,(origin - (method url-fetch) - (uri (crate-uri "socket2" "0.2.3")) - (file-name "rust-socket2-0.2.3") - (sha256 - (base16-string->bytevector - "9e76b159741052c7deaa9fd0b5ca6b5f79cecf525ed665abfe5002086c6b= 2791")))) - ("rust-strsim" - ,(origin - (method url-fetch) - (uri (crate-uri "strsim" "0.6.0")) - (file-name "rust-strsim-0.6.0") - (sha256 - (base16-string->bytevector - "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c= 3694")))) - ("rust-syn" - ,(origin - (method url-fetch) - (uri (crate-uri "syn" "0.11.11")) - (file-name "rust-syn-0.11.11") - (sha256 - (base16-string->bytevector - "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b44= 1dad")))) - ("rust-synom" - ,(origin - (method url-fetch) - (uri (crate-uri "synom" "0.11.3")) - (file-name "rust-synom-0.11.3") - (sha256 - (base16-string->bytevector - "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b519= 45b6")))) - ("rust-tar" - ,(origin - (method url-fetch) - (uri (crate-uri "tar" "0.4.13")) - (file-name "rust-tar-0.4.13") - (sha256 - (base16-string->bytevector - "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f= 2b1b")))) - ("rust-tempdir" - ,(origin - (method url-fetch) - (uri (crate-uri "tempdir" "0.3.5")) - (file-name "rust-tempdir-0.3.5") - (sha256 - (base16-string->bytevector - "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff6621= 32d6")))) - ("rust-termcolor" - ,(origin - (method url-fetch) - (uri (crate-uri "termcolor" "0.3.3")) - (file-name "rust-termcolor-0.3.3") - (sha256 - (base16-string->bytevector - "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b24= 2c75")))) - ("rust-termion" - ,(origin - (method url-fetch) - (uri (crate-uri "termion" "1.5.1")) - (file-name "rust-termion-1.5.1") - (sha256 - (base16-string->bytevector - "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e9= 2096")))) - ("rust-thread-id" - ,(origin - (method url-fetch) - (uri (crate-uri "thread-id" "2.0.0")) - (file-name "rust-thread-id-2.0.0") - (sha256 - (base16-string->bytevector - "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0= ff03")))) - ("rust-thread_local" - ,(origin - (method url-fetch) - (uri (crate-uri "thread_local" "0.2.7")) - (file-name "rust-thread_local-0.2.7") - (sha256 - (base16-string->bytevector - "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18c= fdd5")))) - ("rust-thread_local-0.3.4" - ,(origin - (method url-fetch) - (uri (crate-uri "thread_local" "0.3.4")) - (file-name "rust-thread_local-0.3.4") - (sha256 - (base16-string->bytevector - "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90= bb14")))) - ("rust-toml" - ,(origin - (method url-fetch) - (uri (crate-uri "toml" "0.4.5")) - (file-name "rust-toml-0.4.5") - (sha256 - (base16-string->bytevector - "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b= 6e7e")))) - ("rust-unicode-bidi" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-bidi" "0.3.4")) - (file-name "rust-unicode-bidi-0.3.4") - (sha256 - (base16-string->bytevector - "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea= 54d5")))) - ("rust-unicode-normalization" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-normalization" "0.1.5")) - (file-name "rust-unicode-normalization-0.1.5") - (sha256 - (base16-string->bytevector - "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625= 920f")))) - ("rust-unicode-xid" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-xid" "0.0.4")) - (file-name "rust-unicode-xid-0.0.4") - (sha256 - (base16-string->bytevector - "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074c= b4dc")))) - ("rust-unreachable" - ,(origin - (method url-fetch) - (uri (crate-uri "unreachable" "1.0.0")) - (file-name "rust-unreachable-1.0.0") - (sha256 - (base16-string->bytevector - "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814= fa56")))) - ("rust-url" - ,(origin - (method url-fetch) - (uri (crate-uri "url" "1.5.1")) - (file-name "rust-url-1.5.1") - (sha256 - (base16-string->bytevector - "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4= fe27")))) - ("rust-userenv-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "userenv-sys" "0.2.0")) - (file-name "rust-userenv-sys-0.2.0") - (sha256 - (base16-string->bytevector - "71d28ea36bbd9192d75bd9fa9b39f96ddb986eaee824adae5d53b6e51919= b2f3")))) - ("rust-utf8-ranges" - ,(origin - (method url-fetch) - (uri (crate-uri "utf8-ranges" "0.1.3")) - (file-name "rust-utf8-ranges-0.1.3") - (sha256 - (base16-string->bytevector - "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830= ae0f")))) - ("rust-utf8-ranges-1.0.0" - ,(origin - (method url-fetch) - (uri (crate-uri "utf8-ranges" "1.0.0")) - (file-name "rust-utf8-ranges-1.0.0") - (sha256 - (base16-string->bytevector - "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e5512= 4122")))) - ("rust-vcpkg" - ,(origin - (method url-fetch) - (uri (crate-uri "vcpkg" "0.2.2")) - (file-name "rust-vcpkg-0.2.2") - (sha256 - (base16-string->bytevector - "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd548= 7d0b")))) - ("rust-void" - ,(origin - (method url-fetch) - (uri (crate-uri "void" "1.0.2")) - (file-name "rust-void-1.0.2") - (sha256 - (base16-string->bytevector - "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770= 887d")))) - ("rust-walkdir" - ,(origin - (method url-fetch) - (uri (crate-uri "walkdir" "1.0.7")) - (file-name "rust-walkdir-1.0.7") - (sha256 - (base16-string->bytevector - "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd2= 88ff")))) - ("rust-winapi" - ,(origin - (method url-fetch) - (uri (crate-uri "winapi" "0.2.8")) - (file-name "rust-winapi-0.2.8") - (sha256 - (base16-string->bytevector - "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909= 087a")))) - ("rust-winapi-build" - ,(origin - (method url-fetch) - (uri (crate-uri "winapi-build" "0.1.1")) - (file-name "rust-winapi-build-0.1.1") - (sha256 - (base16-string->bytevector - "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc6= 99bc")))) - ("rust-wincolor" - ,(origin - (method url-fetch) - (uri (crate-uri "wincolor" "0.1.4")) - (file-name "rust-wincolor-0.1.4") - (sha256 - (base16-string->bytevector - "a39ee4464208f6430992ff20154216ab2357772ac871d994c51628d60e58= b8b0")))) - ("rust-ws2_32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "ws2_32-sys" "0.2.1")) - (file-name "rust-ws2_32-sys-0.2.1") - (sha256 - (base16-string->bytevector - "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63= fa5e")))))) + (alist-replace "cargo-bootstrap" (list rust-1.23 "cargo") + (alist-replace "rustc-bootstrap" (list rust-1.23) + (package-native-inputs rust-1.23)))) (arguments - `(#:cargo ,cargo-bootstrap - #:rustc ,rustc ; Force to use rustc from current file - #:modules - ((ice-9 match) - (srfi srfi-1) ; 'every - (guix build utils) - (guix build cargo-build-system)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-dependencies - (lambda* (#:key inputs outputs #:allow-other-keys) - (define (unpack source target) - (mkdir-p target) - (with-directory-excursion target - (zero? (system* "tar" "xf" - source - "--strip-components=3D1")))) - (define (touch file-name) - (call-with-output-file file-name (const #t))) - (define (install-rust-library entry) - (match entry - ((name . src) - (if (string-prefix? "rust-" name) - (let* ((rust-length (string-length "rust-")) - (rust-name (string-drop name rust-length)) - (rsrc (string-append "vendor/" rust-name)) - (unpack-status (unpack src rsrc))) - (touch (string-append rsrc "/.cargo-ok")) - (generate-checksums rsrc src) - unpack-status))) - (_ #t))) - (mkdir "vendor") - (every install-rust-library inputs))) - (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Cargo.lock" - (("(\"checksum .* =3D )\".*\"" all name) - (string-append name "\"" ,%cargo-reference-hash "\""))) - (for-each - (lambda (filename) - (use-modules (guix build cargo-build-system)) - (delete-file filename) - (let* ((dir (dirname filename))) - (display (string-append - "patch-cargo-checksums: generate-checksums for= " - dir "\n")) - (generate-checksums dir ,%cargo-reference-project-file))) - (find-files "vendor" ".cargo-checksum.json")) - #t)) - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "tests/build.rs" - (("/usr/bin/env") (which "env")) - ;; Guix llvm compiled without asmjs-unknown-emscripten at a= ll - (("fn wasm32_final_outputs") "#[ignore]\nfn wasm32_final_ou= tputs")) - (substitute* "tests/death.rs" - ;; Stuck when built in container - (("fn ctrl_c_kills_everyone") "#[ignore]\nfn ctrl_c_kills_e= veryone")) - (mkdir ".cargo") - (call-with-output-file ".cargo/config" - (lambda (port) - (display " -[source.crates-io] -registry =3D 'https://github.com/rust-lang/crates.io-index' -replace-with =3D 'vendored-sources' - -[source.vendored-sources] -directory =3D 'vendor' -" port))) - ;; 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/gc= c")) - #t))))) - (home-page "https://github.com/rust-lang/cargo") - (synopsis "Build tool and package manager for Rust") - (description "Cargo is a tool that allows Rust projects to declare the= ir -dependencies and ensures a reproducible build.") - ;; Cargo is dual licensed Apache and MIT. Also contains - ;; code from openssl which is GPL2 with linking exception. - (license (list license:asl2.0 license:expat license:gpl2)))) + (substitute-keyword-arguments (package-arguments rust-1.23) + ((#:phases phases) `(modify-phases ,phases + (delete 'fix-mtime-bug))))))) diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm index c637fbb16..4a1eb0cfa 100644 --- a/guix/build-system/cargo.scm +++ b/guix/build-system/cargo.scm @@ -43,17 +43,11 @@ to NAME and VERSION." (string-append crate-url name "/" version "/download")) =20 -(define (default-cargo) - "Return the default Cargo package." +(define (default-rust) + "Return the default Rust package." ;; Lazily resolve the binding to avoid a circular dependency. (let ((rust (resolve-interface '(gnu packages rust)))) - (module-ref rust 'cargo))) - -(define (default-rustc) - "Return the default Rustc package." - ;; Lazily resolve the binding to avoid a circular dependency. - (let ((rust (resolve-interface '(gnu packages rust)))) - (module-ref rust 'rustc))) + (module-ref rust 'rust))) =20 (define %cargo-build-system-modules ;; Build-side modules imported by default. @@ -115,14 +109,13 @@ to NAME and VERSION." =20 (define* (lower name #:key source inputs native-inputs outputs system target - (cargo (default-cargo)) - (rustc (default-rustc)) + (rust (default-rust)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." =20 (define private-keywords - '(#:source #:target #:cargo #:rustc #:inputs #:native-inputs #:outputs= )) + '(#:source #:target #:rust #:inputs #:native-inputs #:outputs)) =20 (and (not target) ;; TODO: support cross-compilation (bag @@ -136,8 +129,8 @@ to NAME and VERSION." =20 ;; Keep the standard inputs of 'gnu-build-system' ,@(standard-packages))) - (build-inputs `(("cargo" ,cargo) - ("rustc" ,rustc) + (build-inputs `(("cargo" ,rust "cargo") + ("rustc" ,rust) ,@native-inputs)) (outputs outputs) (build cargo-build) --=20 2.16.2 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 24 12:26:17 2018 Received: (at 30831) by debbugs.gnu.org; 24 Mar 2018 16:26:17 +0000 Received: from localhost ([127.0.0.1]:51642 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ezlzl-00038D-Je for submit@debbugs.gnu.org; Sat, 24 Mar 2018 12:26:17 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:52142) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ezlzk-000385-G7 for 30831@debbugs.gnu.org; Sat, 24 Mar 2018 12:26:17 -0400 Received: from localhost (77.118.213.79.wireless.dyn.drei.com [77.118.213.79]) by dd26836.kasserver.com (Postfix) with ESMTPSA id A9C7A33603BA; Sat, 24 Mar 2018 17:26:14 +0100 (CET) Date: Sat, 24 Mar 2018 17:26:01 +0100 From: Danny Milosavljevic To: Nikolai Merinov Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 Message-ID: <20180324172601.070cb69d@scratchpost.org> In-Reply-To: <87a7v12qw9.fsf@member.fsf.org> References: <874llhdocu.fsf@member.fsf.org> <20180318195811.70c2b820@scratchpost.org> <87a7v12qw9.fsf@member.fsf.org> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/v/MIeTPSt3=KOQGuC.xECtt"; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 30831 Cc: 30831@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --Sig_/v/MIeTPSt3=KOQGuC.xECtt Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi Nikolai, On Thu, 22 Mar 2018 00:02:46 +0500 Nikolai Merinov wrote: > I checked several times with "guix build --no-grafts --rounds=3D2 rust@1.= 24.1" > with "guix gc" between tries, but it worked correctly. I tried on x86-64 > architecture with my patch over 79f450a120068ac1d2fc4e5b4b33ae938b604f95 > guix commit.=20 Weird, works fine for me with 79f450a120068ac1d2fc4e5b4b33ae938b604f95. But with the current master, 2cac8891510533338f6214fbd5ab9c2f6204e856, it f= ails as describes (I tried again, fails). --Sig_/v/MIeTPSt3=KOQGuC.xECtt Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlq2fBkACgkQ5xo1VCww uqVHGAgAl2a+9fhs95eFq0roFTmYj7RUXC9e7wx+azAWBym6XdjwuEmCCtfib2fy JjgaA+iKRQwy+a05xuyXieDd6Yyf/Tg1JLpB3PiP9eFPJtkw1dikYIb8Ai02mqpR ci3P3dh3eK43vdMq+Bo/DW7o+BLg/yfLLmGxedyaf0ztVZj5OWTCAuAQ6w1dil1U CCTeT1JbfdpLIlW77bkwxb1KbA+XwVvoNFcGTgdX2A5TYfWhBR1Bfbj8K/uX33jI 3WLCdxmEuFheOzeg6Wsj+9Uc006vP72tTie9h6LV3IR4QE/FJlHiBaCSLy9CsP2z 3MVpfEC+Tw6wBraZTjkmEbutQCTwcQ== =RhPG -----END PGP SIGNATURE----- --Sig_/v/MIeTPSt3=KOQGuC.xECtt-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 27 03:41:09 2018 Received: (at 30831) by debbugs.gnu.org; 27 Mar 2018 07:41:09 +0000 Received: from localhost ([127.0.0.1]:55095 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0jED-0000ki-30 for submit@debbugs.gnu.org; Tue, 27 Mar 2018 03:41:09 -0400 Received: from hera.aquilenet.fr ([185.233.100.1]:48328) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0jEC-0000ka-2T for 30831@debbugs.gnu.org; Tue, 27 Mar 2018 03:41:08 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 6D94412509; Tue, 27 Mar 2018 09:41:07 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i6yA2MBJKv5S; Tue, 27 Mar 2018 09:41:06 +0200 (CEST) Received: from ribbon (vpn-0-27.aquilenet.fr [IPv6:2a0c:e300:4:27::]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 56CEA12506; Tue, 27 Mar 2018 09:41:06 +0200 (CEST) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Nikolai Merinov Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 References: <874llhdocu.fsf@member.fsf.org> <87bmfmmm78.fsf@gnu.org> <87h8pcckv4.fsf@member.fsf.org> <87efkgvxt1.fsf@gnu.org> <87o9jjc8xg.fsf@elephly.net> <87y3ij25bf.fsf@member.fsf.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 7 Germinal an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Tue, 27 Mar 2018 09:41:05 +0200 In-Reply-To: <87y3ij25bf.fsf@member.fsf.org> (Nikolai Merinov's message of "Fri, 23 Mar 2018 02:01:08 +0500") Message-ID: <87in9iynhq.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 30831 Cc: Ricardo Wurmus , Danny Milosavljevic , 30831@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hello Nikolai, Nikolai Merinov skribis: > Ricardo Wurmus writes: > >> Ludovic Court=C3=A8s writes: >> >>> Hello, >>> >>> Nikolai Merinov skribis: >>> >>>> Actually there is two ways to achieve this: >>>> 1. Constantly update bootsrap binaries version. >>>> 2. For each new release create new package. As result we'll be able to >>>> use old rust release to build each new rust release. E.g. we can use >>>> 1.21.0 bootstrap binaries, then build 1.22.0 rust and use it to build >>>> 1.23.0 rust and then use it to build 1.24.1 rust. >>>> >>>> Which way is preferable?=20 >>> >>> Like I wrote, I would prefer option #2, so as to increase =E2=80=9Cbina= ry >>> diversity=E2=80=9D and not rely on builds made by upstream. >>> >>> This obviously relates to . Ricardo, what= =E2=80=99s >>> your take on this? >> >> I agree. In the long run, however, I=E2=80=99d prefer for Rust to be >> bootstrapped through one of the alternative implementations. Then we >> don=E2=80=99t need to keep a long chain of older versions. >> >> Currently, however, I don=E2=80=99t see a way around it. > > Hi, I prepared proof-of-concept solution with rust-bootstrap frozed on > 1.22.1 release. Would it be an option to stick to 1.21? Or is it already too difficult? (Apologies if this was already answered previously.) I=E2=80=99m asking be= cause I wonder how big the temptation will be to upgrade =E2=80=98rust-bootstrap= =E2=80=99 again next time. > Do you think suggested code with "split all code to small steps and > remove fixed issues in new releases" is correct way to provide series > of releases? Or it will be better to copy builder code to state it > directly that this specific modification is tested on each rust > release? I=E2=80=99m not sure what you mean. Danny, you probably have more experience than I do with Rust. :-) Thoughts? Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 27 08:57:21 2018 Received: (at 30831) by debbugs.gnu.org; 27 Mar 2018 12:57:21 +0000 Received: from localhost ([127.0.0.1]:55295 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0oA3-0005bk-H6 for submit@debbugs.gnu.org; Tue, 27 Mar 2018 08:57:21 -0400 Received: from mail-lf0-f53.google.com ([209.85.215.53]:39861) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0o9t-0005b8-6z for 30831@debbugs.gnu.org; Tue, 27 Mar 2018 08:57:09 -0400 Received: by mail-lf0-f53.google.com with SMTP id p142-v6so33155026lfd.6 for <30831@debbugs.gnu.org>; Tue, 27 Mar 2018 05:57:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=3TZcA8FkOwEHE/reLTEEgOKl2jpWRAwAINM0nkT4gEo=; b=SSLXMuxJ2DMzXf0FB+DutwYASRYewAIc3hWAw3dT9jM3JW1dhw5mLPEOt3NU/uM5Oe EgDldQ0sEoVVqAm8TErhd/EayafOs4Icljacw+sJrwVq9tp9nB1plwu5fWTRmLRXNghk V3jxKJvYM5/NJGSGYIB2ML3XGlPdLU/Pq7TGUAznN9yRBGDS4I7CgkHdkvPrSP2/W35f RkFVHGT1WbxadKIIfucXxA4tPwyab4VorWNmnfZhXREkhyHz2j1Ky4MtXdHhlzU0HA3p h4Vuit3I2/Zo9/N5ame7O8YF1YPWrgK4ioQq7JqPOrr7Dq7Z+Cz8GeinBJRfUF0fgS8l ZCUw== X-Gm-Message-State: AElRT7GxtBWOZFcyjyN5xK7DlM2/ecr+gaYGSbj/fXE6fyTkhXV7DVd6 VTdyO1XlSIV8SCU1PnsrsNQWIg== X-Google-Smtp-Source: AG47ELubH0NI/60B4y4Bzi5NlV54udKfpnQGjm0Z+kDfeaEKoJIof8JjNXwF3622L6C5oDtioAwLpw== X-Received: by 10.46.41.156 with SMTP id p28mr22842412ljp.32.1522155414536; Tue, 27 Mar 2018 05:56:54 -0700 (PDT) Received: from libremnd (97.9-157-90.telenet.ru. [90.157.9.97]) by smtp.gmail.com with ESMTPSA id q24-v6sm229410lff.32.2018.03.27.05.56.52 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 27 Mar 2018 05:56:53 -0700 (PDT) From: Nikolai Merinov To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 References: <874llhdocu.fsf@member.fsf.org> <87bmfmmm78.fsf@gnu.org> <87h8pcckv4.fsf@member.fsf.org> <87efkgvxt1.fsf@gnu.org> <87o9jjc8xg.fsf@elephly.net> <87y3ij25bf.fsf@member.fsf.org> <87in9iynhq.fsf@gnu.org> Date: Tue, 27 Mar 2018 17:56:50 +0500 In-Reply-To: <87in9iynhq.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Tue, 27 Mar 2018 09:41:05 +0200") Message-ID: <87zi2the25.fsf@member.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 30831 Cc: Ricardo Wurmus , Danny Milosavljevic , 30831@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Ludovic, In attachement you can find updated patch with rust-bootstrap 1.22.1 and rust packages of 1.23.0 and 1.24.1 releases. I made small changes like replacement (zero? (system* ...)) with (invoke ...) and checked reproducability. Please find my comments below. Regards, Nikolai ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Hello Nikolai, > > Nikolai Merinov skribis: > >> Ricardo Wurmus writes: >> >>> Ludovic Court=C3=A8s writes: >>> >>>> Hello, >>>> >>>> Nikolai Merinov skribis: >>>> >>>>> Actually there is two ways to achieve this: >>>>> 1. Constantly update bootsrap binaries version. >>>>> 2. For each new release create new package. As result we'll be able to >>>>> use old rust release to build each new rust release. E.g. we can use >>>>> 1.21.0 bootstrap binaries, then build 1.22.0 rust and use it to build >>>>> 1.23.0 rust and then use it to build 1.24.1 rust. >>>>> >>>>> Which way is preferable?=20 >>>> >>>> Like I wrote, I would prefer option #2, so as to increase =E2=80=9Cbin= ary >>>> diversity=E2=80=9D and not rely on builds made by upstream. >>>> >>>> This obviously relates to . Ricardo, what= =E2=80=99s >>>> your take on this? >>> >>> I agree. In the long run, however, I=E2=80=99d prefer for Rust to be >>> bootstrapped through one of the alternative implementations. Then we >>> don=E2=80=99t need to keep a long chain of older versions. >>> >>> Currently, however, I don=E2=80=99t see a way around it. >> >> Hi, I prepared proof-of-concept solution with rust-bootstrap frozed on >> 1.22.1 release. > > Would it be an option to stick to 1.21? Or is it already too difficult? > (Apologies if this was already answered previously.) I=E2=80=99m asking = because > I wonder how big the temptation will be to upgrade =E2=80=98rust-bootstra= p=E2=80=99 > again next time. > It should be easy enough to stick with 1.21 bootstrap (still we already have package for 1.22), but: 1. We still should change code for bootstrap package to match design where "rustc" and "cargo" installed from one package. 2. Rust 1.23 and 1.24 can use same "config.toml", while rust 1.22 have different "config.toml". I do not know how to make it to look pretty in first time. For additional information look below about package code design. 3. My machine is pretty slow and testing reproducablity for three versions in a row will take two days :-) >> Do you think suggested code with "split all code to small steps and >> remove fixed issues in new releases" is correct way to provide series >> of releases? Or it will be better to copy builder code to state it >> directly that this specific modification is tested on each rust >> release? > > I=E2=80=99m not sure what you mean. I talking about how to write code for packages. e.g. if we have: (package (name "rust") (version "1.23.0") ... (arguments ... #:phases (modify-phases %standard-phases ... (add-after ... 'disable-test-1) (add-after ... 'disable-test-2) (add-after ... 'fix-source-bug-1) (add-after ... 'fix-source-bug-2) (add-after ... 'fix-source-bug-3) (replace 'configure ...) (replace 'check ...) ...))) Then how should look package for 1.24 release? It can be inherited from previous one and replace some of old steps (let ((base-rust rust-1.23)) (package (inherit base-rust) (version "1.24.1") ... (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-source-bug-1) (add-after ... 'disable-test-3) (replace 'fix-source-bug-2 (lambda* ....)))))))) Or we should copy all steps required for each new release: (package (name "rust") (version "1.24.0") ... (arguments ... #:phases (modify-phases %standard-phases ... (add-after ... 'disable-test-1) (add-after ... 'disable-test-2) (add-after ... 'disable-test-3) (add-after ... 'fix-source-bug-1) (add-after ... 'fix-source-bug-3) (replace 'configure ...) (replace 'check ...) ...))) Second solution looks too verbose for me, but with first solution on long chain of versions it will be very hard to manage which changes we have in newest package. > > Danny, you probably have more experience than I do with Rust. :-) > Thoughts? > > Thanks, > Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-rust-Update-rust-to-1.24.1-froze-bootstrap-on-1..patch Content-Transfer-Encoding: quoted-printable >From 7765a42a3696027692282d36b74b68a7bff5678e Mon Sep 17 00:00:00 2001 From: Nikolai Merinov Date: Wed, 14 Mar 2018 00:06:53 +0500 Subject: [PATCH] gnu: rust: Update rust to 1.24.1, froze bootstrap on 1.22.1 release To: guix-patches@gnu.org * gnu/packages/rust.scm (rust-bootstrap): Froze bootstrap version on 1.22.1 rust release. Reorganize bootstrap binaries to match new "rust" package structure with two ouputs "out" with rust compiler and "cargo" with cargo package manager. Replace all "system*" with "invoke". (rust-1.23): Rename "rustc" to "rust". Update sha256 for tarball. Add cargo related dependencies. Install "cargo" as separate "rust" output. Remove substitutes for parts that was fixed in "rustc" source code. Install documentation to separate "doc" output. Update configuration according to changes in "rustc" source code. Replace all "system*" with "invoke". (rust): Create package for 1.24.1 rust release based on rust-1.23 release. * guix/build-system/cargo.scm (default-rust): Replace "default-cargo" and "default-rustc" functions with "default-rust" function. (cargo-build-system): Take only one package as "rust" source. Use "rustc" f= rom default output of "rust" package, use "cargo" as "cargo" output of "rust" package. Cargo was moved from separate package to "rust" output because starting from 0.25.0 release cargo have no "Cargo.lock" anymore. According to https://github.com/rust-lang/cargo/commit/5c9665f41c6b4d3b99d3b9f8b48a286f5= f154692 commit message "cargo" used as "rust" dependency and stable version for "cargo" provided through "Cargo.lock" file from "rust-lang/rust" repository. As result only way to get stable version of cargo is build it f= rom "rust" sources. --- gnu/packages/rust.scm | 1374 ++++-----------------------------------= ---- guix/build-system/cargo.scm | 21 +- 2 files changed, 127 insertions(+), 1268 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 7d0eb7087..70140579b 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -3,7 +3,7 @@ ;;; Copyright =C2=A9 2016 Eric Le Bihan ;;; Copyright =C2=A9 2016 Nils Gillmann ;;; Copyright =C2=A9 2017 Ben Woodcroft -;;; Copyright =C2=A9 2017 Nikolai Merinov +;;; Copyright =C2=A9 2017, 2018 Nikolai Merinov ;;; Copyright =C2=A9 2017 Efraim Flashner ;;; Copyright =C2=A9 2018 Tobias Geerinckx-Rice ;;; @@ -46,71 +46,48 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix download) - #:use-module (guix base16) ;for generated "cargo" native-inputs #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module ((guix build utils) #:select (alist-replace)) + #:use-module (guix utils) #:use-module (ice-9 match) #:use-module (srfi srfi-26)) =20 -;; Should be one less than the current released version. -(define %rust-bootstrap-binaries-version "1.21.0") - -(define %rust-bootstrap-binaries - (origin - (method url-fetch) - (uri (string-append - "https://static.rust-lang.org/dist/" - "rust-" %rust-bootstrap-binaries-version - "-" %host-type ".tar.gz")) - (sha256 - (base32 - (match %host-type - ("i686-unknown-linux-gnu" - "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") - ("x86_64-unknown-linux-gnu" - "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml") - ("armv7-unknown-linux-gnueabihf" - "1ml8fjq2b6j2vn1j314w93pf4wjl97n1mbz609h3i7md0zqscvs1") - ("aarch64-unknown-linux-gnu" - "1hv4m2m7xjcph39r6baryfg23hjcr4sbsrfnd1lh0wn67k2fc7j9") - ("mips64el-unknown-linux-gnuabi64" - "0p7fzkfcqg5yvj86v434z351dp7s7pgns8nzxj0fz3hmbfbvlvn9") - (_ "")))))) ; Catch-all for other systems. - (define %cargo-reference-project-file "/dev/null") (define %cargo-reference-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") =20 -(define (increment-rust-version rust-version major patch) - (match (string-split rust-version #\.) - (("1" minor _) - (string-append (number->string major) "." - (number->string (+ (string->number minor) 1)) "." - (number->string patch))))) - -(define* (cargo-version rustc-version #:optional (patch 0)) - ;; Computes the cargo version that matches the rustc version. - ;; This has so far continued to follow a predictable pattern: - ;; https://github.com/rust-lang/cargo/blob/50a46f47/README.md#releases - (increment-rust-version rustc-version 0 patch)) - -(define* (rustc-version bootstrap-version #:optional (patch 0)) - ;; Computes the rustc version that can be compiled from a given - ;; other rustc version. The patch argument is for selecting - ;; a stability or security fix. 1.11.0 -> 1.12.1 -> 1.13.0 - (increment-rust-version bootstrap-version 1 patch)) - -(define rustc-bootstrap +(define rust-bootstrap (package - (name "rustc-bootstrap") - (version %rust-bootstrap-binaries-version) - (source %rust-bootstrap-binaries) + (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") + (_ "")))))) (build-system gnu-build-system) (native-inputs `(("patchelf" ,patchelf))) (inputs - `(("gcc:lib" ,(canonical-package gcc) "lib") + `(("gcc" ,(canonical-package gcc)) + ("gcc:lib" ,(canonical-package gcc) "lib") ("zlib" ,zlib))) + (outputs '("out" "cargo")) (arguments `(#:tests? #f #:strip-binaries? #f @@ -121,115 +98,63 @@ (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) + (cargo-out (assoc-ref outputs "cargo")) (gcc:lib (assoc-ref inputs "gcc:lib")) (libc (assoc-ref inputs "libc")) (zlib (assoc-ref inputs "zlib")) (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" zlib "/lib:" libc "/lib:" gcc:lib "/lib")) + (cargo-rpath (string-append cargo-out "/lib:" libc "/l= ib:" + gcc:lib "/lib")) (rustc (string-append out "/bin/rustc")) - (rustdoc (string-append out "/bin/rustdoc"))) - (system* "bash" "install.sh" + (rustdoc (string-append out "/bin/rustdoc")) + (cargo (string-append cargo-out "/bin/cargo")) + (gcc (assoc-ref inputs "gcc"))) + ;; Install rustc/rustdoc + (invoke "bash" "install.sh" (string-append "--prefix=3D" out) (string-append "--components=3Drustc," "rust-std-" %host-type)) + ;; Instal cargo + (invoke "bash" "install.sh" + (string-append "--prefix=3D" cargo-out) + (string-append "--components=3Dcargo")) (for-each (lambda (file) - (system* "patchelf" "--set-rpath" rpath file)) + (invoke "patchelf" "--set-rpath" rpath file)) (cons* rustc rustdoc (find-files out "\\.so$"))) + (invoke "patchelf" "--set-rpath" cargo-rpath cargo) (for-each (lambda (file) - (system* "patchelf" "--set-interpreter" ld-so f= ile)) - (list rustc rustdoc)))))))) - (home-page "https://www.rust-lang.org") - (synopsis "Prebuilt rust compiler") - (description "This package provides a pre-built @command{rustc} compil= er, -which can in turn be used to build the final Rust compiler.") - (license license:asl2.0))) - -(define cargo-bootstrap - (package - (name "cargo-bootstrap") - (version (cargo-version %rust-bootstrap-binaries-version 1)) - (source %rust-bootstrap-binaries) - (build-system gnu-build-system) - (native-inputs - `(("patchelf" ,patchelf))) - (inputs - `(("gcc:lib" ,(canonical-package gcc) "lib"))) - (arguments - `(#:tests? #f - #:strip-binaries? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (gcc:lib (assoc-ref inputs "gcc:lib")) - (libc (assoc-ref inputs "libc")) - (ld-so (string-append libc ,(glibc-dynamic-linker))) - (rpath (string-append out "/lib:" libc "/lib:" - gcc:lib "/lib")) - (cargo (string-append out "/bin/cargo"))) - (system* "bash" "install.sh" - (string-append "--prefix=3D" out) - "--components=3Dcargo") - (system* "patchelf" - "--set-interpreter" ld-so - "--set-rpath" rpath - cargo))))))) + (invoke "patchelf" "--set-interpreter" ld-so fi= le)) + (list rustc rustdoc cargo)) + ;; Rust requires a C toolchain for linking. The prebuilt + ;; binaries expect a compiler called cc. Thus symlink gcc + ;; to cc. + (symlink (string-append gcc "/bin/gcc") + (string-append out "/bin/cc")) + #t)))))) (home-page "https://www.rust-lang.org") - (synopsis "Prebuilt cargo package manager") - (description "This package provides a pre-built @command{cargo} package -manager, which is required to build itself.") + (synopsis "Prebuilt rust compiler and cargo package manager") + (description "This package provides a pre-built @command{rustc} compil= er +and a pre-built @command{cargo} package manaer, which can +in turn be used to build the final Rust.") (license license:asl2.0))) =20 -(define rust-bootstrap - (package - (name "rust-bootstrap") - (version %rust-bootstrap-binaries-version) - (source #f) - (build-system trivial-build-system) - (propagated-inputs - `(("rustc-bootstrap" ,rustc-bootstrap) - ("cargo-bootstrap" ,cargo-bootstrap) - ("gcc" ,(canonical-package gcc)))) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let ((out (assoc-ref %outputs "out")) - (gcc (assoc-ref %build-inputs "gcc"))) - (mkdir-p (string-append out "/bin")) - ;; Rust requires a C toolchain for linking. The prebuilt - ;; binaries expect a compiler called cc. Thus symlink gcc - ;; to cc. - (symlink (string-append gcc "/bin/gcc") - (string-append out "/bin/cc")))))) - (home-page "https://www.rust-lang.org") - (synopsis "Rust bootstrapping meta package") - (description "Meta package for a rust environment. Provides pre-compil= ed -rustc-bootstrap and cargo-bootstrap packages.") - (license license:asl2.0))) -(define-public rustc +(define (rust-source version hash) + (origin + (method url-fetch) + (uri (string-append "https://static.rust-lang.org/dist/" + "rustc-" version "-src.tar.gz")) + (sha256 (base32 hash)) + (modules '((guix build utils))) + (snippet '(begin (delete-file-recursively "src/llvm") #t)))) + +(define-public rust-1.23 (package - (name "rustc") - (version (rustc-version %rust-bootstrap-binaries-version 1)) - (source (origin - (method url-fetch) - (uri (string-append - "https://static.rust-lang.org/dist/" - "rustc-" version "-src.tar.gz")) - (sha256 - (base32 - "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")) - (modules '((guix build utils))) - (snippet - `(begin - (delete-file-recursively "src/llvm") - #t)))) + (name "rust") + (version "1.23.0") + (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5g= mzfwf4w9ar3l")) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) ; For the tests @@ -239,11 +164,16 @@ rustc-bootstrap and cargo-bootstrap packages.") ("git" ,git) ("procps" ,procps) ; For the tests ("python-2" ,python-2) - ("rust-bootstrap" ,rust-bootstrap) + ("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))) + ("llvm" ,llvm-3.9.1) + ("openssl" ,openssl) + ("libcurl" ,curl))) ; For "cargo" + (outputs '("out" "doc" "cargo")) (arguments `(#:imported-modules ,%cargo-build-system-modules ;for `generate-chec= ksums' #:phases @@ -258,9 +188,6 @@ rustc-bootstrap and cargo-bootstrap packages.") (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) - (substitute* "src/build_helper/lib.rs" - ;; In same folder as gcc there is only "gcc-ar" utility - (("file\\.push_str\\(\"ar\"\\);") "file.push_str(\"gcc-ar= \");")) (substitute* "src/libstd/process.rs" ;; The newline is intentional. ;; There's a line length "tidy" check in Rust which would @@ -276,15 +203,18 @@ rustc-bootstrap and cargo-bootstrap packages.") ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_= PATH. ;; (delete-file-recursively "src/test/run-make/linker-output-n= on-utf8") - (substitute* "src/build_helper/lib.rs" - ;; Bug in Rust code. - ;; Current implementation assume that if dst not exist th= en it's mtime - ;; is 0, but in same time "src" have 0 mtime in guix buil= d! - (("let threshold =3D mtime\\(dst\\);") - "if !dst.exists() {\nreturn false\n}\n let threshold =3D= mtime(dst);")) #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 =3D mtime\\(dst\\);") + "if !dst.exists() {\nreturn false\n}\n let threshold =3D m= time(dst);")) + #t)) (add-after 'patch-source-shebangs 'patch-cargo-checksums - (lambda* (#:key inputs #:allow-other-keys) + (lambda* _ (substitute* "src/Cargo.lock" (("(\"checksum .* =3D )\".*\"" all name) (string-append name "\"" ,%cargo-reference-hash "\""))) @@ -302,6 +232,7 @@ rustc-bootstrap and cargo-bootstrap packages.") (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")) @@ -317,15 +248,18 @@ rustc-bootstrap and cargo-bootstrap packages.") [build] cargo =3D \"" cargo "/bin/cargo" "\" rustc =3D \"" rustc "/bin/rustc" "\" +docs =3D true python =3D \"" python "/bin/python2" "\" gdb =3D \"" gdb "/bin/gdb" "\" vendor =3D true submodules =3D false [install] prefix =3D \"" out "\" +docdir =3D \"" doc "/share/doc/rust" "\" +sysconfdir =3D \"etc\" +localstatedir =3D \"var/lib\" [rust] default-linker =3D \"" gcc "/bin/gcc" "\" -default-ar =3D \"" binutils "/bin/ar" "\" channel =3D \"stable\" rpath =3D true # There is 2 failed codegen tests: @@ -336,12 +270,13 @@ codegen-tests =3D false llvm-config =3D \"" llvm "/bin/llvm-config" "\" cc =3D \"" gcc "/bin/gcc" "\" cxx =3D \"" gcc "/bin/g++" "\" +ar =3D \"" binutils "/bin/ar" "\" jemalloc =3D \"" jemalloc "/lib/libjemalloc_pic.a" "\" [dist] ") port))) #t))) (add-before 'build 'reset-timestamps-after-changes - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* _ (define ref (stat "README.md")) (for-each (lambda (filename) @@ -349,14 +284,21 @@ jemalloc =3D \"" jemalloc "/lib/libjemalloc_pic.a" "\" (find-files "." #:directories? #t)) #t)) (replace 'build - (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "./x.py" "build")))) + (lambda* _ + (invoke "./x.py" "build") + (invoke "./x.py" "build" "src/tools/cargo"))) (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "./x.py" "test")))) + (lambda* _ + (invoke "./x.py" "test"))) (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "./x.py" "install")))) + (lambda* (#:key outputs #:allow-other-keys) + (invoke "./x.py" "install") + (substitute* "config.toml" + ;; replace prefix to specific output + (("prefix =3D \"[^\"]*\"") + (string-append "prefix =3D \"" (assoc-ref outputs "cargo")= "\""))) + (invoke "./x.py" "install" "cargo") + #t)) (add-after 'install 'wrap-rustc (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -376,1095 +318,19 @@ safety and thread safety guarantees.") ;; Dual licensed. (license (list license:asl2.0 license:expat)))) =20 -;; This tries very hard not to get into a cyclic dependency like this: -;; cargo <- cargo-build-system <- cargo. -(define-public cargo - (package - (name "cargo") - (version (cargo-version (rustc-version %rust-bootstrap-binaries-versio= n) 0)) - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/rust-lang/cargo/arch= ive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0kr7rml7v2bm7zl8jcb3056h63zpyy9m08s212i8vfwxf6lf5fzl")))) - (build-system cargo-build-system) - (propagated-inputs - `(("cmake" ,cmake) - ("pkg-config" ,pkg-config))) - (inputs - `(("curl" ,curl) - ("libgit2" ,libgit2) - ("libssh2" ,libssh2) - ("openssl" ,openssl) - ("python-2" ,python-2) - ("zlib" ,zlib))) - (native-inputs - `(("git" ,git) ; required for tests - ;; Next dependencies generated with next command: - ;; cat Cargo.lock | awk ' - ;; /^"checksum/ - ;; { oname=3Dname=3D$2; vers=3D$3; hash=3D$6; - ;; if (ns[name] !=3D 1) { ns[name]=3D1; } else { name =3D name = "-" vers; } - ;; print " (\"rust-" name "\""; - ;; print " ,(origin"; - ;; print " (method url-fetch)"; - ;; print " (uri (crate-uri \"" oname "\" \"" vers "\"= ))"; - ;; print " (file-name \"rust-" oname "\-\" vers "\") - ;; print " (sha256"; - ;; print " (base16-string->bytevector"; - ;; print " " hash "))))" - ;; }' - ("rust-advapi32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "advapi32-sys" "0.2.0")) - (file-name "rust-advapi32-sys-0.2.0") - (sha256 - (base16-string->bytevector - "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb= 8a9a")))) - ("rust-aho-corasick" - ,(origin - (method url-fetch) - (uri (crate-uri "aho-corasick" "0.5.3")) - (file-name "rust-aho-corasick-0.5.3") - (sha256 - (base16-string->bytevector - "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686d= db66")))) - ("rust-aho-corasick-0.6.3" - ,(origin - (method url-fetch) - (uri (crate-uri "aho-corasick" "0.6.3")) - (file-name "rust-aho-corasick-0.6.3") - (sha256 - (base16-string->bytevector - "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b88= 9699")))) - ("rust-atty" - ,(origin - (method url-fetch) - (uri (crate-uri "atty" "0.2.3")) - (file-name "rust-atty-0.2.3") - (sha256 - (base16-string->bytevector - "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421b7= 8860")))) - ("rust-backtrace" - ,(origin - (method url-fetch) - (uri (crate-uri "backtrace" "0.3.3")) - (file-name "rust-backtrace-0.3.3") - (sha256 - (base16-string->bytevector - "99f2ce94e22b8e664d95c57fff45b98a966c2252b60691d0b7aeeccd88d7= 0983")))) - ("rust-backtrace-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "backtrace-sys" "0.1.14")) - (file-name "rust-backtrace-sys-0.1.14") - (sha256 - (base16-string->bytevector - "c63ea141ef8fdb10409d0f5daf30ac51f84ef43bff66f16627773d2a292c= d189")))) - ("rust-bitflags" - ,(origin - (method url-fetch) - (uri (crate-uri "bitflags" "0.7.0")) - (file-name "rust-bitflags-0.7.0") - (sha256 - (base16-string->bytevector - "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881= 106d")))) - ("rust-bitflags-0.9.1" - ,(origin - (method url-fetch) - (uri (crate-uri "bitflags" "0.9.1")) - (file-name "rust-bitflags-0.9.1") - (sha256 - (base16-string->bytevector - "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1a= b3a5")))) - ("rust-bufstream" - ,(origin - (method url-fetch) - (uri (crate-uri "bufstream" "0.1.3")) - (file-name "rust-bufstream-0.1.3") - (sha256 - (base16-string->bytevector - "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d0946= 8e32")))) - ("rust-cc" - ,(origin - (method url-fetch) - (uri (crate-uri "cc" "1.0.0")) - (file-name "rust-cc-1.0.0") - (sha256 - (base16-string->bytevector - "7db2f146208d7e0fbee761b09cd65a7f51ccc38705d4e7262dad4d73b12a= 76b1")))) - ("rust-cfg-if" - ,(origin - (method url-fetch) - (uri (crate-uri "cfg-if" "0.1.2")) - (file-name "rust-cfg-if-0.1.2") - (sha256 - (base16-string->bytevector - "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed31= 40de")))) - ("rust-cmake" - ,(origin - (method url-fetch) - (uri (crate-uri "cmake" "0.1.26")) - (file-name "rust-cmake-0.1.26") - (sha256 - (base16-string->bytevector - "357c07e7a1fc95732793c1edb5901e1a1f305cfcf63a90eb12dbd22bdb6b= 789d")))) - ("rust-commoncrypto" - ,(origin - (method url-fetch) - (uri (crate-uri "commoncrypto" "0.2.0")) - (file-name "rust-commoncrypto-0.2.0") - (sha256 - (base16-string->bytevector - "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b6= 9007")))) - ("rust-commoncrypto-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "commoncrypto-sys" "0.2.0")) - (file-name "rust-commoncrypto-sys-0.2.0") - (sha256 - (base16-string->bytevector - "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f40= 83e2")))) - ("rust-conv" - ,(origin - (method url-fetch) - (uri (crate-uri "conv" "0.3.3")) - (file-name "rust-conv-0.3.3") - (sha256 - (base16-string->bytevector - "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d= 1299")))) - ("rust-core-foundation" - ,(origin - (method url-fetch) - (uri (crate-uri "core-foundation" "0.4.4")) - (file-name "rust-core-foundation-0.4.4") - (sha256 - (base16-string->bytevector - "5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb232= 0dc7")))) - ("rust-core-foundation-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "core-foundation-sys" "0.4.4")) - (file-name "rust-core-foundation-sys-0.4.4") - (sha256 - (base16-string->bytevector - "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a= 3387")))) - ("rust-crossbeam" - ,(origin - (method url-fetch) - (uri (crate-uri "crossbeam" "0.2.10")) - (file-name "rust-crossbeam-0.2.10") - (sha256 - (base16-string->bytevector - "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb92750= 8f97")))) - ("rust-crossbeam-0.3.0" - ,(origin - (method url-fetch) - (uri (crate-uri "crossbeam" "0.3.0")) - (file-name "rust-crossbeam-0.3.0") - (sha256 - (base16-string->bytevector - "8837ab96533202c5b610ed44bc7f4183e7957c1c8f56e8cc78bb098593c8= ba0a")))) - ("rust-crypto-hash" - ,(origin - (method url-fetch) - (uri (crate-uri "crypto-hash" "0.3.0")) - (file-name "rust-crypto-hash-0.3.0") - (sha256 - (base16-string->bytevector - "34903878eec1694faf53cae8473a088df333181de421d4d3d48061d6559f= e602")))) - ("rust-curl" - ,(origin - (method url-fetch) - (uri (crate-uri "curl" "0.4.8")) - (file-name "rust-curl-0.4.8") - (sha256 - (base16-string->bytevector - "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41ae= 9c2c")))) - ("rust-curl-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "curl-sys" "0.3.15")) - (file-name "rust-curl-sys-0.3.15") - (sha256 - (base16-string->bytevector - "4bee31aa3a079d5f3ff9579ea4dcfb1b1a17a40886f5f467436d383e7813= 4b55")))) - ("rust-custom_derive" - ,(origin - (method url-fetch) - (uri (crate-uri "custom_derive" "0.1.7")) - (file-name "rust-custom_derive-0.1.7") - (sha256 - (base16-string->bytevector - "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a= 01b9")))) - ("rust-dbghelp-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "dbghelp-sys" "0.2.0")) - (file-name "rust-dbghelp-sys-0.2.0") - (sha256 - (base16-string->bytevector - "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5= b850")))) - ("rust-docopt" - ,(origin - (method url-fetch) - (uri (crate-uri "docopt" "0.8.1")) - (file-name "rust-docopt-0.8.1") - (sha256 - (base16-string->bytevector - "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49= 787a")))) - ("rust-dtoa" - ,(origin - (method url-fetch) - (uri (crate-uri "dtoa" "0.4.2")) - (file-name "rust-dtoa-0.4.2") - (sha256 - (base16-string->bytevector - "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e= 50ab")))) - ("rust-env_logger" - ,(origin - (method url-fetch) - (uri (crate-uri "env_logger" "0.4.3")) - (file-name "rust-env_logger-0.4.3") - (sha256 - (base16-string->bytevector - "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8= cd5b")))) - ("rust-error-chain" - ,(origin - (method url-fetch) - (uri (crate-uri "error-chain" "0.11.0")) - (file-name "rust-error-chain-0.11.0") - (sha256 - (base16-string->bytevector - "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419e= d3f3")))) - ("rust-filetime" - ,(origin - (method url-fetch) - (uri (crate-uri "filetime" "0.1.12")) - (file-name "rust-filetime-0.1.12") - (sha256 - (base16-string->bytevector - "6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf73= 2c0e")))) - ("rust-flate2" - ,(origin - (method url-fetch) - (uri (crate-uri "flate2" "0.2.20")) - (file-name "rust-flate2-0.2.20") - (sha256 - (base16-string->bytevector - "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81= e423")))) - ("rust-fnv" - ,(origin - (method url-fetch) - (uri (crate-uri "fnv" "1.0.5")) - (file-name "rust-fnv-1.0.5") - (sha256 - (base16-string->bytevector - "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fe= e344")))) - ("rust-foreign-types" - ,(origin - (method url-fetch) - (uri (crate-uri "foreign-types" "0.2.0")) - (file-name "rust-foreign-types-0.2.0") - (sha256 - (base16-string->bytevector - "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8= a29d")))) - ("rust-fs2" - ,(origin - (method url-fetch) - (uri (crate-uri "fs2" "0.4.2")) - (file-name "rust-fs2-0.4.2") - (sha256 - (base16-string->bytevector - "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c= 2866")))) - ("rust-git2" - ,(origin - (method url-fetch) - (uri (crate-uri "git2" "0.6.8")) - (file-name "rust-git2-0.6.8") - (sha256 - (base16-string->bytevector - "0c1c0203d653f4140241da0c1375a404f0a397249ec818cd2076c6280c50= f6fa")))) - ("rust-git2-curl" - ,(origin - (method url-fetch) - (uri (crate-uri "git2-curl" "0.7.0")) - (file-name "rust-git2-curl-0.7.0") - (sha256 - (base16-string->bytevector - "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5= bf8e")))) - ("rust-glob" - ,(origin - (method url-fetch) - (uri (crate-uri "glob" "0.2.11")) - (file-name "rust-glob-0.2.11") - (sha256 - (base16-string->bytevector - "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac589= 5bfb")))) - ("rust-globset" - ,(origin - (method url-fetch) - (uri (crate-uri "globset" "0.2.0")) - (file-name "rust-globset-0.2.0") - (sha256 - (base16-string->bytevector - "feeb1b6840809ef5efcf7a4a990bc4e1b7ee3df8cf9e2379a75aeb2ba42a= c9c3")))) - ("rust-hamcrest" - ,(origin - (method url-fetch) - (uri (crate-uri "hamcrest" "0.1.1")) - (file-name "rust-hamcrest-0.1.1") - (sha256 - (base16-string->bytevector - "bf088f042a467089e9baa4972f57f9247e42a0cc549ba264c7a04fbb8ecb= 89d4")))) - ("rust-hex" - ,(origin - (method url-fetch) - (uri (crate-uri "hex" "0.2.0")) - (file-name "rust-hex-0.2.0") - (sha256 - (base16-string->bytevector - "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e1= 53aa")))) - ("rust-home" - ,(origin - (method url-fetch) - (uri (crate-uri "home" "0.3.0")) - (file-name "rust-home-0.3.0") - (sha256 - (base16-string->bytevector - "9f25ae61099d8f3fee8b483df0bd4ecccf4b2731897aad40d50eca1b641f= e6db")))) - ("rust-idna" - ,(origin - (method url-fetch) - (uri (crate-uri "idna" "0.1.4")) - (file-name "rust-idna-0.1.4") - (sha256 - (base16-string->bytevector - "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951e= af7d")))) - ("rust-ignore" - ,(origin - (method url-fetch) - (uri (crate-uri "ignore" "0.2.2")) - (file-name "rust-ignore-0.2.2") - (sha256 - (base16-string->bytevector - "b3fcaf2365eb14b28ec7603c98c06cc531f19de9eb283d89a3dff8417c8c= 99f5")))) - ("rust-itoa" - ,(origin - (method url-fetch) - (uri (crate-uri "itoa" "0.3.4")) - (file-name "rust-itoa-0.3.4") - (sha256 - (base16-string->bytevector - "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4= db8c")))) - ("rust-jobserver" - ,(origin - (method url-fetch) - (uri (crate-uri "jobserver" "0.1.6")) - (file-name "rust-jobserver-0.1.6") - (sha256 - (base16-string->bytevector - "443ae8bc0af6c106e6e8b77e04684faecc1a5ce94e058f4c2b0a037b0ea1= b133")))) - ("rust-kernel32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "kernel32-sys" "0.2.2")) - (file-name "rust-kernel32-sys-0.2.2") - (sha256 - (base16-string->bytevector - "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056= 098d")))) - ("rust-lazy_static" - ,(origin - (method url-fetch) - (uri (crate-uri "lazy_static" "0.2.9")) - (file-name "rust-lazy_static-0.2.9") - (sha256 - (base16-string->bytevector - "c9e5e58fa1a4c3b915a561a78a22ee0cac6ab97dca2504428bc1cb074375= f8d5")))) - ("rust-libc" - ,(origin - (method url-fetch) - (uri (crate-uri "libc" "0.2.31")) - (file-name "rust-libc-0.2.31") - (sha256 - (base16-string->bytevector - "d1419b2939a0bc44b77feb34661583c7546b532b192feab36249ab584b86= 856c")))) - ("rust-libgit2-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libgit2-sys" "0.6.16")) - (file-name "rust-libgit2-sys-0.6.16") - (sha256 - (base16-string->bytevector - "6f74b4959cef96898f5123148724fc7dee043b9a6b99f219d948851bfbe5= 3cb2")))) - ("rust-libssh2-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libssh2-sys" "0.2.6")) - (file-name "rust-libssh2-sys-0.2.6") - (sha256 - (base16-string->bytevector - "0db4ec23611747ef772db1c4d650f8bd762f07b461727ec998f953c61402= 4b75")))) - ("rust-libz-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "libz-sys" "1.0.17")) - (file-name "rust-libz-sys-1.0.17") - (sha256 - (base16-string->bytevector - "44ebbc760fd2d2f4d93de09a0e13d97e057612052e871da9985cedcb451e= 6bd5")))) - ("rust-log" - ,(origin - (method url-fetch) - (uri (crate-uri "log" "0.3.8")) - (file-name "rust-log-0.3.8") - (sha256 - (base16-string->bytevector - "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512= 565b")))) - ("rust-magenta" - ,(origin - (method url-fetch) - (uri (crate-uri "magenta" "0.1.1")) - (file-name "rust-magenta-0.1.1") - (sha256 - (base16-string->bytevector - "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3a= c527")))) - ("rust-magenta-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "magenta-sys" "0.1.1")) - (file-name "rust-magenta-sys-0.1.1") - (sha256 - (base16-string->bytevector - "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f= 4699")))) - ("rust-matches" - ,(origin - (method url-fetch) - (uri (crate-uri "matches" "0.1.6")) - (file-name "rust-matches-0.1.6") - (sha256 - (base16-string->bytevector - "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f19= 3376")))) - ("rust-memchr" - ,(origin - (method url-fetch) - (uri (crate-uri "memchr" "0.1.11")) - (file-name "rust-memchr-0.1.11") - (sha256 - (base16-string->bytevector - "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d28276141= 8d20")))) - ("rust-memchr-1.0.1" - ,(origin - (method url-fetch) - (uri (crate-uri "memchr" "1.0.1")) - (file-name "rust-memchr-1.0.1") - (sha256 - (base16-string->bytevector - "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a= 47b4")))) - ("rust-miniz-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "miniz-sys" "0.1.10")) - (file-name "rust-miniz-sys-0.1.10") - (sha256 - (base16-string->bytevector - "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7= e2b4")))) - ("rust-miow" - ,(origin - (method url-fetch) - (uri (crate-uri "miow" "0.2.1")) - (file-name "rust-miow-0.2.1") - (sha256 - (base16-string->bytevector - "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355a= e919")))) - ("rust-net2" - ,(origin - (method url-fetch) - (uri (crate-uri "net2" "0.2.31")) - (file-name "rust-net2-0.2.31") - (sha256 - (base16-string->bytevector - "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b71= 6c09")))) - ("rust-num" - ,(origin - (method url-fetch) - (uri (crate-uri "num" "0.1.40")) - (file-name "rust-num-0.1.40") - (sha256 - (base16-string->bytevector - "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f92= 3525")))) - ("rust-num-bigint" - ,(origin - (method url-fetch) - (uri (crate-uri "num-bigint" "0.1.40")) - (file-name "rust-num-bigint-0.1.40") - (sha256 - (base16-string->bytevector - "8fd0f8dbb4c0960998958a796281d88c16fbe68d87b1baa6f31e2979e81f= d0bd")))) - ("rust-num-complex" - ,(origin - (method url-fetch) - (uri (crate-uri "num-complex" "0.1.40")) - (file-name "rust-num-complex-0.1.40") - (sha256 - (base16-string->bytevector - "503e668405c5492d67cf662a81e05be40efe2e6bcf10f7794a07bd9865e7= 04e6")))) - ("rust-num-integer" - ,(origin - (method url-fetch) - (uri (crate-uri "num-integer" "0.1.35")) - (file-name "rust-num-integer-0.1.35") - (sha256 - (base16-string->bytevector - "d1452e8b06e448a07f0e6ebb0bb1d92b8890eea63288c0b627331d53514d= 0fba")))) - ("rust-num-iter" - ,(origin - (method url-fetch) - (uri (crate-uri "num-iter" "0.1.34")) - (file-name "rust-num-iter-0.1.34") - (sha256 - (base16-string->bytevector - "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13df= fe01")))) - ("rust-num-rational" - ,(origin - (method url-fetch) - (uri (crate-uri "num-rational" "0.1.39")) - (file-name "rust-num-rational-0.1.39") - (sha256 - (base16-string->bytevector - "288629c76fac4b33556f4b7ab57ba21ae202da65ba8b77466e6d598e3199= 0790")))) - ("rust-num-traits" - ,(origin - (method url-fetch) - (uri (crate-uri "num-traits" "0.1.40")) - (file-name "rust-num-traits-0.1.40") - (sha256 - (base16-string->bytevector - "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721= b9b0")))) - ("rust-num_cpus" - ,(origin - (method url-fetch) - (uri (crate-uri "num_cpus" "1.7.0")) - (file-name "rust-num_cpus-1.7.0") - (sha256 - (base16-string->bytevector - "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d453= b20d")))) - ("rust-openssl" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl" "0.9.19")) - (file-name "rust-openssl-0.9.19") - (sha256 - (base16-string->bytevector - "816914b22eb15671d62c73442a51978f311e911d6a6f6cbdafa6abce1b50= 38fc")))) - ("rust-openssl-probe" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl-probe" "0.1.1")) - (file-name "rust-openssl-probe-0.1.1") - (sha256 - (base16-string->bytevector - "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f37= 8daf")))) - ("rust-openssl-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "openssl-sys" "0.9.19")) - (file-name "rust-openssl-sys-0.9.19") - (sha256 - (base16-string->bytevector - "1e4c63a7d559c1e5afa6d6a9e6fa34bbc5f800ffc9ae08b72c605420b0c4= f5e8")))) - ("rust-percent-encoding" - ,(origin - (method url-fetch) - (uri (crate-uri "percent-encoding" "1.0.0")) - (file-name "rust-precent-encoding-1.0.0") - (sha256 - (base16-string->bytevector - "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6a= e356")))) - ("rust-pkg-config" - ,(origin - (method url-fetch) - (uri (crate-uri "pkg-config" "0.3.9")) - (file-name "rust-pkg-config-0.3.9") - (sha256 - (base16-string->bytevector - "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edb= a903")))) - ("rust-psapi-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "psapi-sys" "0.1.0")) - (file-name "rust-psapi-sys-0.1.0") - (sha256 - (base16-string->bytevector - "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a= 2478")))) - ("rust-quote" - ,(origin - (method url-fetch) - (uri (crate-uri "quote" "0.3.15")) - (file-name "rust-quote-0.3.15") - (sha256 - (base16-string->bytevector - "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4= 167a")))) - ("rust-rand" - ,(origin - (method url-fetch) - (uri (crate-uri "rand" "0.3.16")) - (file-name "rust-rand-0.3.16") - (sha256 - (base16-string->bytevector - "eb250fd207a4729c976794d03db689c9be1d634ab5a1c9da9492a13d8fec= bcdf")))) - ("rust-redox_syscall" - ,(origin - (method url-fetch) - (uri (crate-uri "redox_syscall" "0.1.31")) - (file-name "rust-redox_syscall-0.1.31") - (sha256 - (base16-string->bytevector - "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47eb0= 4509")))) - ("rust-redox_termios" - ,(origin - (method url-fetch) - (uri (crate-uri "redox_termios" "0.1.1")) - (file-name "rust-redox_termios-0.1.1") - (sha256 - (base16-string->bytevector - "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db= 0f76")))) - ("rust-regex" - ,(origin - (method url-fetch) - (uri (crate-uri "regex" "0.1.80")) - (file-name "rust-regex-0.1.80") - (sha256 - (base16-string->bytevector - "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019= 402f")))) - ("rust-regex-0.2.2" - ,(origin - (method url-fetch) - (uri (crate-uri "regex" "0.2.2")) - (file-name "rust-regex-0.2.2") - (sha256 - (base16-string->bytevector - "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b= 2d1b")))) - ("rust-regex-syntax" - ,(origin - (method url-fetch) - (uri (crate-uri "regex-syntax" "0.3.9")) - (file-name "rust-regex-syntax-0.3.9") - (sha256 - (base16-string->bytevector - "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db83= 4957")))) - ("rust-regex-syntax-0.4.1" - ,(origin - (method url-fetch) - (uri (crate-uri "regex-syntax" "0.4.1")) - (file-name "rust-regex-syntax-0.4.1") - (sha256 - (base16-string->bytevector - "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f= 62db")))) - ("rust-rustc-demangle" - ,(origin - (method url-fetch) - (uri (crate-uri "rustc-demangle" "0.1.5")) - (file-name "rust-rustc-demangle-0.1.5") - (sha256 - (base16-string->bytevector - "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e= 817e")))) - ("rust-rustc-serialize" - ,(origin - (method url-fetch) - (uri (crate-uri "rustc-serialize" "0.3.24")) - (file-name "rust-rustc-serialize-0.3.24") - (sha256 - (base16-string->bytevector - "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e= 6fda")))) - ("rust-same-file" - ,(origin - (method url-fetch) - (uri (crate-uri "same-file" "0.1.3")) - (file-name "rust-same-file-0.1.3") - (sha256 - (base16-string->bytevector - "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a1= 17a7")))) - ("rust-scoped-tls" - ,(origin - (method url-fetch) - (uri (crate-uri "scoped-tls" "0.1.0")) - (file-name "rust-scoped-tls-0.1.0") - (sha256 - (base16-string->bytevector - "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb903807f= 147d")))) - ("rust-scopeguard" - ,(origin - (method url-fetch) - (uri (crate-uri "scopeguard" "0.1.2")) - (file-name "rust-scopeguard-0.1.2") - (sha256 - (base16-string->bytevector - "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e83981a= 6c57")))) - ("rust-semver" - ,(origin - (method url-fetch) - (uri (crate-uri "semver" "0.8.0")) - (file-name "rust-semver-0.8.0") - (sha256 - (base16-string->bytevector - "bee2bc909ab2d8d60dab26e8cad85b25d795b14603a0dcb627b78b9d30b6= 454b")))) - ("rust-semver-parser" - ,(origin - (method url-fetch) - (uri (crate-uri "semver-parser" "0.7.0")) - (file-name "rust-semver-parser-0.7.0") - (sha256 - (base16-string->bytevector - "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f5= 70a3")))) - ("rust-serde" - ,(origin - (method url-fetch) - (uri (crate-uri "serde" "1.0.15")) - (file-name "rust-serde-1.0.15") - (sha256 - (base16-string->bytevector - "6a7046c9d4c6c522d10b2d098f9bebe2bef227e0e74044d8c1bfcf6b476a= f799")))) - ("rust-serde_derive" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_derive" "1.0.15")) - (file-name "rust-serde_derive-1.0.15") - (sha256 - (base16-string->bytevector - "1afcaae083fd1c46952a315062326bc9957f182358eb7da03b57ef1c688f= 7aa9")))) - ("rust-serde_derive_internals" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_derive_internals" "0.16.0")) - (file-name "rust-serde_derive_internals-0.16.0") - (sha256 - (base16-string->bytevector - "bd381f6d01a6616cdba8530492d453b7761b456ba974e98768a18cad2cd7= 6f58")))) - ("rust-serde_ignored" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_ignored" "0.0.4")) - (file-name "rust-serde_ignored-0.0.4") - (sha256 - (base16-string->bytevector - "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01f= b142")))) - ("rust-serde_json" - ,(origin - (method url-fetch) - (uri (crate-uri "serde_json" "1.0.3")) - (file-name "rust-serde_json-1.0.3") - (sha256 - (base16-string->bytevector - "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6ac6= b7ac")))) - ("rust-shell-escape" - ,(origin - (method url-fetch) - (uri (crate-uri "shell-escape" "0.1.3")) - (file-name "rust-shell-escape-0.1.3") - (sha256 - (base16-string->bytevector - "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b8= 4ef8")))) - ("rust-socket2" - ,(origin - (method url-fetch) - (uri (crate-uri "socket2" "0.2.3")) - (file-name "rust-socket2-0.2.3") - (sha256 - (base16-string->bytevector - "9e76b159741052c7deaa9fd0b5ca6b5f79cecf525ed665abfe5002086c6b= 2791")))) - ("rust-strsim" - ,(origin - (method url-fetch) - (uri (crate-uri "strsim" "0.6.0")) - (file-name "rust-strsim-0.6.0") - (sha256 - (base16-string->bytevector - "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c= 3694")))) - ("rust-syn" - ,(origin - (method url-fetch) - (uri (crate-uri "syn" "0.11.11")) - (file-name "rust-syn-0.11.11") - (sha256 - (base16-string->bytevector - "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b44= 1dad")))) - ("rust-synom" - ,(origin - (method url-fetch) - (uri (crate-uri "synom" "0.11.3")) - (file-name "rust-synom-0.11.3") - (sha256 - (base16-string->bytevector - "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b519= 45b6")))) - ("rust-tar" - ,(origin - (method url-fetch) - (uri (crate-uri "tar" "0.4.13")) - (file-name "rust-tar-0.4.13") - (sha256 - (base16-string->bytevector - "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f= 2b1b")))) - ("rust-tempdir" - ,(origin - (method url-fetch) - (uri (crate-uri "tempdir" "0.3.5")) - (file-name "rust-tempdir-0.3.5") - (sha256 - (base16-string->bytevector - "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff6621= 32d6")))) - ("rust-termcolor" - ,(origin - (method url-fetch) - (uri (crate-uri "termcolor" "0.3.3")) - (file-name "rust-termcolor-0.3.3") - (sha256 - (base16-string->bytevector - "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b24= 2c75")))) - ("rust-termion" - ,(origin - (method url-fetch) - (uri (crate-uri "termion" "1.5.1")) - (file-name "rust-termion-1.5.1") - (sha256 - (base16-string->bytevector - "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e9= 2096")))) - ("rust-thread-id" - ,(origin - (method url-fetch) - (uri (crate-uri "thread-id" "2.0.0")) - (file-name "rust-thread-id-2.0.0") - (sha256 - (base16-string->bytevector - "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0= ff03")))) - ("rust-thread_local" - ,(origin - (method url-fetch) - (uri (crate-uri "thread_local" "0.2.7")) - (file-name "rust-thread_local-0.2.7") - (sha256 - (base16-string->bytevector - "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18c= fdd5")))) - ("rust-thread_local-0.3.4" - ,(origin - (method url-fetch) - (uri (crate-uri "thread_local" "0.3.4")) - (file-name "rust-thread_local-0.3.4") - (sha256 - (base16-string->bytevector - "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90= bb14")))) - ("rust-toml" - ,(origin - (method url-fetch) - (uri (crate-uri "toml" "0.4.5")) - (file-name "rust-toml-0.4.5") - (sha256 - (base16-string->bytevector - "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b= 6e7e")))) - ("rust-unicode-bidi" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-bidi" "0.3.4")) - (file-name "rust-unicode-bidi-0.3.4") - (sha256 - (base16-string->bytevector - "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea= 54d5")))) - ("rust-unicode-normalization" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-normalization" "0.1.5")) - (file-name "rust-unicode-normalization-0.1.5") - (sha256 - (base16-string->bytevector - "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625= 920f")))) - ("rust-unicode-xid" - ,(origin - (method url-fetch) - (uri (crate-uri "unicode-xid" "0.0.4")) - (file-name "rust-unicode-xid-0.0.4") - (sha256 - (base16-string->bytevector - "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074c= b4dc")))) - ("rust-unreachable" - ,(origin - (method url-fetch) - (uri (crate-uri "unreachable" "1.0.0")) - (file-name "rust-unreachable-1.0.0") - (sha256 - (base16-string->bytevector - "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814= fa56")))) - ("rust-url" - ,(origin - (method url-fetch) - (uri (crate-uri "url" "1.5.1")) - (file-name "rust-url-1.5.1") - (sha256 - (base16-string->bytevector - "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72a4= fe27")))) - ("rust-userenv-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "userenv-sys" "0.2.0")) - (file-name "rust-userenv-sys-0.2.0") - (sha256 - (base16-string->bytevector - "71d28ea36bbd9192d75bd9fa9b39f96ddb986eaee824adae5d53b6e51919= b2f3")))) - ("rust-utf8-ranges" - ,(origin - (method url-fetch) - (uri (crate-uri "utf8-ranges" "0.1.3")) - (file-name "rust-utf8-ranges-0.1.3") - (sha256 - (base16-string->bytevector - "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830= ae0f")))) - ("rust-utf8-ranges-1.0.0" - ,(origin - (method url-fetch) - (uri (crate-uri "utf8-ranges" "1.0.0")) - (file-name "rust-utf8-ranges-1.0.0") - (sha256 - (base16-string->bytevector - "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e5512= 4122")))) - ("rust-vcpkg" - ,(origin - (method url-fetch) - (uri (crate-uri "vcpkg" "0.2.2")) - (file-name "rust-vcpkg-0.2.2") - (sha256 - (base16-string->bytevector - "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd548= 7d0b")))) - ("rust-void" - ,(origin - (method url-fetch) - (uri (crate-uri "void" "1.0.2")) - (file-name "rust-void-1.0.2") - (sha256 - (base16-string->bytevector - "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770= 887d")))) - ("rust-walkdir" - ,(origin - (method url-fetch) - (uri (crate-uri "walkdir" "1.0.7")) - (file-name "rust-walkdir-1.0.7") - (sha256 - (base16-string->bytevector - "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd2= 88ff")))) - ("rust-winapi" - ,(origin - (method url-fetch) - (uri (crate-uri "winapi" "0.2.8")) - (file-name "rust-winapi-0.2.8") - (sha256 - (base16-string->bytevector - "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909= 087a")))) - ("rust-winapi-build" - ,(origin - (method url-fetch) - (uri (crate-uri "winapi-build" "0.1.1")) - (file-name "rust-winapi-build-0.1.1") - (sha256 - (base16-string->bytevector - "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc6= 99bc")))) - ("rust-wincolor" - ,(origin - (method url-fetch) - (uri (crate-uri "wincolor" "0.1.4")) - (file-name "rust-wincolor-0.1.4") - (sha256 - (base16-string->bytevector - "a39ee4464208f6430992ff20154216ab2357772ac871d994c51628d60e58= b8b0")))) - ("rust-ws2_32-sys" - ,(origin - (method url-fetch) - (uri (crate-uri "ws2_32-sys" "0.2.1")) - (file-name "rust-ws2_32-sys-0.2.1") - (sha256 - (base16-string->bytevector - "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63= fa5e")))))) - (arguments - `(#:cargo ,cargo-bootstrap - #:rustc ,rustc ; Force to use rustc from current file - #:modules - ((ice-9 match) - (srfi srfi-1) ; 'every - (guix build utils) - (guix build cargo-build-system)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-dependencies - (lambda* (#:key inputs outputs #:allow-other-keys) - (define (unpack source target) - (mkdir-p target) - (with-directory-excursion target - (zero? (system* "tar" "xf" - source - "--strip-components=3D1")))) - (define (touch file-name) - (call-with-output-file file-name (const #t))) - (define (install-rust-library entry) - (match entry - ((name . src) - (if (string-prefix? "rust-" name) - (let* ((rust-length (string-length "rust-")) - (rust-name (string-drop name rust-length)) - (rsrc (string-append "vendor/" rust-name)) - (unpack-status (unpack src rsrc))) - (touch (string-append rsrc "/.cargo-ok")) - (generate-checksums rsrc src) - unpack-status))) - (_ #t))) - (mkdir "vendor") - (every install-rust-library inputs))) - (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Cargo.lock" - (("(\"checksum .* =3D )\".*\"" all name) - (string-append name "\"" ,%cargo-reference-hash "\""))) - (for-each - (lambda (filename) - (use-modules (guix build cargo-build-system)) - (delete-file filename) - (let* ((dir (dirname filename))) - (display (string-append - "patch-cargo-checksums: generate-checksums for= " - dir "\n")) - (generate-checksums dir ,%cargo-reference-project-file))) - (find-files "vendor" ".cargo-checksum.json")) - #t)) - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "tests/build.rs" - (("/usr/bin/env") (which "env")) - ;; Guix llvm compiled without asmjs-unknown-emscripten at a= ll - (("fn wasm32_final_outputs") "#[ignore]\nfn wasm32_final_ou= tputs")) - (substitute* "tests/death.rs" - ;; Stuck when built in container - (("fn ctrl_c_kills_everyone") "#[ignore]\nfn ctrl_c_kills_e= veryone")) - (mkdir ".cargo") - (call-with-output-file ".cargo/config" - (lambda (port) - (display " -[source.crates-io] -registry =3D 'https://github.com/rust-lang/crates.io-index' -replace-with =3D 'vendored-sources' - -[source.vendored-sources] -directory =3D 'vendor' -" port))) - ;; 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/gc= c")) - #t))))) - (home-page "https://github.com/rust-lang/cargo") - (synopsis "Build tool and package manager for Rust") - (description "Cargo is a tool that allows Rust projects to declare the= ir -dependencies and ensures a reproducible build.") - ;; Cargo is dual licensed Apache and MIT. Also contains - ;; code from openssl which is GPL2 with linking exception. - (license (list license:asl2.0 license:expat license:gpl2)))) +(define-public rust + (let ((base-rust rust-1.23)) + (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)))))))) diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm index c637fbb16..4a1eb0cfa 100644 --- a/guix/build-system/cargo.scm +++ b/guix/build-system/cargo.scm @@ -43,17 +43,11 @@ to NAME and VERSION." (string-append crate-url name "/" version "/download")) =20 -(define (default-cargo) - "Return the default Cargo package." +(define (default-rust) + "Return the default Rust package." ;; Lazily resolve the binding to avoid a circular dependency. (let ((rust (resolve-interface '(gnu packages rust)))) - (module-ref rust 'cargo))) - -(define (default-rustc) - "Return the default Rustc package." - ;; Lazily resolve the binding to avoid a circular dependency. - (let ((rust (resolve-interface '(gnu packages rust)))) - (module-ref rust 'rustc))) + (module-ref rust 'rust))) =20 (define %cargo-build-system-modules ;; Build-side modules imported by default. @@ -115,14 +109,13 @@ to NAME and VERSION." =20 (define* (lower name #:key source inputs native-inputs outputs system target - (cargo (default-cargo)) - (rustc (default-rustc)) + (rust (default-rust)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." =20 (define private-keywords - '(#:source #:target #:cargo #:rustc #:inputs #:native-inputs #:outputs= )) + '(#:source #:target #:rust #:inputs #:native-inputs #:outputs)) =20 (and (not target) ;; TODO: support cross-compilation (bag @@ -136,8 +129,8 @@ to NAME and VERSION." =20 ;; Keep the standard inputs of 'gnu-build-system' ,@(standard-packages))) - (build-inputs `(("cargo" ,cargo) - ("rustc" ,rustc) + (build-inputs `(("cargo" ,rust "cargo") + ("rustc" ,rust) ,@native-inputs)) (outputs outputs) (build cargo-build) --=20 2.16.2 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 27 09:03:09 2018 Received: (at 30831) by debbugs.gnu.org; 27 Mar 2018 13:03:09 +0000 Received: from localhost ([127.0.0.1]:55302 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0oFp-0005lR-0F for submit@debbugs.gnu.org; Tue, 27 Mar 2018 09:03:09 -0400 Received: from mail-lf0-f43.google.com ([209.85.215.43]:33985) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0oFn-0005kz-6W for 30831@debbugs.gnu.org; Tue, 27 Mar 2018 09:03:07 -0400 Received: by mail-lf0-f43.google.com with SMTP id c78-v6so28525710lfh.1 for <30831@debbugs.gnu.org>; Tue, 27 Mar 2018 06:03:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=nha4BfJFuXA4w27SA4KViPCFmDX/JEzCEAEewFEriLc=; b=K1uo5fYj3m3LfZnxtlCTsX+E1g4PmrZ1+aRvZb9W+6JE4HUjmftw8JV2EZJR1v5o/V YsUOqwu3GJdqy7ug8OrMSjEyeCMOdNhahnEEnawAKyMsVCl9ydP2PS2rYk159Ie+19pX s6jT+72WhWRzGOLpyPAXD0ucRxHs8Uawe6IpUyoNDJYXcAh873AaF84+6nuNAMok56EO HVDZiYKAjMlByX7HiYGiuzAE7XfRLGUQsCfRbQkfS5wjgUqV7xsqxuNwr3MO2HFXmHAv U/QkNA9ETp//WE1G4jI8aSsjQhqZV5AXX+PIYfcO/6MFSkIitXFF2n1Z3QRZUjUNtSlT BMjA== X-Gm-Message-State: AElRT7FIvtoJVMORcLXWvcY1XHtyHu8NVciQpU5Sf0YKbpG8aEKS2T4n v7zSNRiBNfEsqgFPhLGyQqsV7Q== X-Google-Smtp-Source: AG47ELsNDolMxN6XNW6tluDrZzQuokDYQpUHpNYExyStlMeVtdQc1j3tWXHXcmKmbG6t3cQTsv/EwQ== X-Received: by 10.46.5.200 with SMTP id 191mr22084710ljf.30.1522155780937; Tue, 27 Mar 2018 06:03:00 -0700 (PDT) Received: from libremnd (97.9-157-90.telenet.ru. [90.157.9.97]) by smtp.gmail.com with ESMTPSA id d24sm217795ljc.24.2018.03.27.06.02.59 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 27 Mar 2018 06:03:00 -0700 (PDT) From: Nikolai Merinov To: Danny Milosavljevic Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 References: <874llhdocu.fsf@member.fsf.org> <20180318195811.70c2b820@scratchpost.org> <87a7v12qw9.fsf@member.fsf.org> <20180324172601.070cb69d@scratchpost.org> Date: Tue, 27 Mar 2018 18:02:58 +0500 In-Reply-To: <20180324172601.070cb69d@scratchpost.org> (Danny Milosavljevic's message of "Sat, 24 Mar 2018 17:26:01 +0100") Message-ID: <87vadhhdrx.fsf@member.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 30831 Cc: 30831@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) Hi Danny, I checked last version of my patch over d591989b42088a358f33d6cf68f12efc2ad4403c (master as on March 24) and looks that build is reproducable. It will be helpful if you'll be able to check this patch also: https://debbugs.gnu.org/cgi/bugreport.cgi?att=1;msg=38;bug=30831;filename=0001-gnu-rust-Update-rust-to-1.24.1-froze-bootstrap-on-1..patch Regards, Nikolai Danny Milosavljevic writes: > Hi Nikolai, > > On Thu, 22 Mar 2018 00:02:46 +0500 > Nikolai Merinov wrote: > >> I checked several times with "guix build --no-grafts --rounds=2 rust@1.24.1" >> with "guix gc" between tries, but it worked correctly. I tried on x86-64 >> architecture with my patch over 79f450a120068ac1d2fc4e5b4b33ae938b604f95 >> guix commit. > > Weird, works fine for me with 79f450a120068ac1d2fc4e5b4b33ae938b604f95. > > But with the current master, 2cac8891510533338f6214fbd5ab9c2f6204e856, it fails > as describes (I tried again, fails). From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 27 09:10:03 2018 Received: (at 30831) by debbugs.gnu.org; 27 Mar 2018 13:10:04 +0000 Received: from localhost ([127.0.0.1]:55314 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0oMV-0005vH-JI for submit@debbugs.gnu.org; Tue, 27 Mar 2018 09:10:03 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:40770) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0oMT-0005um-HH for 30831@debbugs.gnu.org; Tue, 27 Mar 2018 09:10:02 -0400 Received: from localhost (77.118.203.193.wireless.dyn.drei.com [77.118.203.193]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 6E92D3360360; Tue, 27 Mar 2018 15:09:59 +0200 (CEST) Date: Tue, 27 Mar 2018 15:09:51 +0200 From: Danny Milosavljevic To: ludo@gnu.org (Ludovic =?ISO-8859-1?Q?Court=E8s?=) Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 Message-ID: <20180327150951.27a56cef@scratchpost.org> In-Reply-To: <87in9iynhq.fsf@gnu.org> References: <874llhdocu.fsf@member.fsf.org> <87bmfmmm78.fsf@gnu.org> <87h8pcckv4.fsf@member.fsf.org> <87efkgvxt1.fsf@gnu.org> <87o9jjc8xg.fsf@elephly.net> <87y3ij25bf.fsf@member.fsf.org> <87in9iynhq.fsf@gnu.org> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/CwfwC.Kp0SWI37nUCZJQycj"; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 30831 Cc: Nikolai Merinov , Ricardo Wurmus , 30831@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --Sig_/CwfwC.Kp0SWI37nUCZJQycj Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > Would it be an option to stick to 1.21? Or is it already too difficult? > (Apologies if this was already answered previously.) I=E2=80=99m asking = because > I wonder how big the temptation will be to upgrade =E2=80=98rust-bootstra= p=E2=80=99 > again next time. Note: I hope that mrust (A Rust compiler written in C++) is released soon so we won't have these bootstrap binaries any longer. --Sig_/CwfwC.Kp0SWI37nUCZJQycj Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlq6Qp8ACgkQ5xo1VCww uqW+fQf/YIUVpPDckNglp00777L8FaY4UQ/qQAoR6DJUr9SOkLzMl828h2t6JX+M w9IKf3PbttS8KNjf3QqczTeN0E3a1ldWCBu6ZDhSbZpxlkYlnzfmYqztiUV4rX0X MFSl/8upmGHdX7lnH06hxUTd+qglZd+MdNCrax8nXnggVru8HuPbaiy85o3LvD3e sA/KlJTZW8/gGxQkWz5D1odlP+CP5a23JfjRiJQXuvje/zpTJYF+v99w+zfOuTLr 9s/E6IAg1a+/AyVrGycbdFE++gjUc9Zbf4hHrYs5veaNp2t3w60N1De62/Nhv9R9 jS5+bBB+pZF7JlLoL3d2l5aDs5g0cg== =Tn8B -----END PGP SIGNATURE----- --Sig_/CwfwC.Kp0SWI37nUCZJQycj-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 27 09:19:48 2018 Received: (at 30831) by debbugs.gnu.org; 27 Mar 2018 13:19:48 +0000 Received: from localhost ([127.0.0.1]:55322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0oVw-00068o-I1 for submit@debbugs.gnu.org; Tue, 27 Mar 2018 09:19:48 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:41994) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0oVu-00068g-CQ for 30831@debbugs.gnu.org; Tue, 27 Mar 2018 09:19:46 -0400 Received: from localhost (77.118.203.193.wireless.dyn.drei.com [77.118.203.193]) by dd26836.kasserver.com (Postfix) with ESMTPSA id F20D93360AC8; Tue, 27 Mar 2018 15:19:44 +0200 (CEST) Date: Tue, 27 Mar 2018 15:19:42 +0200 From: Danny Milosavljevic To: Nikolai Merinov Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 Message-ID: <20180327151942.1458e82c@scratchpost.org> In-Reply-To: <87zi2the25.fsf@member.fsf.org> References: <874llhdocu.fsf@member.fsf.org> <87bmfmmm78.fsf@gnu.org> <87h8pcckv4.fsf@member.fsf.org> <87efkgvxt1.fsf@gnu.org> <87o9jjc8xg.fsf@elephly.net> <87y3ij25bf.fsf@member.fsf.org> <87in9iynhq.fsf@gnu.org> <87zi2the25.fsf@member.fsf.org> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/rsfc9yfJEYkeE74Nv5I6oyJ"; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 30831 Cc: Ricardo Wurmus , 30831@debbugs.gnu.org, Ludovic =?ISO-8859-1?Q?Court=E8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --Sig_/rsfc9yfJEYkeE74Nv5I6oyJ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi Nikolai, I think the incremental (first) version is the best one since you can see which bugs are worked around by us and which are fixed per release at a gla= nce. But really it doesn't matter much which. > Second solution looks too verbose for me, but with first solution on > long chain of versions it will be very hard to manage which changes we > have in newest package. I hope we won't have a long chain of cumulative Rust versions in Guix. I k= now that Rust upstream likes to do this chain of Rust1 -> Rust2 -> Rust3 -> Rus= t4 but that's not really scalable - especially since even one Rust takes a day to compile. We should try to get mrust [1] to work and use it to compile j= ust the newest Rust. If it doesn't work we can still fall back to one of the other ways later. (What Mozilla recommends is we compile Rust1, use Rust2 to compile Rust3, u= se Rust3 to compile Rust4, likewise for each new release) [1] https://github.com/thepowersgang/mrustc --Sig_/rsfc9yfJEYkeE74Nv5I6oyJ Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlq6RO4ACgkQ5xo1VCww uqVCfAf9FqgJxnJQF6QOHw85G7kwDVFXnMhg1CiUgYRe1O5PNcMjCt649kBsuqM0 cV77yVX1TLd2I77PAAxMWpLGtddQQuRZBsmatGitECqExX0kMIdMJWHClGWIhq6P wIuCZISh/Vm4U+HG3hGvE0/9ovTh5B40cQwG+2pAS4Gpu++PqqA0V+YxwOAcWoJe O0il4nM/cv8ufipbkp11orWQGHZkkxAIDdgHKo/RR/SIsG5h7DrdM8Fdym5/vocJ jL5h0/5mpbhXY3Nb7xxJnMoUo6J6h5JzYQeIPE6mkkgNrk3aWwzGMeEj5vczHzqA vmsAkez/1hY0RTKVESPqJSNVFOmrqw== =irAV -----END PGP SIGNATURE----- --Sig_/rsfc9yfJEYkeE74Nv5I6oyJ-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 27 14:08:05 2018 Received: (at 30831) by debbugs.gnu.org; 27 Mar 2018 18:08:06 +0000 Received: from localhost ([127.0.0.1]:56210 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0t0v-0006Wj-Mq for submit@debbugs.gnu.org; Tue, 27 Mar 2018 14:08:05 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:54653) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0t0u-0006Wb-9e for 30831@debbugs.gnu.org; Tue, 27 Mar 2018 14:08:04 -0400 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id C6CBB20EC6; Tue, 27 Mar 2018 14:08:03 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Tue, 27 Mar 2018 14:08:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= cc:content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=yvqkNXfgC0tvnRLN0It+42MQ/K/VXM780bwgAboHUAQ=; b=NZm1Umoj E0W1Ne97plmFY1xAkHObcN/bucO/4N1/CGNjTza+bvUXMDwg07DEIuFW3rLvs4CY 3cj8F6qnmGRPv/DOeIzWtsFMISqhcNAOJlGbyT3llZjgFnjKecVxxzGgFF8is6Pr qeNI92CgKOKcK/x7hslU3CRvNUqLRSYrx2wgB1v+y/q9AyQ9GcnOctkfvI9/gjk5 Qkg800yoyeHmQrBK0oDW59vAwgrMlp8FWFmfq56DeklWPUQ7aJ+m4iyeABRSbwb3 xaVAHgasfUss18ftLjDRy6gEmupFeS7265qL9hg8cKCAdijinB0Zov/Q0tFYiM5w gol8efPrWJLUIw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; bh=yvqkNXfgC0tvnRLN0It+42MQ/K/VX M780bwgAboHUAQ=; b=GybLk/xPh8IH3cplw06+BCmQsIf38nW1lnkkSMfPDR2uo 8Tu4E8cm2EfjKbPYIxIviy/jzq02Y0aajWy8vR5418Lyp/2I0l/FNrCdHkza+EZW Y82i3e2O72Z5lxREwe+SwnjTMXTcC+kslHrjSfBN01GEAPXhEu8iFm7p4DvjCRrs RMZ2nLBQT583sWwY6aQd9OpEHr38VicLXhHAXw9VUMh+Pjaov9f0AqAOMT1dtdYl pZwNfji6s7AkOO1s4t/ilWmVVXF7Dd02NujofuVIlJKRWiB/R04YD1ofGToJUAcq L16sXXZqUDUc2dQfviXSJ7/0+Gsf/+RMh9aXHY9fQ== X-ME-Sender: Received: from localhost (ti0089a400-2222.bb.online.no [88.89.166.190]) by mail.messagingengine.com (Postfix) with ESMTPA id 32D9E10253; Tue, 27 Mar 2018 14:08:03 -0400 (EDT) From: Marius Bakke To: Danny Milosavljevic , Nikolai Merinov Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 In-Reply-To: <20180327151942.1458e82c@scratchpost.org> References: <874llhdocu.fsf@member.fsf.org> <87bmfmmm78.fsf@gnu.org> <87h8pcckv4.fsf@member.fsf.org> <87efkgvxt1.fsf@gnu.org> <87o9jjc8xg.fsf@elephly.net> <87y3ij25bf.fsf@member.fsf.org> <87in9iynhq.fsf@gnu.org> <87zi2the25.fsf@member.fsf.org> <20180327151942.1458e82c@scratchpost.org> User-Agent: Notmuch/0.26 (https://notmuchmail.org) Emacs/25.3.1 (x86_64-pc-linux-gnu) Date: Tue, 27 Mar 2018 20:08:01 +0200 Message-ID: <87h8p1gzni.fsf@fastmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 30831 Cc: Ricardo Wurmus , 30831@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Danny Milosavljevic writes: > Hi Nikolai, > > I think the incremental (first) version is the best one since you can see > which bugs are worked around by us and which are fixed per release at a glance. > > But really it doesn't matter much which. > >> Second solution looks too verbose for me, but with first solution on >> long chain of versions it will be very hard to manage which changes we >> have in newest package. > > I hope we won't have a long chain of cumulative Rust versions in Guix. I know > that Rust upstream likes to do this chain of Rust1 -> Rust2 -> Rust3 -> Rust4 > but that's not really scalable - especially since even one Rust takes a day > to compile. We should try to get mrust [1] to work and use it to compile just > the newest Rust. If it doesn't work we can still fall back to one of the > other ways later. > > (What Mozilla recommends is we compile Rust1, use Rust2 to compile Rust3, use > Rust3 to compile Rust4, likewise for each new release) I think we should heed upstreams advice in that case. A long bootstrap chain is really only a problem during 'core-updates', no? IIUC mrustc only targets x86_64 currently, so I don't expect it to become viable for Guix in a good while. > [1] https://github.com/thepowersgang/mrustc --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAlq6iIEACgkQoqBt8qM6 VPoutggAsBdPlVz5Dhu03PmZapdPp/qjLP7WAn2pf96OgcKJrxCZC+u605mNjM6j aIO2sp/nY5rtlmcHxCrYuLyDNVdRg4zlrmbOedsnMX+IGLfTSzG5oNhAR9o2xVhc 3HSekMrbrzF0X9LRQelwz/2AnEQuITzn7zb1xqEZLaa/RksyovEBiGvz64yoRn+p Fwf8maAf5Ukcbo98RcfDhY/6rB3Qbxar2DISSwcTIiEfT9RNlbR6Sq13bi09li3N SQIB5IWkUI382+Q4SLa2UauvhxOfIMKOSHBcLjg6FMeL8el2+X5vihPwODyf9uEV 2KEGHGFHBsrbTFo2YBF4CtVvr88C5A== =YLqZ -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 27 15:56:58 2018 Received: (at 30831) by debbugs.gnu.org; 27 Mar 2018 19:56:58 +0000 Received: from localhost ([127.0.0.1]:56271 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0uiG-0000jO-AQ for submit@debbugs.gnu.org; Tue, 27 Mar 2018 15:56:56 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21115) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0uiE-0000jF-8G for 30831@debbugs.gnu.org; Tue, 27 Mar 2018 15:56:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1522180576; s=zoho; d=elephly.net; i=rekado@elephly.net; h=References:From:To:Cc:Subject:In-reply-to:Date:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; l=907; bh=/0zDZZXE236iK466QaWqXvBVQbixBDsPRwGCYGfeb/E=; b=ITAL8O/ZudLpQ/zRqRvgNp2dDec26JMUgRO+wupYU3GZDdb/YjSLGECaOnb3KhQj vDcDAs7tqdekPjF5N9u/Yatx4yHu4uB5ZTUNT53B0VB0GHClwQs1YZtS42Fp/0PQHbJ Mp3tXBK6zasfFTMEwLZWC+ifWMTWNO3qJn8ed9Co= Received: from localhost (port-92-200-31-51.dynamic.qsc.de [92.200.31.51]) by mx.zohomail.com with SMTPS id 1522180576164496.08074420992557; Tue, 27 Mar 2018 12:56:16 -0700 (PDT) References: <874llhdocu.fsf@member.fsf.org> <87bmfmmm78.fsf@gnu.org> <87h8pcckv4.fsf@member.fsf.org> <87efkgvxt1.fsf@gnu.org> <87o9jjc8xg.fsf@elephly.net> <87y3ij25bf.fsf@member.fsf.org> <87in9iynhq.fsf@gnu.org> <87zi2the25.fsf@member.fsf.org> <20180327151942.1458e82c@scratchpost.org> <87h8p1gzni.fsf@fastmail.com> User-agent: mu4e 1.0; emacs 25.3.1 From: Ricardo Wurmus To: Marius Bakke Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 In-reply-to: <87h8p1gzni.fsf@fastmail.com> X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC Date: Tue, 27 Mar 2018 21:56:12 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID: <87k1txfg2r.fsf@elephly.net> X-ZohoMailClient: External X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30831 Cc: Nikolai Merinov , Danny Milosavljevic , 30831@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Marius Bakke writes: >> (What Mozilla recommends is we compile Rust1, use Rust2 to compile Rust3= , use >> Rust3 to compile Rust4, likewise for each new release) > > I think we should heed upstreams advice in that case. A long bootstrap > chain is really only a problem during 'core-updates', no? It=E2=80=99s a problem for people building from source and it makes for a brittle bootstrap because any of the packages could break. Having a long bootstrap chain to debug on core-updates is no fun =E2=80=94 I=E2=80= =99m saying this as someone who has just fixed problems in the relatively simple bootstrap chain for Java. > IIUC mrustc only targets x86_64 currently, so I don't expect it to > become viable for Guix in a good while. This is a problem, but I do hope that eventually we will be able to use mrust to bypass an ever-growing chain. -- Ricardo From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 30 09:48:24 2018 Received: (at 30831-done) by debbugs.gnu.org; 30 Mar 2018 13:48:25 +0000 Received: from localhost ([127.0.0.1]:59571 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f1uOG-0005vI-MK for submit@debbugs.gnu.org; Fri, 30 Mar 2018 09:48:24 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:50842) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f1uOB-0005v4-G3 for 30831-done@debbugs.gnu.org; Fri, 30 Mar 2018 09:48:19 -0400 Received: from localhost (77.118.172.128.wireless.dyn.drei.com [77.118.172.128]) by dd26836.kasserver.com (Postfix) with ESMTPSA id BA7143360B67; Fri, 30 Mar 2018 15:48:17 +0200 (CEST) Date: Fri, 30 Mar 2018 15:48:11 +0200 From: Danny Milosavljevic To: Nikolai Merinov Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 Message-ID: <20180330154811.491eea49@scratchpost.org> In-Reply-To: <87vadhhdrx.fsf@member.fsf.org> References: <874llhdocu.fsf@member.fsf.org> <20180318195811.70c2b820@scratchpost.org> <87a7v12qw9.fsf@member.fsf.org> <20180324172601.070cb69d@scratchpost.org> <87vadhhdrx.fsf@member.fsf.org> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/L3D7Qu8d40Boy93G5ml8S9="; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 30831-done Cc: 30831-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --Sig_/L3D7Qu8d40Boy93G5ml8S9= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi Nikolai, On Tue, 27 Mar 2018 18:02:58 +0500 Nikolai Merinov wrote: > I checked last version of my patch over > d591989b42088a358f33d6cf68f12efc2ad4403c (master as on March 24) and > looks that build is reproducable. It will be helpful if you'll be able > to check this patch also: > https://debbugs.gnu.org/cgi/bugreport.cgi?att=3D1;msg=3D38;bug=3D30831;fi= lename=3D0001-gnu-rust-Update-rust-to-1.24.1-froze-bootstrap-on-1..patch=20 I did now - it works for me and is reproducible. I've thus fixed up the commit message a little and pushed this patch to mas= ter. Thanks! --Sig_/L3D7Qu8d40Boy93G5ml8S9= Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlq+QBsACgkQ5xo1VCww uqU94Qf+LbsgT3GxOJhVbPuJkeMEQ8TrgSoLA/ID0SIw/0clpAY952oWfH+o1m00 ZXki+FUkOtuA++hHheLJ6z/RMHXCZ/QDT5XLikfPfzenu918U6uCpAHUYx00pYN5 mvRu+wvkC43YAss/d7UlZxKSaCDaqH1oJQjCFkiXvVo0mP3USf/U9PI3smiwStsH kx9uGDeC3x9rkYEHvtuJCXophiAWcRKXtR9JZPU1qU/cCreIsKz6OnHIqH9D2s9+ qCiOBy52v2hc/5H/f53IB7+BKUuHba3meaEcEkIJywU2m//UH2kE2mTl4GG4VzBh phmQ4ndKkyQcM1V2EqHD6BW5iwejSA== =JH+D -----END PGP SIGNATURE----- --Sig_/L3D7Qu8d40Boy93G5ml8S9=-- From unknown Mon Sep 08 22:57:42 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: Did not alter fixed versions and reopened. Date: Fri, 30 Mar 2018 18:30:02 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # Did not alter fixed versions and reopened. thanks # This fakemail brought to you by your local debbugs # administrator From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 30 19:51:09 2018 Received: (at 30831) by debbugs.gnu.org; 30 Mar 2018 23:51:09 +0000 Received: from localhost ([127.0.0.1]:60534 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f23nZ-0006vp-5l for submit@debbugs.gnu.org; Fri, 30 Mar 2018 19:51:09 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:42108) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f23nX-0006vh-Vx for 30831@debbugs.gnu.org; Fri, 30 Mar 2018 19:51:08 -0400 Received: from localhost (77.118.172.128.wireless.dyn.drei.com [77.118.172.128]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 4E36D3360452; Sat, 31 Mar 2018 01:51:05 +0200 (CEST) Date: Sat, 31 Mar 2018 01:51:01 +0200 From: Danny Milosavljevic To: Marius Bakke Subject: Re: [bug#30831] [PATCH] gnu: rust: Update rust from 1.22.1 release to 1.24.1 Message-ID: <20180331015101.1a5b113b@scratchpost.org> In-Reply-To: <87h8p1gzni.fsf@fastmail.com> References: <874llhdocu.fsf@member.fsf.org> <87bmfmmm78.fsf@gnu.org> <87h8pcckv4.fsf@member.fsf.org> <87efkgvxt1.fsf@gnu.org> <87o9jjc8xg.fsf@elephly.net> <87y3ij25bf.fsf@member.fsf.org> <87in9iynhq.fsf@gnu.org> <87zi2the25.fsf@member.fsf.org> <20180327151942.1458e82c@scratchpost.org> <87h8p1gzni.fsf@fastmail.com> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/coRX6n6w4U7PB5SyH6N0REr"; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 30831 Cc: Nikolai Merinov , Ricardo Wurmus , 30831@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --Sig_/coRX6n6w4U7PB5SyH6N0REr Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi Marius, On Tue, 27 Mar 2018 20:08:01 +0200 Marius Bakke wrote: > IIUC mrustc only targets x86_64 currently, so I don't expect it to > become viable for Guix in a good while. I've checked the source code and it seems there's support for ARM in the wo= rks. There's an old issue report at . I've commented there - let's see. --Sig_/coRX6n6w4U7PB5SyH6N0REr Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlq+zWUACgkQ5xo1VCww uqW3Wgf9EKPYfbyWjH2zwpzJvD5YgiryuiWkXsr9DPvVFyVPNb7cg3gqEVZ+KcVv n1I/zn3tZYpqnfJpi7L1TA5WOzsu6PQWo4w+LAteYNDCxUlrQeKCs2rtyiXGCy7J V6bMY5tpjXuhSB9ITQxIbbQWWQ6Pl9pmCj81CyVbffKw3/uVRjxMLPbOPnbezwrM F7K6z/FCBt7zk/Uf3pis1fzbV17Gdntqk4g6G1qxG9gDmLKMzI4x3VEp2Wwd9/be W+rud+1SxKZndTlG5yAd9qYInq+gJ394JgHZJMvtVOc+gpiaLbTf1V+PYJrkFSky KU3qzVlYZ1mQjrUevfs60L27ESW6Vg== =uWGw -----END PGP SIGNATURE----- --Sig_/coRX6n6w4U7PB5SyH6N0REr-- From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 10 16:13:55 2019 Received: (at control) by debbugs.gnu.org; 10 Feb 2019 21:13:55 +0000 Received: from localhost ([127.0.0.1]:42862 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gswQE-0003pH-NY for submit@debbugs.gnu.org; Sun, 10 Feb 2019 16:13:54 -0500 Received: from dd26836.kasserver.com ([85.13.145.193]:51684) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gswQD-0003p9-NY for control@debbugs.gnu.org; Sun, 10 Feb 2019 16:13:54 -0500 Received: from localhost (178.113.144.125.wireless.dyn.drei.com [178.113.144.125]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 94EAF33602DD for ; Sun, 10 Feb 2019 22:13:52 +0100 (CET) Date: Sun, 10 Feb 2019 22:13:49 +0100 From: Danny Milosavljevic To: Message-ID: <20190210221349.526d9aff@scratchpost.org> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/MxW63Z6kPSgsFyQAE1sjaVC"; protocol="application/pgp-signature" X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: close 30831 Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [85.13.145.193 listed in list.dnswl.org] 1.8 MISSING_SUBJECT Missing Subject: header 0.2 NO_SUBJECT Extra score for no subject 0.0 TVD_SPACE_RATIO No description available. X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) --Sig_/MxW63Z6kPSgsFyQAE1sjaVC Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable close 30831 --Sig_/MxW63Z6kPSgsFyQAE1sjaVC Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlxglA0ACgkQ5xo1VCww uqW5GAgAkwMs2i9y4QegQfbvlTrjwNoHDDWJVrKPiltOc7lnX6UtGyDbzkPDWJ8s jyMOkL6325+zwnQPncLhzXxnyIc3npYI77x4GNw/f5busogAXkZdlx1ptuPe2EPM E1/UTQ1nX2qQDlGssMewvv6Dj0JmFZofKV+4XkddZ4fN4ACKA/T0z1FAqqnwIU3n LdVgsbfUpXa6Uktao9tsBI6XrzGKHOGn2bfi3odtSr7s5ndCkkaaVRRY2xxv4cdE UxHgvBCPEFK3rEZiKts4o8kOllc2Y4SOMuKbbNB5x9AP9tB/oI47/C7yIHzVQhjm aZeJhKd5t9IX2IQDa2A8LFOw787OMA== =yfv8 -----END PGP SIGNATURE----- --Sig_/MxW63Z6kPSgsFyQAE1sjaVC-- From unknown Mon Sep 08 22:57:42 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 11 Mar 2019 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator