From unknown Sat Jun 14 19:38:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#29555] [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 Resent-From: Nikolai Merinov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 04 Dec 2017 00:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 29555 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 29555@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.151234801531546 (code B ref -1); Mon, 04 Dec 2017 00:41:02 +0000 Received: (at submit) by debbugs.gnu.org; 4 Dec 2017 00:40:15 +0000 Received: from localhost ([127.0.0.1]:44013 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLenr-0008Cg-Uu for submit@debbugs.gnu.org; Sun, 03 Dec 2017 19:40:15 -0500 Received: from eggs.gnu.org ([208.118.235.92]:52271) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLZWP-0005jE-Re for submit@debbugs.gnu.org; Sun, 03 Dec 2017 14:01:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eLZWF-0004eL-2O for submit@debbugs.gnu.org; Sun, 03 Dec 2017 14:01:44 -0500 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, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:53886) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eLZWE-0004du-PX for submit@debbugs.gnu.org; Sun, 03 Dec 2017 14:01:39 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43124) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eLZW9-0008SW-4R for guix-patches@gnu.org; Sun, 03 Dec 2017 14:01:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eLZW3-0004XP-Ei for guix-patches@gnu.org; Sun, 03 Dec 2017 14:01:33 -0500 Received: from mail-lf0-f46.google.com ([209.85.215.46]:41528) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eLZW2-0004WK-JO for guix-patches@gnu.org; Sun, 03 Dec 2017 14:01:27 -0500 Received: by mail-lf0-f46.google.com with SMTP id f18so16755512lfg.8 for ; Sun, 03 Dec 2017 11:01:26 -0800 (PST) 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=imny/h7rDwi46NCiDv8l8gjOLaoPuqjkr4tZ2IXRqu4=; b=O+CP/PDE+M7bYTlRVwsfjaWMBGoIXFNyzK2FDyUcZWFYT/QgjQfCTNELIlYZDTwsv4 qTanQmS07MNKIb68UuxfN4Ccbz829Iwyz80YofaKhO5/wG5slhliH+hNffLmu6MW9FGR VH0YJZiQ9ZOJCK5iETPl11DWMMudP6G1Qvt3xwVJzm6AGoyHD2MVMk0e01L0vdL4a7Ct B0VGgt+D4ruK+0Bo0qKEU40SOHP40yMtQBRr0ZO8HTclaItRBuaP25D1Am96zdwdCZ/Y UpGT4vDbB+rdD5Wwe+6P5zBCSdvZwTzSRSlgNSL6wEUuzNQNMmESeeD+rPPnAYlwOsi7 ufXw== X-Gm-Message-State: AJaThX6BZPwZcTY2EsurTFUzqzG2Wo5G9/+vWqvgp8wDD34Rz1HOcLyw vLbJFz3/dwp4gQuGnSis702waA== X-Google-Smtp-Source: AGs4zMYU9LKfnHlGvTUoGBESQCRnn4YPbiSl7NDIuBJkDVKWiQdEdodRbCOkcZoSoiqjNzfNwRYzIg== X-Received: by 10.25.81.133 with SMTP id g5mr6367871lfl.77.1512327682400; Sun, 03 Dec 2017 11:01:22 -0800 (PST) Received: from libremnd (97.9-157-90.telenet.ru. [90.157.9.97]) by smtp.gmail.com with ESMTPSA id n5sm2405887lje.76.2017.12.03.11.01.20 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 03 Dec 2017 11:01:21 -0800 (PST) From: Nikolai Merinov Date: Mon, 04 Dec 2017 00:01:19 +0500 Message-ID: <87609nhc00.fsf@member.fsf.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" 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: 1.1 (+) 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: Update for a rustc and cargo packages. This update will also fix a build. From 936ebcccac4cff0cc598c4ec9adeb28ce5d5c149 Mon Sep 17 00:00:00 2001 From: Nikolay Merinov Date: Sun, 3 Dec 2017 19:55:24 +0500 Subject: [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 To: guix-patches@gnu.org [...] Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: x.py] 0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [208.118.235.92 listed in wl.mailspike.net] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (nikolay.d.merinov[at]gmail.com) -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders 0.1 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and EnvelopeFrom freemail headers are different X-Mailman-Approved-At: Sun, 03 Dec 2017 19:40:10 -0500 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: -3.9 (---) --=-=-= Content-Type: text/plain Update for a rustc and cargo packages. This update will also fix a build. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-rust-update-rust-to-1.22.1-and-cargo-to-1.23.0.patch Content-Transfer-Encoding: quoted-printable Content-Description: [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 >From 936ebcccac4cff0cc598c4ec9adeb28ce5d5c149 Mon Sep 17 00:00:00 2001 From: Nikolay Merinov Date: Sun, 3 Dec 2017 19:55:24 +0500 Subject: [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 To: guix-patches@gnu.org * gnu/packages/rust.scm (%rust-bootstrap-binaries-version): update version (%rust-bootstrap-binaries): use x86_64 rust bootstrap package for x86_64 bu= ild (%cargo-reference-project-file): Use specific file as "project" file when patching rust vendored sources (%cargo-reference-hash): sha256 sum for %cargo-reference-project-file (rustc-bootstrap): use bootstrap package with host architecture (cargo-bootstrap): use bootstrap package with host architecture (rustc): Add new test dependency, fix build issues, use "./x.py" script for build instead of "./configure" (cargo): Update dependencies, patch shebangs for vendored sources --- gnu/packages/rust.scm | 1184 +++++++++++++++++++++++++++++++++------------= ---- 1 file changed, 804 insertions(+), 380 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 583ea37c8..591648bec 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -3,6 +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 ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,7 @@ #:use-module (gnu packages elf) #:use-module (gnu packages flex) #:use-module (gnu packages gcc) + #:use-module (gnu packages gdb) #:use-module (gnu packages jemalloc) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) @@ -37,17 +39,19 @@ #:use-module (gnu packages ssh) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages) #:use-module (guix build-system cargo) #: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 (ice-9 match) #:use-module (srfi srfi-26)) =20 ;; Should be one less than the current released version. -(define %rust-bootstrap-binaries-version "1.15.0") +(define %rust-bootstrap-binaries-version "1.21.0") =20 (define %rust-bootstrap-binaries (origin @@ -55,10 +59,18 @@ (uri (string-append "https://static.rust-lang.org/dist/" "rust-" %rust-bootstrap-binaries-version - "-i686-unknown-linux-gnu.tar.gz")) + "-" %host-type ".tar.gz")) (sha256 (base32 - "0wmkfx8pxmkkw021mrq9s3xhra8f0daqdl6j56pxyn4w39i0rzrw")))) + (match %host-type + ("i686-unknown-linux-gnu" + "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") + ("x86_64-unknown-linux-gnu" + "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml")))))) + +(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 #\.) @@ -92,7 +104,6 @@ (arguments `(#:tests? #f #:strip-binaries? #f - #:system "i686-linux" #:phases (modify-phases %standard-phases (delete 'configure) @@ -103,8 +114,7 @@ (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 "i686-lin= ux"))) + (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" zlib "/lib:" libc "/lib:" gcc:lib "/lib")) (rustc (string-append out "/bin/rustc")) @@ -112,7 +122,7 @@ (system* "bash" "install.sh" (string-append "--prefix=3D" out) (string-append "--components=3Drustc," - "rust-std-i686-unknown-linux-gnu")) + "rust-std-" %host-type)) (for-each (lambda (file) (system* "patchelf" "--set-rpath" rpath file)) (cons* rustc rustdoc (find-files out "\\.so$"))) @@ -129,7 +139,7 @@ which can in turn be used to build the final Rust compi= ler.") (define cargo-bootstrap (package (name "cargo-bootstrap") - (version (cargo-version %rust-bootstrap-binaries-version)) + (version (cargo-version %rust-bootstrap-binaries-version 1)) (source %rust-bootstrap-binaries) (build-system gnu-build-system) (native-inputs @@ -139,7 +149,6 @@ which can in turn be used to build the final Rust compi= ler.") (arguments `(#:tests? #f #:strip-binaries? #f - #:system "i686-linux" #:phases (modify-phases %standard-phases (delete 'configure) @@ -149,8 +158,7 @@ which can in turn be used to build the final Rust compi= ler.") (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 "i686-lin= ux"))) + (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" libc "/lib:" gcc:lib "/lib")) (cargo (string-append out "/bin/cargo"))) @@ -196,11 +204,11 @@ manager, which is required to build itself.") (description "Meta package for a rust environment. Provides pre-compil= ed rustc-bootstrap and cargo-bootstrap packages.") (license license:asl2.0))) - + (define-public rustc (package (name "rustc") - (version (rustc-version %rust-bootstrap-binaries-version)) + (version (rustc-version %rust-bootstrap-binaries-version 1)) (source (origin (method url-fetch) (uri (string-append @@ -208,17 +216,18 @@ rustc-bootstrap and cargo-bootstrap packages.") "rustc-" version "-src.tar.gz")) (sha256 (base32 - "1d78jq7mc34n265by68amr9r4nzbiqrilfbwh7gx56ydn4gb6rpr")) - (modules '((guix build utils))) - (snippet - `(begin - (delete-file-recursively "src/llvm") - #t)))) + "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")) + (modules '((guix build utils))) + (snippet + `(begin + (delete-file-recursively "src/llvm") + #t)))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) ; For the tests ("cmake" ,cmake) ("flex" ,flex) ; For the tests + ("gdb" ,gdb) ; For the tests ("git" ,git) ("procps" ,procps) ; For the tests ("python-2" ,python-2) @@ -228,89 +237,125 @@ rustc-bootstrap and cargo-bootstrap packages.") `(("jemalloc" ,jemalloc) ("llvm" ,llvm-3.9.1))) (arguments - `(#:phases + `(#:imported-modules ,%cargo-build-system-modules ;for `generate-chec= ksums' + #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-configure - (lambda _ - (substitute* "configure" - (("/usr/bin/env") (which "env")) ; Detect target CPU correc= tly. - (("probe_need CFG_CURL curl") "") ; Avoid curl build depend= ency. - ;; Newer LLVM has a NVPTX (NVIDIA) backend which the Rust - ;; Makefiles don't know about, causing a linker failure - ;; if we don't intervene. - ;; Therefore, we add NVPTX here. - ;; See . - ;; For the next release, we will have to use rustbuild. - ;; Right now, rustbuild doesn't work yet. - (("-DLLVM_TARGETS_TO_BUILD=3D'") - "-DLLVM_TARGETS_TO_BUILD=3D'NVPTX;")) ; Make LLVM >=3D 3.8= .1 work. - (substitute* "src/tools/compiletest/src/util.rs" - (("(\"amd64\", \"x86_64\"),") "(\"amd64\", \"x86_64\"), -(\"nvptx\", \"nvptx\"),")) ; Make LLVM >=3D 3.8.1 work. - (substitute* "mk/main.mk" - (("LLVM_OPTIONAL_COMPONENTS=3D") - "LLVM_OPTIONAL_COMPONENTS=3Dnvptx ")) ; Make LLVM >=3D 3.8= .1 work. - #t)) (add-after 'unpack 'set-env (lambda _ (setenv "SHELL" (which "sh")) (setenv "CONFIG_SHELL" (which "sh")) + ;; guix llvm-3.9.1 package install only shared libraries + (setenv "LLVM_LINK_SHARED" "1") #t)) (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) - (substitute* "src/tools/tidy/src/main.rs" - (("^.*cargo.*::check.*$") "")) + (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 ;; fail otherwise. - (("\"/bin/sh\"") (string-append " -\"" bash "/bin/sh\""))) - ;; See . + (("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\""))) + (substitute* "src/libstd/net/tcp.rs" + ;; There is no network in build environment + (("fn connect_timeout_unroutable") + "#[ignore]\nfn connect_timeout_unroutable")) + ;; (substitute* "src/libstd/sys/unix/process/process_common.rs" - (("fn test_process_mask") "#[cfg_attr(target_os =3D \"lin= ux\", ignore)] -fn test_process_mask")) + (("fn test_process_mask") "#[ignore]\nfn test_process_mas= k")) ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_= PATH. - ;; See . + ;; (delete-file-recursively "src/test/run-make/linker-output-n= on-utf8") + (substitute* "src/libstd/build.rs" + ;; After update to jemalloc 5.0 library "libjemalloc_pic.= a" + ;; required to link against libstdc++ + ;; First broken Rust build: https://hydra.gnu.org/build/2= 248057 + (("println!\\(\"cargo:rustc-link-lib=3Dpthread\"\\);") + (string-append "println!(\"cargo:rustc-link-lib=3Dpthrea= d\");\n" + "println!(\"cargo:rustc-link-lib=3Dstdc++= \");"))) + (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-source-shebangs 'patch-cargo-checksums + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/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 "src/vendor" ".cargo-checksum.json")))) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (gcc (assoc-ref inputs "gcc")) + (gdb (assoc-ref inputs "gdb")) (binutils (assoc-ref inputs "binutils")) (python (assoc-ref inputs "python-2")) (rustc (assoc-ref inputs "rustc-bootstrap")) + (cargo (assoc-ref inputs "cargo-bootstrap")) (llvm (assoc-ref inputs "llvm")) - (jemalloc (assoc-ref inputs "jemalloc")) - (flags (list - (string-append "--prefix=3D" out) - (string-append "--datadir=3D" out "/share") - (string-append "--infodir=3D" out "/share/info= ") - (string-append "--default-linker=3D" gcc "/bin= /gcc") - (string-append "--default-ar=3D" binutils "/bi= n/ar") - (string-append "--python=3D" python "/bin/pyth= on2") - (string-append "--local-rust-root=3D" rustc) - (string-append "--llvm-root=3D" llvm) - (string-append "--jemalloc-root=3D" jemalloc "= /lib") - "--release-channel=3Dstable" - "--enable-rpath" - "--enable-local-rust" - "--disable-rustbuild" ; rustbuild doesn't work= yet. - "--disable-manage-submodules"))) - ;; Rust uses a custom configure script (no autoconf). - (zero? (apply system* "./configure" flags))))) - (add-after 'install 'wrap-rustc + (jemalloc (assoc-ref inputs "jemalloc"))) + (call-with-output-file "config.toml" + (lambda (port) + (display (string-append " +[llvm] +[build] +cargo =3D \"" cargo "/bin/cargo" "\" +rustc =3D \"" rustc "/bin/rustc" "\" +python =3D \"" python "/bin/python2" "\" +gdb =3D \"" gdb "/bin/gdb" "\" +vendor =3D true +submodules =3D false +[install] +prefix =3D \"" out "\" +[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: +# codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs +# This tests required patched LLVM +codegen-tests =3D false +[target." %host-type "] +llvm-config =3D \"" llvm "/bin/llvm-config" "\" +cc =3D \"" gcc "/bin/gcc" "\" +cxx =3D \"" gcc "/bin/g++" "\" +jemalloc =3D \"" jemalloc "/lib/libjemalloc_pic.a" "\" +[dist] +") port)))))) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? (system* "./x.py" "build")))) + (replace 'check (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (libc (assoc-ref inputs "libc")) - (ld-wrapper (assoc-ref inputs "ld-wrapper"))) + (zero? (system* "./x.py" "test")))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? (system* "./x.py" "install")))) + (add-after 'install 'wrap-rustc + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (libc (assoc-ref inputs "libc")) + (ld-wrapper (assoc-ref inputs "ld-wrapper"))) ;; Let gcc find ld and libc startup files. - (wrap-program (string-append out "/bin/rustc") - `("PATH" ":" prefix (,(string-append ld-wrapper "/bin"))) - `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib")= ))) - #t)))))) + (wrap-program (string-append out "/bin/rustc") + `("PATH" ":" prefix (,(string-append ld-wrapper "/bin")= )) + `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib= ")))) + #t)))))) ;; rustc invokes gcc, so we need to set its search paths accordingly. (native-search-paths (package-native-search-paths gcc)) (synopsis "Compiler for the Rust progamming language") @@ -325,7 +370,7 @@ safety and thread safety guarantees.") (define-public cargo (package (name "cargo") - (version (cargo-version (rustc-version %rust-bootstrap-binaries-versio= n))) + (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/" @@ -333,7 +378,7 @@ safety and thread safety guarantees.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1y0zy8gk1ly0wh57y78fisk7cdd92qk0x7z664f6l7lzl2krqs7w")))) + "0kr7rml7v2bm7zl8jcb3056h63zpyy9m08s212i8vfwxf6lf5fzl")))) (build-system cargo-build-system) (propagated-inputs `(("cmake" ,cmake) @@ -346,506 +391,870 @@ safety and thread safety guarantees.") ("python-2" ,python-2) ("zlib" ,zlib))) (native-inputs - `(("rust-openssl" + `(("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 " (sha256"; + ;; print " (base16-string->bytevector"; + ;; print " " hash "))))" + ;; }' + ("rust-advapi32-sys" ,(origin (method url-fetch) - (uri (crate-uri "openssl" "0.9.6")) + (uri (crate-uri "advapi32-sys" "0.2.0")) (sha256 - (base32 - "0g28g692gby6izp9qmnwnyxyhf9b0870yhd500p18j9l69lxl00c")))) - ("rust-strsim" + (base16-string->bytevector + "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb= 8a9a")))) + ("rust-aho-corasick" ,(origin (method url-fetch) - (uri (crate-uri "strsim" "0.5.1")) + (uri (crate-uri "aho-corasick" "0.5.3")) (sha256 - (base32 - "0bj4fsm1l2yqbfpspyvjf9m3m50pskapcddzm0ji9c74jbgnkh2h")))) - ("rust-libc" + (base16-string->bytevector + "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686d= db66")))) + ("rust-aho-corasick-0.6.3" ,(origin (method url-fetch) - (uri (crate-uri "libc" "0.2.18")) + (uri (crate-uri "aho-corasick" "0.6.3")) (sha256 - (base32 - "0w5cghr0wx3hi2sclk8r9iyzlbxsakil87ada40q2ykyhky24655")))) + (base16-string->bytevector + "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b88= 9699")))) + ("rust-atty" + ,(origin + (method url-fetch) + (uri (crate-uri "atty" "0.2.3")) + (sha256 + (base16-string->bytevector + "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421b7= 8860")))) + ("rust-backtrace" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "c63ea141ef8fdb10409d0f5daf30ac51f84ef43bff66f16627773d2a292c= d189")))) ("rust-bitflags" ,(origin (method url-fetch) (uri (crate-uri "bitflags" "0.7.0")) (sha256 - (base32 - "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda")))) - ("rust-unicode-normalization" + (base16-string->bytevector + "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881= 106d")))) + ("rust-bitflags-0.9.1" ,(origin (method url-fetch) - (uri (crate-uri "unicode-normalization" "0.1.2")) + (uri (crate-uri "bitflags" "0.9.1")) (sha256 - (base32 - "0whi4xxqcjfsz6ywyrfd5lhgk1a44c86qwgvfqcmzidshcpklr16")))) - ("rust-rand" + (base16-string->bytevector + "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1a= b3a5")))) + ("rust-bufstream" ,(origin (method url-fetch) - (uri (crate-uri "rand" "0.3.14")) + (uri (crate-uri "bufstream" "0.1.3")) (sha256 - (base32 - "1984zvj8572ig28fz6idc4r96fx39h4lzmr07yf7kb7gdn6di497")))) - ("rust-gcc" + (base16-string->bytevector + "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d0946= 8e32")))) + ("rust-cc" ,(origin (method url-fetch) - (uri (crate-uri "gcc" "0.3.39")) + (uri (crate-uri "cc" "1.0.0")) (sha256 - (base32 - "1q0idjvmhp6shkb9hqabh51rgfr8dqpi1xfmyzq7q8vgzybll7kp")))) - ("rust-tempdir" + (base16-string->bytevector + "7db2f146208d7e0fbee761b09cd65a7f51ccc38705d4e7262dad4d73b12a= 76b1")))) + ("rust-cfg-if" ,(origin (method url-fetch) - (uri (crate-uri "tempdir" "0.3.5")) + (uri (crate-uri "cfg-if" "0.1.2")) (sha256 - (base32 - "1mij45kgzflkja0h8q9avrik76h5a0b60m9hfd6k9yqxbiplm5w7")))) - ("rust-memchr" + (base16-string->bytevector + "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed31= 40de")))) + ("rust-cmake" ,(origin (method url-fetch) - (uri (crate-uri "memchr" "0.1.11")) + (uri (crate-uri "cmake" "0.1.26")) (sha256 - (base32 - "084d85hjfa3xf5kwdms2mhbkh78m1gl2254cp5swcxj3a7xjkdnq")))) - ("rust-rustc-serialize" + (base16-string->bytevector + "357c07e7a1fc95732793c1edb5901e1a1f305cfcf63a90eb12dbd22bdb6b= 789d")))) + ("rust-commoncrypto" ,(origin (method url-fetch) - (uri (crate-uri "rustc-serialize" "0.3.21")) + (uri (crate-uri "commoncrypto" "0.2.0")) (sha256 - (base32 - "064qmyr2508qf78dwcpiv25rfjp9h9vd0wrj4mmwgppjg4fgrydz")))) - ("rust-cmake" + (base16-string->bytevector + "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b6= 9007")))) + ("rust-commoncrypto-sys" ,(origin (method url-fetch) - (uri (crate-uri "cmake" "0.1.19")) + (uri (crate-uri "commoncrypto-sys" "0.2.0")) (sha256 - (base32 - "0am8c8ns1h6b1a5x9z2r1m3rszvya5nccl2pzszzjv5aiiaydgcf")))) - ("rust-matches" + (base16-string->bytevector + "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f40= 83e2")))) + ("rust-conv" ,(origin (method url-fetch) - (uri (crate-uri "matches" "0.1.4")) + (uri (crate-uri "conv" "0.3.3")) (sha256 - (base32 - "1c8190j84hbicy8jwscw5icfam12j6lcxi02lvmadq9260p65mzg")))) - ("rust-winapi" + (base16-string->bytevector + "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d= 1299")))) + ("rust-core-foundation" ,(origin (method url-fetch) - (uri (crate-uri "winapi" "0.2.8")) + (uri (crate-uri "core-foundation" "0.4.4")) (sha256 - (base32 - "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n")))) - ("rust-pkg-config" + (base16-string->bytevector + "5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb232= 0dc7")))) + ("rust-core-foundation-sys" ,(origin (method url-fetch) - (uri (crate-uri "pkg-config" "0.3.8")) + (uri (crate-uri "core-foundation-sys" "0.4.4")) (sha256 - (base32 - "1ypj4nj2z9z27qg06v3g40jyhw685i3l2wi098d21bvyri781vlc")))) - ("rust-libssh2-sys" + (base16-string->bytevector + "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a= 3387")))) + ("rust-crossbeam" ,(origin (method url-fetch) - (uri (crate-uri "libssh2-sys" "0.2.5")) + (uri (crate-uri "crossbeam" "0.2.10")) (sha256 - (base32 - "0d2r36hrh9vc1821r0v4kywv30svpf37d31calwql69fbij3bqci")))) - ("rust-libz-sys" + (base16-string->bytevector + "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb92750= 8f97")))) + ("rust-crossbeam-0.3.0" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "34903878eec1694faf53cae8473a088df333181de421d4d3d48061d6559f= e602")))) + ("rust-curl" ,(origin (method url-fetch) - (uri (crate-uri "libz-sys" "1.0.13")) + (uri (crate-uri "curl" "0.4.8")) (sha256 - (base32 - "034pgvxzgsv37iafgs0lmvd1ifm0bg0zm1xcsn9x71nn8lm93vp5")))) + (base16-string->bytevector + "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41ae= 9c2c")))) ("rust-curl-sys" ,(origin (method url-fetch) - (uri (crate-uri "curl-sys" "0.3.6")) + (uri (crate-uri "curl-sys" "0.3.15")) (sha256 - (base32 - "0fi8kjz3f8m8vfazycs3ddm0h6j3x78hw78gwbvybx71129192i1")))) - ("rust-error-chain" + (base16-string->bytevector + "4bee31aa3a079d5f3ff9579ea4dcfb1b1a17a40886f5f467436d383e7813= 4b55")))) + ("rust-custom_derive" ,(origin (method url-fetch) - (uri (crate-uri "error-chain" "0.7.2")) + (uri (crate-uri "custom_derive" "0.1.7")) (sha256 - (base32 - "03qjh6l2a9fkiyg0428p7q3dcpi47cbmrqf9zmlymkg43v3v731i")))) - ("rust-metadeps" + (base16-string->bytevector + "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a= 01b9")))) + ("rust-dbghelp-sys" ,(origin (method url-fetch) - (uri (crate-uri "metadeps" "1.1.1")) + (uri (crate-uri "dbghelp-sys" "0.2.0")) (sha256 - (base32 - "0l818461bslb7nrs7r1amkqv45n53fcp5sabyqipwx0xxbkzz7w2")))) - ("rust-openssl-sys" + (base16-string->bytevector + "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5= b850")))) + ("rust-docopt" ,(origin (method url-fetch) - (uri (crate-uri "openssl-sys" "0.9.6")) + (uri (crate-uri "docopt" "0.8.1")) (sha256 - (base32 - "1hzpyf9z8xg1yn5r9g17bl5j20nifd6s2zp10xh90v7m0sd2yj5i")))) - ("rust-fs2" + (base16-string->bytevector + "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49= 787a")))) + ("rust-dtoa" ,(origin (method url-fetch) - (uri (crate-uri "fs2" "0.3.0")) + (uri (crate-uri "dtoa" "0.4.2")) (sha256 - (base32 - "0lg57mgcm1r0m8jm4nqpcrl6lmxg8lj854k2h0r7qp46pphh2034")))) - ("rust-log" + (base16-string->bytevector + "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e= 50ab")))) + ("rust-env_logger" ,(origin (method url-fetch) - (uri (crate-uri "log" "0.3.6")) + (uri (crate-uri "env_logger" "0.4.3")) (sha256 - (base32 - "0m40hgs3cg57dd5kk1mabfk6gk8z6l1cihar8akx4kmzz1xlk0xb")))) + (base16-string->bytevector + "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8= cd5b")))) + ("rust-error-chain" + ,(origin + (method url-fetch) + (uri (crate-uri "error-chain" "0.11.0")) + (sha256 + (base16-string->bytevector + "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419e= d3f3")))) ("rust-filetime" ,(origin (method url-fetch) - (uri (crate-uri "filetime" "0.1.10")) + (uri (crate-uri "filetime" "0.1.12")) (sha256 - (base32 - "08p9scgv30i1141cnp5xi4pqlnkfci455nrpca55df1r867anqsk")))) - ("rust-tar" + (base16-string->bytevector + "6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf73= 2c0e")))) + ("rust-flate2" + ,(origin + (method url-fetch) + (uri (crate-uri "flate2" "0.2.20")) + (sha256 + (base16-string->bytevector + "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81= e423")))) + ("rust-fnv" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8= a29d")))) + ("rust-fs2" + ,(origin + (method url-fetch) + (uri (crate-uri "fs2" "0.4.2")) + (sha256 + (base16-string->bytevector + "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c= 2866")))) + ("rust-git2" + ,(origin + (method url-fetch) + (uri (crate-uri "git2" "0.6.8")) + (sha256 + (base16-string->bytevector + "0c1c0203d653f4140241da0c1375a404f0a397249ec818cd2076c6280c50= f6fa")))) + ("rust-git2-curl" ,(origin (method url-fetch) - (uri (crate-uri "tar" "0.4.9")) + (uri (crate-uri "git2-curl" "0.7.0")) (sha256 - (base32 - "1vi3nl8s3jjf5l20ni47gmh1p4bdjfh7q50fbg7izzqrf7i4i40c")))) + (base16-string->bytevector + "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5= bf8e")))) ("rust-glob" ,(origin (method url-fetch) (uri (crate-uri "glob" "0.2.11")) (sha256 - (base32 - "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb")))) - ("rust-cfg-if" + (base16-string->bytevector + "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac589= 5bfb")))) + ("rust-globset" ,(origin (method url-fetch) - (uri (crate-uri "cfg-if" "0.1.0")) + (uri (crate-uri "globset" "0.2.0")) (sha256 - (base32 - "137qikjcal4h75frzcn6mknygqk8vy5bva7w851aydb5gc6pc7ny")))) - ("rust-winapi-build" + (base16-string->bytevector + "feeb1b6840809ef5efcf7a4a990bc4e1b7ee3df8cf9e2379a75aeb2ba42a= c9c3")))) + ("rust-hamcrest" ,(origin (method url-fetch) - (uri (crate-uri "winapi-build" "0.1.1")) + (uri (crate-uri "hamcrest" "0.1.1")) (sha256 - (base32 - "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d")))) - ("rust-advapi32-sys" + (base16-string->bytevector + "bf088f042a467089e9baa4972f57f9247e42a0cc549ba264c7a04fbb8ecb= 89d4")))) + ("rust-hex" ,(origin (method url-fetch) - (uri (crate-uri "advapi32-sys" "0.2.0")) + (uri (crate-uri "hex" "0.2.0")) (sha256 - (base32 - "16largvlrd1800vvdchml0ngnszjlnpqm01rcz5hm7di1h48hrg0")))) - ("rust-gdi32-sys" + (base16-string->bytevector + "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e1= 53aa")))) + ("rust-home" ,(origin (method url-fetch) - (uri (crate-uri "gdi32-sys" "0.2.0")) + (uri (crate-uri "home" "0.3.0")) (sha256 - (base32 - "0605d4ngjsspghwjv4jicajich1gnl0aik9f880ajjzjixd524h9")))) - ("rust-ws2_32-sys" + (base16-string->bytevector + "9f25ae61099d8f3fee8b483df0bd4ecccf4b2731897aad40d50eca1b641f= e6db")))) + ("rust-idna" ,(origin (method url-fetch) - (uri (crate-uri "ws2_32-sys" "0.2.1")) + (uri (crate-uri "idna" "0.1.4")) (sha256 - (base32 - "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m")))) - ("rust-user32-sys" + (base16-string->bytevector + "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951e= af7d")))) + ("rust-ignore" ,(origin (method url-fetch) - (uri (crate-uri "user32-sys" "0.2.0")) + (uri (crate-uri "ignore" "0.2.2")) (sha256 - (base32 - "0ivxc7hmsxax9crdhxdd1nqwik4s9lhb2x59lc8b88bv20fp3x2f")))) - ("rust-unicode-bidi" + (base16-string->bytevector + "b3fcaf2365eb14b28ec7603c98c06cc531f19de9eb283d89a3dff8417c8c= 99f5")))) + ("rust-itoa" + ,(origin + (method url-fetch) + (uri (crate-uri "itoa" "0.3.4")) + (sha256 + (base16-string->bytevector + "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4= db8c")))) + ("rust-jobserver" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056= 098d")))) + ("rust-lazy_static" + ,(origin + (method url-fetch) + (uri (crate-uri "lazy_static" "0.2.9")) + (sha256 + (base16-string->bytevector + "c9e5e58fa1a4c3b915a561a78a22ee0cac6ab97dca2504428bc1cb074375= f8d5")))) + ("rust-libc" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "6f74b4959cef96898f5123148724fc7dee043b9a6b99f219d948851bfbe5= 3cb2")))) + ("rust-libssh2-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "44ebbc760fd2d2f4d93de09a0e13d97e057612052e871da9985cedcb451e= 6bd5")))) + ("rust-log" + ,(origin + (method url-fetch) + (uri (crate-uri "log" "0.3.8")) + (sha256 + (base16-string->bytevector + "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512= 565b")))) + ("rust-magenta" ,(origin (method url-fetch) - (uri (crate-uri "unicode-bidi" "0.2.3")) + (uri (crate-uri "magenta" "0.1.1")) (sha256 - (base32 - "0gqbyf6slkgzr14nf6v8dw8a19l5snh6bpms8bpfvzpxdawwxxy1")))) + (base16-string->bytevector + "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3a= c527")))) + ("rust-magenta-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "magenta-sys" "0.1.1")) + (sha256 + (base16-string->bytevector + "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f= 4699")))) + ("rust-matches" + ,(origin + (method url-fetch) + (uri (crate-uri "matches" "0.1.6")) + (sha256 + (base16-string->bytevector + "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f19= 3376")))) + ("rust-memchr" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a= 47b4")))) + ("rust-miniz-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "miniz-sys" "0.1.10")) + (sha256 + (base16-string->bytevector + "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7= e2b4")))) + ("rust-miow" + ,(origin + (method url-fetch) + (uri (crate-uri "miow" "0.2.1")) + (sha256 + (base16-string->bytevector + "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355a= e919")))) ("rust-net2" ,(origin (method url-fetch) - (uri (crate-uri "net2" "0.2.26")) + (uri (crate-uri "net2" "0.2.31")) (sha256 - (base32 - "1qp3q6xynb481rsp3ig1nmqb6qlxfba3shfrmqij88cppsv9rpsy")))) - ("rust-utf8-ranges" + (base16-string->bytevector + "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b71= 6c09")))) + ("rust-num" ,(origin (method url-fetch) - (uri (crate-uri "utf8-ranges" "0.1.3")) + (uri (crate-uri "num" "0.1.40")) (sha256 - (base32 - "03xf604b2v51ag3jgzw92l97xnb10kw9zv948bhc7ja1ik017jm1")))) - ("rust-crossbeam" + (base16-string->bytevector + "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f92= 3525")))) + ("rust-num-bigint" ,(origin (method url-fetch) - (uri (crate-uri "crossbeam" "0.2.10")) + (uri (crate-uri "num-bigint" "0.1.40")) (sha256 - (base32 - "15wga0kvk3iqf3l077957j931brf1pl3p74xibd698jccqas4phc")))) - ("rust-toml" + (base16-string->bytevector + "8fd0f8dbb4c0960998958a796281d88c16fbe68d87b1baa6f31e2979e81f= d0bd")))) + ("rust-num-complex" ,(origin (method url-fetch) - (uri (crate-uri "toml" "0.2.1")) + (uri (crate-uri "num-complex" "0.1.40")) (sha256 - (base32 - "1d1cz43bxrx4fd6j2p6myckf81f72bp47akg36y3flxjkhj60svk")))) - ("rust-aho-corasick" + (base16-string->bytevector + "503e668405c5492d67cf662a81e05be40efe2e6bcf10f7794a07bd9865e7= 04e6")))) + ("rust-num-integer" ,(origin (method url-fetch) - (uri (crate-uri "aho-corasick" "0.5.3")) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13df= fe01")))) + ("rust-num-rational" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721= b9b0")))) + ("rust-num_cpus" + ,(origin + (method url-fetch) + (uri (crate-uri "num_cpus" "1.7.0")) + (sha256 + (base16-string->bytevector + "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d453= b20d")))) + ("rust-openssl" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f37= 8daf")))) + ("rust-openssl-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6a= e356")))) + ("rust-pkg-config" + ,(origin + (method url-fetch) + (uri (crate-uri "pkg-config" "0.3.9")) (sha256 - (base32 - "0rnvdmlajikq0i4zdy1p3pv699q6apvsxfc7av7byhppllp2r5ya")))) + (base16-string->bytevector + "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edb= a903")))) ("rust-psapi-sys" ,(origin (method url-fetch) (uri (crate-uri "psapi-sys" "0.1.0")) (sha256 - (base32 - "0y14g8qshsfnmb7nk2gs1rpbrs1wrggajmzp4yby4q6k0wd5vkdb")))) - ("rust-idna" + (base16-string->bytevector + "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a= 2478")))) + ("rust-quote" ,(origin (method url-fetch) - (uri (crate-uri "idna" "0.1.0")) + (uri (crate-uri "quote" "0.3.15")) (sha256 - (base32 - "049c2rmlydrrrgrxdaq2v21adx9vkfh6k9x4xj56ckyf01p26lqh")))) - ("rust-url" + (base16-string->bytevector + "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4= 167a")))) + ("rust-rand" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47eb0= 4509")))) + ("rust-redox_termios" + ,(origin + (method url-fetch) + (uri (crate-uri "redox_termios" "0.1.1")) + (sha256 + (base16-string->bytevector + "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db= 0f76")))) + ("rust-regex" + ,(origin + (method url-fetch) + (uri (crate-uri "regex" "0.1.80")) + (sha256 + (base16-string->bytevector + "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019= 402f")))) + ("rust-regex-0.2.2" ,(origin (method url-fetch) - (uri (crate-uri "url" "1.2.3")) + (uri (crate-uri "regex" "0.2.2")) (sha256 - (base32 - "1myr1i8djbl2bhvvrm6n3h7bj7sl6kh5dmaaz2f7c6x8hyyzgk28")))) + (base16-string->bytevector + "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b= 2d1b")))) ("rust-regex-syntax" ,(origin (method url-fetch) (uri (crate-uri "regex-syntax" "0.3.9")) (sha256 - (base32 - "0ms9hgdhhsxw9w920i7gipydvagf100bb56jbs192rz86ln01v7r")))) - ("rust-kernel32-sys" + (base16-string->bytevector + "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db83= 4957")))) + ("rust-regex-syntax-0.4.1" ,(origin (method url-fetch) - (uri (crate-uri "kernel32-sys" "0.2.2")) + (uri (crate-uri "regex-syntax" "0.4.1")) (sha256 - (base32 - "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm")))) - ("rust-term" + (base16-string->bytevector + "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f= 62db")))) + ("rust-rustc-demangle" ,(origin (method url-fetch) - (uri (crate-uri "term" "0.4.4")) + (uri (crate-uri "rustc-demangle" "0.1.5")) (sha256 - (base32 - "0jpr7jb1xidadh0arklwr99r8w1k1dfc4an3ginpsq5nnfigivrx")))) - ("rust-thread-id" + (base16-string->bytevector + "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e= 817e")))) + ("rust-rustc-serialize" ,(origin (method url-fetch) - (uri (crate-uri "thread-id" "2.0.0")) + (uri (crate-uri "rustc-serialize" "0.3.24")) (sha256 - (base32 - "00zzs2bx1xw8aqm5plqqgr7bc2zz6zkqrdxq8vpiqb8hc2srslx9")))) - ("rust-thread_local" + (base16-string->bytevector + "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e= 6fda")))) + ("rust-same-file" ,(origin (method url-fetch) - (uri (crate-uri "thread_local" "0.2.7")) + (uri (crate-uri "same-file" "0.1.3")) (sha256 - (base32 - "1mgxikqvhpsic6xk7pan95lvgsky1sdxzw2w5m2l35pgrazxnxl5")))) - ("rust-miow" + (base16-string->bytevector + "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a1= 17a7")))) + ("rust-scoped-tls" ,(origin (method url-fetch) - (uri (crate-uri "miow" "0.1.3")) + (uri (crate-uri "scoped-tls" "0.1.0")) (sha256 - (base32 - "16jvfjsp6fr4mbd2sw5hcdmi4dsa0m0aa45gjz78mb1h4mwcdgym")))) - ("rust-regex" + (base16-string->bytevector + "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb903807f= 147d")))) + ("rust-scopeguard" ,(origin (method url-fetch) - (uri (crate-uri "regex" "0.1.80")) + (uri (crate-uri "scopeguard" "0.1.2")) (sha256 - (base32 - "0bs036h3vzc6pj5jj4vc909s9rppq7b808ic99qn0y6gm3karm2g")))) - ("rust-num_cpus" + (base16-string->bytevector + "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e83981a= 6c57")))) + ("rust-semver" ,(origin (method url-fetch) - (uri (crate-uri "num_cpus" "1.1.0")) + (uri (crate-uri "semver" "0.8.0")) (sha256 - (base32 - "1bfwcn3yhwa31rinjw9yr7b6gvn6c06hnwnjz06pvm938w4fd448")))) - ("rust-libgit2-sys" + (base16-string->bytevector + "bee2bc909ab2d8d60dab26e8cad85b25d795b14603a0dcb627b78b9d30b6= 454b")))) + ("rust-semver-parser" ,(origin (method url-fetch) - (uri (crate-uri "libgit2-sys" "0.6.6")) + (uri (crate-uri "semver-parser" "0.7.0")) (sha256 - (base32 - "074h9q4p60xh6canb0sj4vrc801wqv6p53l9lp0q724bkwzf7967")))) - ("rust-env_logger" + (base16-string->bytevector + "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f5= 70a3")))) + ("rust-serde" ,(origin (method url-fetch) - (uri (crate-uri "env_logger" "0.3.5")) + (uri (crate-uri "serde" "1.0.15")) (sha256 - (base32 - "0bvcjgkw4s3k1rd7glpflgc8s9a393zjd6jfdgvs8gjvwj0dgaqm")))) - ("rust-openssl-probe" + (base16-string->bytevector + "6a7046c9d4c6c522d10b2d098f9bebe2bef227e0e74044d8c1bfcf6b476a= f799")))) + ("rust-serde_derive" ,(origin (method url-fetch) - (uri (crate-uri "openssl-probe" "0.1.0")) + (uri (crate-uri "serde_derive" "1.0.15")) (sha256 - (base32 - "0689h6rhzy6dypqr90lsxnf108nsnh952wsx7ggs70s48b44jvbm")))) - ("rust-lazy_static" + (base16-string->bytevector + "1afcaae083fd1c46952a315062326bc9957f182358eb7da03b57ef1c688f= 7aa9")))) + ("rust-serde_derive_internals" ,(origin (method url-fetch) - (uri (crate-uri "lazy_static" "0.2.2")) + (uri (crate-uri "serde_derive_internals" "0.16.0")) (sha256 - (base32 - "16z1h7w702sxnscak38jykxlhxq0b5ip4mndlb46pkaqwzi0xgka")))) - ("rust-semver-parser" + (base16-string->bytevector + "bd381f6d01a6616cdba8530492d453b7761b456ba974e98768a18cad2cd7= 6f58")))) + ("rust-serde_ignored" ,(origin (method url-fetch) - (uri (crate-uri "semver-parser" "0.6.1")) + (uri (crate-uri "serde_ignored" "0.0.4")) (sha256 - (base32 - "1s8s7a7yg8xhgci17y0xhyyncg229byivhpr0wbs3ljdlyjl73p8")))) - ("rust-semver" + (base16-string->bytevector + "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01f= b142")))) + ("rust-serde_json" ,(origin (method url-fetch) - (uri (crate-uri "semver" "0.5.1")) + (uri (crate-uri "serde_json" "1.0.3")) (sha256 - (base32 - "1xbiv8l72rmngb3lgbmk3vd4lalcbzxcnrn085c2b75irl7gcbxf")))) - ("rust-docopt" + (base16-string->bytevector + "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6ac6= b7ac")))) + ("rust-shell-escape" + ,(origin + (method url-fetch) + (uri (crate-uri "shell-escape" "0.1.3")) + (sha256 + (base16-string->bytevector + "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b8= 4ef8")))) + ("rust-socket2" ,(origin (method url-fetch) - (uri (crate-uri "docopt" "0.6.86")) + (uri (crate-uri "socket2" "0.2.3")) (sha256 - (base32 - "1nf4f4zf5yk0d0l4kl7hkii4na22fhn0l2hgfb46yzv08l2g6zja")))) - ("rust-miniz-sys" + (base16-string->bytevector + "9e76b159741052c7deaa9fd0b5ca6b5f79cecf525ed665abfe5002086c6b= 2791")))) + ("rust-strsim" ,(origin (method url-fetch) - (uri (crate-uri "miniz-sys" "0.1.7")) + (uri (crate-uri "strsim" "0.6.0")) (sha256 - (base32 - "0m7dlggsxash0k5jkx576p556g9r8vnhyl9244gjxhq1g8rls7wx")))) - ("rust-curl" + (base16-string->bytevector + "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c= 3694")))) + ("rust-syn" ,(origin (method url-fetch) - (uri (crate-uri "curl" "0.4.1")) + (uri (crate-uri "syn" "0.11.11")) (sha256 - (base32 - "1b0y27b6vpqffgzm2kxc1s2i6bgdzxk3wn65g2asbcdxrvys3mcg")))) - ("rust-flate2" + (base16-string->bytevector + "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b44= 1dad")))) + ("rust-synom" ,(origin (method url-fetch) - (uri (crate-uri "flate2" "0.2.14")) + (uri (crate-uri "synom" "0.11.3")) (sha256 - (base32 - "1fx3zsls5bb1zfx87s5sxkgk853z4nhjsbvq5s6if13kjlg4isry")))) - ("rust-git2" + (base16-string->bytevector + "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b519= 45b6")))) + ("rust-tar" ,(origin (method url-fetch) - (uri (crate-uri "git2" "0.6.3")) + (uri (crate-uri "tar" "0.4.13")) (sha256 - (base32 - "06b1bw3pwszs8617xn8js6h0j983qjgfwsychw33lshccj3cld05")))) - ("rust-crates-io" + (base16-string->bytevector + "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f= 2b1b")))) + ("rust-tempdir" ,(origin (method url-fetch) - (uri (crate-uri "crates-io" "0.4.0")) + (uri (crate-uri "tempdir" "0.3.5")) (sha256 - (base32 - "0kk6abp1qbpv44hkq1yjp7xgpzjzafs83i1l26ycr0aph1gbwig9")))) - ("rust-git2-curl" + (base16-string->bytevector + "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff6621= 32d6")))) + ("rust-termcolor" ,(origin (method url-fetch) - (uri (crate-uri "git2-curl" "0.7.0")) + (uri (crate-uri "termcolor" "0.3.3")) (sha256 - (base32 - "13mzqp4rd81zp78261rlq23iw9aaysdr56484y1yy2xzhk3nnrv8")))) - ("rust-bufstream" + (base16-string->bytevector + "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b24= 2c75")))) + ("rust-termion" ,(origin (method url-fetch) - (uri (crate-uri "bufstream" "0.1.2")) + (uri (crate-uri "termion" "1.5.1")) (sha256 - (base32 - "0x6h27md1fwabbhbycfldj0wklrpjr520z9p0cpzm60fzzidnj3v")))) - ("rust-hamcrest" + (base16-string->bytevector + "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e9= 2096")))) + ("rust-thread-id" ,(origin (method url-fetch) - (uri (crate-uri "hamcrest" "0.1.1")) + (uri (crate-uri "thread-id" "2.0.0")) (sha256 - (base32 - "1m49rf7bnkx0qxja56slrjh44zi4z5bjz5x4pblqjw265828y25z")))) - ("rust-num" + (base16-string->bytevector + "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0= ff03")))) + ("rust-thread_local" ,(origin (method url-fetch) - (uri (crate-uri "num" "0.1.36")) + (uri (crate-uri "thread_local" "0.2.7")) (sha256 - (base32 - "081i1r3mdz6jasqd7qwraqqfqa3sdpvdvxl1xq0s7ip714xw1rxx")))) - ("rust-num-traits" + (base16-string->bytevector + "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18c= fdd5")))) + ("rust-thread_local-0.3.4" ,(origin (method url-fetch) - (uri (crate-uri "num-traits" "0.1.36")) + (uri (crate-uri "thread_local" "0.3.4")) (sha256 - (base32 - "07688sp4z40p14lh5ywvrpm4zq8kcxzhjks8sg33jsr5da2l4sm1")))) - ("rust-num-integer" + (base16-string->bytevector + "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90= bb14")))) + ("rust-toml" ,(origin (method url-fetch) - (uri (crate-uri "num-integer" "0.1.32")) + (uri (crate-uri "toml" "0.4.5")) (sha256 - (base32 - "14pvaaawl0pgdcgh4dfdd67lz58yxlfl95bry86h28pjnfzxj97v")))) - ("rust-num-bigint" + (base16-string->bytevector + "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b= 6e7e")))) + ("rust-unicode-bidi" ,(origin (method url-fetch) - (uri (crate-uri "num-bigint" "0.1.35")) + (uri (crate-uri "unicode-bidi" "0.3.4")) (sha256 - (base32 - "0jayfkdm33p4zvcahlv46zdfhlzg053mpw32abf2lz0z8xw47cc8")))) - ("rust-num-rational" + (base16-string->bytevector + "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea= 54d5")))) + ("rust-unicode-normalization" ,(origin (method url-fetch) - (uri (crate-uri "num-rational" "0.1.35")) + (uri (crate-uri "unicode-normalization" "0.1.5")) (sha256 - (base32 - "1bwaygv64qg7i78yqg0v4d0amfhamj598rpy4yxjz9rlhcxn1zsl")))) - ("rust-num-iter" + (base16-string->bytevector + "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625= 920f")))) + ("rust-unicode-xid" ,(origin (method url-fetch) - (uri (crate-uri "num-iter" "0.1.32")) + (uri (crate-uri "unicode-xid" "0.0.4")) (sha256 - (base32 - "0p74nj5c1mc33h9lx4wpmlmggmn5lnkhxv1225g0aix8d6ciqyi8")))) - ("rust-num-complex" + (base16-string->bytevector + "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074c= b4dc")))) + ("rust-unreachable" ,(origin (method url-fetch) - (uri (crate-uri "num-complex" "0.1.35")) + (uri (crate-uri "unreachable" "1.0.0")) (sha256 - (base32 - "0bzrjfppnnzf9vmkpklhp2dw9sb1lqzydb8r6k83z76i9l2qxizh")))) - ("rust-shell-escape" + (base16-string->bytevector + "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814= fa56")))) + ("rust-url" ,(origin (method url-fetch) - (uri (crate-uri "shell-escape" "0.1.3")) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "71d28ea36bbd9192d75bd9fa9b39f96ddb986eaee824adae5d53b6e51919= b2f3")))) + ("rust-utf8-ranges" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e5512= 4122")))) + ("rust-vcpkg" + ,(origin + (method url-fetch) + (uri (crate-uri "vcpkg" "0.2.2")) + (sha256 + (base16-string->bytevector + "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd548= 7d0b")))) + ("rust-void" + ,(origin + (method url-fetch) + (uri (crate-uri "void" "1.0.2")) + (sha256 + (base16-string->bytevector + "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770= 887d")))) + ("rust-walkdir" + ,(origin + (method url-fetch) + (uri (crate-uri "walkdir" "1.0.7")) + (sha256 + (base16-string->bytevector + "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd2= 88ff")))) + ("rust-winapi" + ,(origin + (method url-fetch) + (uri (crate-uri "winapi" "0.2.8")) (sha256 - (base32 - "1y2fp2brv639icv4a0fdqs1zhlrxq8qbz27ygfa86ifmh5jcjp6x")))))) + (base16-string->bytevector + "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909= 087a")))) + ("rust-winapi-build" + ,(origin + (method url-fetch) + (uri (crate-uri "winapi-build" "0.1.1")) + (sha256 + (base16-string->bytevector + "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc6= 99bc")))) + ("rust-wincolor" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63= fa5e")))))) (arguments `(#:cargo ,cargo-bootstrap - #:tests? #f ; FIXME + #:rustc ,rustc ; Force to use rustc from current file #:modules ((ice-9 match) (srfi srfi-1) ; 'every @@ -853,12 +1262,8 @@ safety and thread safety guarantees.") (guix build cargo-build-system)) #:phases (modify-phases %standard-phases - ;; Avoid cargo complaining about missmatched checksums. - (delete 'patch-source-shebangs) - (delete 'patch-generated-file-shebangs) - (delete 'patch-usr-bin-file) - (add-after 'unpack 'unpack-submodule-sources - (lambda* (#:key inputs #:allow-other-keys) + (add-after 'unpack 'unpack-dependencies + (lambda* (#:key inputs outputs #:allow-other-keys) (define (unpack source target) (mkdir-p target) (with-directory-excursion target @@ -871,37 +1276,56 @@ safety and thread safety guarantees.") (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))) + (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 'unpack 'set-environment-up + (mkdir "vendor") + (every install-rust-library inputs))) + (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums (lambda* (#:key inputs #:allow-other-keys) - (let* ((gcc (assoc-ref inputs "gcc")) - (cc (string-append gcc "/bin/gcc"))) - (mkdir ".cargo") - (call-with-output-file ".cargo/config" - (lambda (p) - (format p " + (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")))) + (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' =20 [source.vendored-sources] directory =3D 'vendor' -"))) - (setenv "CMAKE_C_COMPILER" cc) - (setenv "CC" cc)) - #t)) - (delete 'configure)))) +" 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"))))))) (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 --=20 2.15.0 --=-=-=-- From unknown Sat Jun 14 19:38:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#29555] [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 Resent-From: ng0 Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 04 Dec 2017 07:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29555 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Nikolai Merinov Cc: 29555@debbugs.gnu.org Received: via spool by 29555-submit@debbugs.gnu.org id=B29555.151237097211697 (code B ref 29555); Mon, 04 Dec 2017 07:03:01 +0000 Received: (at 29555) by debbugs.gnu.org; 4 Dec 2017 07:02:52 +0000 Received: from localhost ([127.0.0.1]:44215 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLkm1-00031S-CP for submit@debbugs.gnu.org; Mon, 04 Dec 2017 02:02:52 -0500 Received: from aibo.runbox.com ([91.220.196.211]:54668) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLklt-00030K-Aw for 29555@debbugs.gnu.org; Mon, 04 Dec 2017 02:02:39 -0500 Received: from [10.9.9.210] (helo=mailfront10.runbox.com) by mailtransmit02.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1eLklq-0002kg-VZ; Mon, 04 Dec 2017 08:02:31 +0100 Received: from dslb-092-073-137-015.092.073.pools.vodafone-ip.de ([92.73.137.15] helo=localhost) by mailfront10.runbox.com with esmtpsa (uid:892961 ) (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) id 1eLklZ-0004Bo-Nf; Mon, 04 Dec 2017 08:02:15 +0100 Date: Mon, 4 Dec 2017 07:02:12 +0000 From: ng0 Message-ID: <20171204070212.hhx2med4i7oidquh@abyayala> References: <87609nhc00.fsf@member.fsf.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="kr32565dpba3pw7b" Content-Disposition: inline In-Reply-To: <87609nhc00.fsf@member.fsf.org> X-Spam-Score: -0.7 (/) 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 (/) --kr32565dpba3pw7b Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Nikolai Merinov transcribed 67K bytes: > Update for a rustc and cargo packages. This update will also fix a > build. >=20 Hi, thanks! In theory this looks good, I have to build it tonight when I have a power outlet in reach. > From 936ebcccac4cff0cc598c4ec9adeb28ce5d5c149 Mon Sep 17 00:00:00 2001 > From: Nikolay Merinov > Date: Sun, 3 Dec 2017 19:55:24 +0500 > Subject: [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 > To: guix-patches@gnu.org >=20 > * gnu/packages/rust.scm (%rust-bootstrap-binaries-version): update version > (%rust-bootstrap-binaries): use x86_64 rust bootstrap package for x86_64 = build > (%cargo-reference-project-file): Use specific file as "project" file when > patching rust vendored sources > (%cargo-reference-hash): sha256 sum for %cargo-reference-project-file > (rustc-bootstrap): use bootstrap package with host architecture > (cargo-bootstrap): use bootstrap package with host architecture > (rustc): Add new test dependency, fix build issues, use "./x.py" script f= or > build instead of "./configure" > (cargo): Update dependencies, patch shebangs for vendored sources > --- > gnu/packages/rust.scm | 1184 +++++++++++++++++++++++++++++++++----------= ------ > 1 file changed, 804 insertions(+), 380 deletions(-) >=20 > diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm > index 583ea37c8..591648bec 100644 > --- a/gnu/packages/rust.scm > +++ b/gnu/packages/rust.scm > @@ -3,6 +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 > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -29,6 +30,7 @@ > #:use-module (gnu packages elf) > #:use-module (gnu packages flex) > #:use-module (gnu packages gcc) > + #:use-module (gnu packages gdb) > #:use-module (gnu packages jemalloc) > #:use-module (gnu packages linux) > #:use-module (gnu packages llvm) > @@ -37,17 +39,19 @@ > #:use-module (gnu packages ssh) > #:use-module (gnu packages tls) > #:use-module (gnu packages version-control) > + #:use-module (gnu packages) > #:use-module (guix build-system cargo) > #: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 (ice-9 match) > #:use-module (srfi srfi-26)) > =20 > ;; Should be one less than the current released version. > -(define %rust-bootstrap-binaries-version "1.15.0") > +(define %rust-bootstrap-binaries-version "1.21.0") > =20 > (define %rust-bootstrap-binaries > (origin > @@ -55,10 +59,18 @@ > (uri (string-append > "https://static.rust-lang.org/dist/" > "rust-" %rust-bootstrap-binaries-version > - "-i686-unknown-linux-gnu.tar.gz")) > + "-" %host-type ".tar.gz")) > (sha256 > (base32 > - "0wmkfx8pxmkkw021mrq9s3xhra8f0daqdl6j56pxyn4w39i0rzrw")))) > + (match %host-type > + ("i686-unknown-linux-gnu" > + "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") > + ("x86_64-unknown-linux-gnu" > + "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml")))))) > + > +(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 #\.) > @@ -92,7 +104,6 @@ > (arguments > `(#:tests? #f > #:strip-binaries? #f > - #:system "i686-linux" > #:phases > (modify-phases %standard-phases > (delete 'configure) > @@ -103,8 +114,7 @@ > (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 "i686-l= inux"))) > + (ld-so (string-append libc ,(glibc-dynamic-linker))) > (rpath (string-append out "/lib:" zlib "/lib:" > libc "/lib:" gcc:lib "/lib")) > (rustc (string-append out "/bin/rustc")) > @@ -112,7 +122,7 @@ > (system* "bash" "install.sh" > (string-append "--prefix=3D" out) > (string-append "--components=3Drustc," > - "rust-std-i686-unknown-linux-gnu"= )) > + "rust-std-" %host-type)) > (for-each (lambda (file) > (system* "patchelf" "--set-rpath" rpath file)) > (cons* rustc rustdoc (find-files out "\\.so$"))) > @@ -129,7 +139,7 @@ which can in turn be used to build the final Rust com= piler.") > (define cargo-bootstrap > (package > (name "cargo-bootstrap") > - (version (cargo-version %rust-bootstrap-binaries-version)) > + (version (cargo-version %rust-bootstrap-binaries-version 1)) > (source %rust-bootstrap-binaries) > (build-system gnu-build-system) > (native-inputs > @@ -139,7 +149,6 @@ which can in turn be used to build the final Rust com= piler.") > (arguments > `(#:tests? #f > #:strip-binaries? #f > - #:system "i686-linux" > #:phases > (modify-phases %standard-phases > (delete 'configure) > @@ -149,8 +158,7 @@ which can in turn be used to build the final Rust com= piler.") > (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 "i686-l= inux"))) > + (ld-so (string-append libc ,(glibc-dynamic-linker))) > (rpath (string-append out "/lib:" libc "/lib:" > gcc:lib "/lib")) > (cargo (string-append out "/bin/cargo"))) > @@ -196,11 +204,11 @@ manager, which is required to build itself.") > (description "Meta package for a rust environment. Provides pre-comp= iled > rustc-bootstrap and cargo-bootstrap packages.") > (license license:asl2.0))) > - > + > (define-public rustc > (package > (name "rustc") > - (version (rustc-version %rust-bootstrap-binaries-version)) > + (version (rustc-version %rust-bootstrap-binaries-version 1)) > (source (origin > (method url-fetch) > (uri (string-append > @@ -208,17 +216,18 @@ rustc-bootstrap and cargo-bootstrap packages.") > "rustc-" version "-src.tar.gz")) > (sha256 > (base32 > - "1d78jq7mc34n265by68amr9r4nzbiqrilfbwh7gx56ydn4gb6rpr")) > - (modules '((guix build utils))) > - (snippet > - `(begin > - (delete-file-recursively "src/llvm") > - #t)))) > + "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")) > + (modules '((guix build utils))) > + (snippet > + `(begin > + (delete-file-recursively "src/llvm") > + #t)))) > (build-system gnu-build-system) > (native-inputs > `(("bison" ,bison) ; For the tests > ("cmake" ,cmake) > ("flex" ,flex) ; For the tests > + ("gdb" ,gdb) ; For the tests > ("git" ,git) > ("procps" ,procps) ; For the tests > ("python-2" ,python-2) > @@ -228,89 +237,125 @@ rustc-bootstrap and cargo-bootstrap packages.") > `(("jemalloc" ,jemalloc) > ("llvm" ,llvm-3.9.1))) > (arguments > - `(#:phases > + `(#:imported-modules ,%cargo-build-system-modules ;for `generate-ch= ecksums' > + #:phases > (modify-phases %standard-phases > - (add-after 'unpack 'patch-configure > - (lambda _ > - (substitute* "configure" > - (("/usr/bin/env") (which "env")) ; Detect target CPU corr= ectly. > - (("probe_need CFG_CURL curl") "") ; Avoid curl build depe= ndency. > - ;; Newer LLVM has a NVPTX (NVIDIA) backend which the Rust > - ;; Makefiles don't know about, causing a linker failure > - ;; if we don't intervene. > - ;; Therefore, we add NVPTX here. > - ;; See . > - ;; For the next release, we will have to use rustbuild. > - ;; Right now, rustbuild doesn't work yet. > - (("-DLLVM_TARGETS_TO_BUILD=3D'") > - "-DLLVM_TARGETS_TO_BUILD=3D'NVPTX;")) ; Make LLVM >=3D 3= =2E8.1 work. > - (substitute* "src/tools/compiletest/src/util.rs" > - (("(\"amd64\", \"x86_64\"),") "(\"amd64\", \"x86_64\"), > -(\"nvptx\", \"nvptx\"),")) ; Make LLVM >=3D 3.8.1 work. > - (substitute* "mk/main.mk" > - (("LLVM_OPTIONAL_COMPONENTS=3D") > - "LLVM_OPTIONAL_COMPONENTS=3Dnvptx ")) ; Make LLVM >=3D 3= =2E8.1 work. > - #t)) > (add-after 'unpack 'set-env > (lambda _ > (setenv "SHELL" (which "sh")) > (setenv "CONFIG_SHELL" (which "sh")) > + ;; guix llvm-3.9.1 package install only shared libraries > + (setenv "LLVM_LINK_SHARED" "1") > #t)) > (add-after 'unpack 'patch-tests > (lambda* (#:key inputs #:allow-other-keys) > (let ((bash (assoc-ref inputs "bash"))) > - (substitute* "src/tools/tidy/src/main.rs" > - (("^.*cargo.*::check.*$") "")) > + (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 wou= ld > ;; fail otherwise. > - (("\"/bin/sh\"") (string-append " > -\"" bash "/bin/sh\""))) > - ;; See . > + (("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\""= ))) > + (substitute* "src/libstd/net/tcp.rs" > + ;; There is no network in build environment > + (("fn connect_timeout_unroutable") > + "#[ignore]\nfn connect_timeout_unroutable")) > + ;; > (substitute* "src/libstd/sys/unix/process/process_common.= rs" > - (("fn test_process_mask") "#[cfg_attr(target_os =3D \"l= inux\", ignore)] > -fn test_process_mask")) > + (("fn test_process_mask") "#[ignore]\nfn test_process_m= ask")) > ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRAR= Y_PATH. > - ;; See . > + ;; > (delete-file-recursively "src/test/run-make/linker-output= -non-utf8") > + (substitute* "src/libstd/build.rs" > + ;; After update to jemalloc 5.0 library "libjemalloc_pi= c.a" > + ;; required to link against libstdc++ > + ;; First broken Rust build: https://hydra.gnu.org/build= /2248057 > + (("println!\\(\"cargo:rustc-link-lib=3Dpthread\"\\);") > + (string-append "println!(\"cargo:rustc-link-lib=3Dpthr= ead\");\n" > + "println!(\"cargo:rustc-link-lib=3Dstdc= ++\");"))) > + (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 bu= ild! > + (("let threshold =3D mtime\\(dst\\);") > + "if !dst.exists() {\nreturn false\n}\n let threshold = =3D mtime(dst);")) > #t))) > + (add-after 'patch-source-shebangs 'patch-cargo-checksums > + (lambda* (#:key inputs #:allow-other-keys) > + (substitute* "src/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 f= or " > + dir "\n")) > + (generate-checksums dir ,%cargo-reference-project-file= ))) > + (find-files "src/vendor" ".cargo-checksum.json")))) > (replace 'configure > (lambda* (#:key inputs outputs #:allow-other-keys) > (let* ((out (assoc-ref outputs "out")) > (gcc (assoc-ref inputs "gcc")) > + (gdb (assoc-ref inputs "gdb")) > (binutils (assoc-ref inputs "binutils")) > (python (assoc-ref inputs "python-2")) > (rustc (assoc-ref inputs "rustc-bootstrap")) > + (cargo (assoc-ref inputs "cargo-bootstrap")) > (llvm (assoc-ref inputs "llvm")) > - (jemalloc (assoc-ref inputs "jemalloc")) > - (flags (list > - (string-append "--prefix=3D" out) > - (string-append "--datadir=3D" out "/share") > - (string-append "--infodir=3D" out "/share/in= fo") > - (string-append "--default-linker=3D" gcc "/b= in/gcc") > - (string-append "--default-ar=3D" binutils "/= bin/ar") > - (string-append "--python=3D" python "/bin/py= thon2") > - (string-append "--local-rust-root=3D" rustc) > - (string-append "--llvm-root=3D" llvm) > - (string-append "--jemalloc-root=3D" jemalloc= "/lib") > - "--release-channel=3Dstable" > - "--enable-rpath" > - "--enable-local-rust" > - "--disable-rustbuild" ; rustbuild doesn't wo= rk yet. > - "--disable-manage-submodules"))) > - ;; Rust uses a custom configure script (no autoconf). > - (zero? (apply system* "./configure" flags))))) > - (add-after 'install 'wrap-rustc > + (jemalloc (assoc-ref inputs "jemalloc"))) > + (call-with-output-file "config.toml" > + (lambda (port) > + (display (string-append " > +[llvm] > +[build] > +cargo =3D \"" cargo "/bin/cargo" "\" > +rustc =3D \"" rustc "/bin/rustc" "\" > +python =3D \"" python "/bin/python2" "\" > +gdb =3D \"" gdb "/bin/gdb" "\" > +vendor =3D true > +submodules =3D false > +[install] > +prefix =3D \"" out "\" > +[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: > +# codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs > +# This tests required patched LLVM > +codegen-tests =3D false > +[target." %host-type "] > +llvm-config =3D \"" llvm "/bin/llvm-config" "\" > +cc =3D \"" gcc "/bin/gcc" "\" > +cxx =3D \"" gcc "/bin/g++" "\" > +jemalloc =3D \"" jemalloc "/lib/libjemalloc_pic.a" "\" > +[dist] > +") port)))))) > + (replace 'build > + (lambda* (#:key inputs outputs #:allow-other-keys) > + (zero? (system* "./x.py" "build")))) > + (replace 'check > (lambda* (#:key inputs outputs #:allow-other-keys) > - (let ((out (assoc-ref outputs "out")) > - (libc (assoc-ref inputs "libc")) > - (ld-wrapper (assoc-ref inputs "ld-wrapper"))) > + (zero? (system* "./x.py" "test")))) > + (replace 'install > + (lambda* (#:key inputs outputs #:allow-other-keys) > + (zero? (system* "./x.py" "install")))) > + (add-after 'install 'wrap-rustc > + (lambda* (#:key inputs outputs #:allow-other-keys) > + (let ((out (assoc-ref outputs "out")) > + (libc (assoc-ref inputs "libc")) > + (ld-wrapper (assoc-ref inputs "ld-wrapper"))) > ;; Let gcc find ld and libc startup files. > - (wrap-program (string-append out "/bin/rustc") > - `("PATH" ":" prefix (,(string-append ld-wrapper "/bin")= )) > - `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib= ")))) > - #t)))))) > + (wrap-program (string-append out "/bin/rustc") > + `("PATH" ":" prefix (,(string-append ld-wrapper "/bin= "))) > + `("LIBRARY_PATH" ":" suffix (,(string-append libc "/l= ib")))) > + #t)))))) > ;; rustc invokes gcc, so we need to set its search paths accordingly. > (native-search-paths (package-native-search-paths gcc)) > (synopsis "Compiler for the Rust progamming language") > @@ -325,7 +370,7 @@ safety and thread safety guarantees.") > (define-public cargo > (package > (name "cargo") > - (version (cargo-version (rustc-version %rust-bootstrap-binaries-vers= ion))) > + (version (cargo-version (rustc-version %rust-bootstrap-binaries-vers= ion) 0)) > (source (origin > (method url-fetch) > (uri (string-append "https://github.com/rust-lang/cargo/ar= chive/" > @@ -333,7 +378,7 @@ safety and thread safety guarantees.") > (file-name (string-append name "-" version ".tar.gz")) > (sha256 > (base32 > - "1y0zy8gk1ly0wh57y78fisk7cdd92qk0x7z664f6l7lzl2krqs7w"))= )) > + "0kr7rml7v2bm7zl8jcb3056h63zpyy9m08s212i8vfwxf6lf5fzl"))= )) > (build-system cargo-build-system) > (propagated-inputs > `(("cmake" ,cmake) > @@ -346,506 +391,870 @@ safety and thread safety guarantees.") > ("python-2" ,python-2) > ("zlib" ,zlib))) > (native-inputs > - `(("rust-openssl" > + `(("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 nam= e "-" vers; } > + ;; print " (\"rust-" name "\""; > + ;; print " ,(origin"; > + ;; print " (method url-fetch)"; > + ;; print " (uri (crate-uri \"" oname "\" \"" vers "= \"))"; > + ;; print " (sha256"; > + ;; print " (base16-string->bytevector"; > + ;; print " " hash "))))" > + ;; }' > + ("rust-advapi32-sys" > ,(origin > (method url-fetch) > - (uri (crate-uri "openssl" "0.9.6")) > + (uri (crate-uri "advapi32-sys" "0.2.0")) > (sha256 > - (base32 > - "0g28g692gby6izp9qmnwnyxyhf9b0870yhd500p18j9l69lxl00c")))) > - ("rust-strsim" > + (base16-string->bytevector > + "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7= cb8a9a")))) > + ("rust-aho-corasick" > ,(origin > (method url-fetch) > - (uri (crate-uri "strsim" "0.5.1")) > + (uri (crate-uri "aho-corasick" "0.5.3")) > (sha256 > - (base32 > - "0bj4fsm1l2yqbfpspyvjf9m3m50pskapcddzm0ji9c74jbgnkh2h")))) > - ("rust-libc" > + (base16-string->bytevector > + "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a968= 6ddb66")))) > + ("rust-aho-corasick-0.6.3" > ,(origin > (method url-fetch) > - (uri (crate-uri "libc" "0.2.18")) > + (uri (crate-uri "aho-corasick" "0.6.3")) > (sha256 > - (base32 > - "0w5cghr0wx3hi2sclk8r9iyzlbxsakil87ada40q2ykyhky24655")))) > + (base16-string->bytevector > + "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b= 889699")))) > + ("rust-atty" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "atty" "0.2.3")) > + (sha256 > + (base16-string->bytevector > + "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421= b78860")))) > + ("rust-backtrace" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "backtrace" "0.3.3")) > + (sha256 > + (base16-string->bytevector > + "99f2ce94e22b8e664d95c57fff45b98a966c2252b60691d0b7aeeccd88= d70983")))) > + ("rust-backtrace-sys" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "backtrace-sys" "0.1.14")) > + (sha256 > + (base16-string->bytevector > + "c63ea141ef8fdb10409d0f5daf30ac51f84ef43bff66f16627773d2a29= 2cd189")))) > ("rust-bitflags" > ,(origin > (method url-fetch) > (uri (crate-uri "bitflags" "0.7.0")) > (sha256 > - (base32 > - "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda")))) > - ("rust-unicode-normalization" > + (base16-string->bytevector > + "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b8= 81106d")))) > + ("rust-bitflags-0.9.1" > ,(origin > (method url-fetch) > - (uri (crate-uri "unicode-normalization" "0.1.2")) > + (uri (crate-uri "bitflags" "0.9.1")) > (sha256 > - (base32 > - "0whi4xxqcjfsz6ywyrfd5lhgk1a44c86qwgvfqcmzidshcpklr16")))) > - ("rust-rand" > + (base16-string->bytevector > + "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e= 1ab3a5")))) > + ("rust-bufstream" > ,(origin > (method url-fetch) > - (uri (crate-uri "rand" "0.3.14")) > + (uri (crate-uri "bufstream" "0.1.3")) > (sha256 > - (base32 > - "1984zvj8572ig28fz6idc4r96fx39h4lzmr07yf7kb7gdn6di497")))) > - ("rust-gcc" > + (base16-string->bytevector > + "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d09= 468e32")))) > + ("rust-cc" > ,(origin > (method url-fetch) > - (uri (crate-uri "gcc" "0.3.39")) > + (uri (crate-uri "cc" "1.0.0")) > (sha256 > - (base32 > - "1q0idjvmhp6shkb9hqabh51rgfr8dqpi1xfmyzq7q8vgzybll7kp")))) > - ("rust-tempdir" > + (base16-string->bytevector > + "7db2f146208d7e0fbee761b09cd65a7f51ccc38705d4e7262dad4d73b1= 2a76b1")))) > + ("rust-cfg-if" > ,(origin > (method url-fetch) > - (uri (crate-uri "tempdir" "0.3.5")) > + (uri (crate-uri "cfg-if" "0.1.2")) > (sha256 > - (base32 > - "1mij45kgzflkja0h8q9avrik76h5a0b60m9hfd6k9yqxbiplm5w7")))) > - ("rust-memchr" > + (base16-string->bytevector > + "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed= 3140de")))) > + ("rust-cmake" > ,(origin > (method url-fetch) > - (uri (crate-uri "memchr" "0.1.11")) > + (uri (crate-uri "cmake" "0.1.26")) > (sha256 > - (base32 > - "084d85hjfa3xf5kwdms2mhbkh78m1gl2254cp5swcxj3a7xjkdnq")))) > - ("rust-rustc-serialize" > + (base16-string->bytevector > + "357c07e7a1fc95732793c1edb5901e1a1f305cfcf63a90eb12dbd22bdb= 6b789d")))) > + ("rust-commoncrypto" > ,(origin > (method url-fetch) > - (uri (crate-uri "rustc-serialize" "0.3.21")) > + (uri (crate-uri "commoncrypto" "0.2.0")) > (sha256 > - (base32 > - "064qmyr2508qf78dwcpiv25rfjp9h9vd0wrj4mmwgppjg4fgrydz")))) > - ("rust-cmake" > + (base16-string->bytevector > + "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819= b69007")))) > + ("rust-commoncrypto-sys" > ,(origin > (method url-fetch) > - (uri (crate-uri "cmake" "0.1.19")) > + (uri (crate-uri "commoncrypto-sys" "0.2.0")) > (sha256 > - (base32 > - "0am8c8ns1h6b1a5x9z2r1m3rszvya5nccl2pzszzjv5aiiaydgcf")))) > - ("rust-matches" > + (base16-string->bytevector > + "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f= 4083e2")))) > + ("rust-conv" > ,(origin > (method url-fetch) > - (uri (crate-uri "matches" "0.1.4")) > + (uri (crate-uri "conv" "0.3.3")) > (sha256 > - (base32 > - "1c8190j84hbicy8jwscw5icfam12j6lcxi02lvmadq9260p65mzg")))) > - ("rust-winapi" > + (base16-string->bytevector > + "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf= 0d1299")))) > + ("rust-core-foundation" > ,(origin > (method url-fetch) > - (uri (crate-uri "winapi" "0.2.8")) > + (uri (crate-uri "core-foundation" "0.4.4")) > (sha256 > - (base32 > - "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n")))) > - ("rust-pkg-config" > + (base16-string->bytevector > + "5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb2= 320dc7")))) > + ("rust-core-foundation-sys" > ,(origin > (method url-fetch) > - (uri (crate-uri "pkg-config" "0.3.8")) > + (uri (crate-uri "core-foundation-sys" "0.4.4")) > (sha256 > - (base32 > - "1ypj4nj2z9z27qg06v3g40jyhw685i3l2wi098d21bvyri781vlc")))) > - ("rust-libssh2-sys" > + (base16-string->bytevector > + "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b= 9a3387")))) > + ("rust-crossbeam" > ,(origin > (method url-fetch) > - (uri (crate-uri "libssh2-sys" "0.2.5")) > + (uri (crate-uri "crossbeam" "0.2.10")) > (sha256 > - (base32 > - "0d2r36hrh9vc1821r0v4kywv30svpf37d31calwql69fbij3bqci")))) > - ("rust-libz-sys" > + (base16-string->bytevector > + "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927= 508f97")))) > + ("rust-crossbeam-0.3.0" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "crossbeam" "0.3.0")) > + (sha256 > + (base16-string->bytevector > + "8837ab96533202c5b610ed44bc7f4183e7957c1c8f56e8cc78bb098593= c8ba0a")))) > + ("rust-crypto-hash" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "crypto-hash" "0.3.0")) > + (sha256 > + (base16-string->bytevector > + "34903878eec1694faf53cae8473a088df333181de421d4d3d48061d655= 9fe602")))) > + ("rust-curl" > ,(origin > (method url-fetch) > - (uri (crate-uri "libz-sys" "1.0.13")) > + (uri (crate-uri "curl" "0.4.8")) > (sha256 > - (base32 > - "034pgvxzgsv37iafgs0lmvd1ifm0bg0zm1xcsn9x71nn8lm93vp5")))) > + (base16-string->bytevector > + "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41= ae9c2c")))) > ("rust-curl-sys" > ,(origin > (method url-fetch) > - (uri (crate-uri "curl-sys" "0.3.6")) > + (uri (crate-uri "curl-sys" "0.3.15")) > (sha256 > - (base32 > - "0fi8kjz3f8m8vfazycs3ddm0h6j3x78hw78gwbvybx71129192i1")))) > - ("rust-error-chain" > + (base16-string->bytevector > + "4bee31aa3a079d5f3ff9579ea4dcfb1b1a17a40886f5f467436d383e78= 134b55")))) > + ("rust-custom_derive" > ,(origin > (method url-fetch) > - (uri (crate-uri "error-chain" "0.7.2")) > + (uri (crate-uri "custom_derive" "0.1.7")) > (sha256 > - (base32 > - "03qjh6l2a9fkiyg0428p7q3dcpi47cbmrqf9zmlymkg43v3v731i")))) > - ("rust-metadeps" > + (base16-string->bytevector > + "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b7= 5a01b9")))) > + ("rust-dbghelp-sys" > ,(origin > (method url-fetch) > - (uri (crate-uri "metadeps" "1.1.1")) > + (uri (crate-uri "dbghelp-sys" "0.2.0")) > (sha256 > - (base32 > - "0l818461bslb7nrs7r1amkqv45n53fcp5sabyqipwx0xxbkzz7w2")))) > - ("rust-openssl-sys" > + (base16-string->bytevector > + "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4f= c5b850")))) > + ("rust-docopt" > ,(origin > (method url-fetch) > - (uri (crate-uri "openssl-sys" "0.9.6")) > + (uri (crate-uri "docopt" "0.8.1")) > (sha256 > - (base32 > - "1hzpyf9z8xg1yn5r9g17bl5j20nifd6s2zp10xh90v7m0sd2yj5i")))) > - ("rust-fs2" > + (base16-string->bytevector > + "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b= 49787a")))) > + ("rust-dtoa" > ,(origin > (method url-fetch) > - (uri (crate-uri "fs2" "0.3.0")) > + (uri (crate-uri "dtoa" "0.4.2")) > (sha256 > - (base32 > - "0lg57mgcm1r0m8jm4nqpcrl6lmxg8lj854k2h0r7qp46pphh2034")))) > - ("rust-log" > + (base16-string->bytevector > + "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c4= 8e50ab")))) > + ("rust-env_logger" > ,(origin > (method url-fetch) > - (uri (crate-uri "log" "0.3.6")) > + (uri (crate-uri "env_logger" "0.4.3")) > (sha256 > - (base32 > - "0m40hgs3cg57dd5kk1mabfk6gk8z6l1cihar8akx4kmzz1xlk0xb")))) > + (base16-string->bytevector > + "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9= f8cd5b")))) > + ("rust-error-chain" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "error-chain" "0.11.0")) > + (sha256 > + (base16-string->bytevector > + "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb476541= 9ed3f3")))) > ("rust-filetime" > ,(origin > (method url-fetch) > - (uri (crate-uri "filetime" "0.1.10")) > + (uri (crate-uri "filetime" "0.1.12")) > (sha256 > - (base32 > - "08p9scgv30i1141cnp5xi4pqlnkfci455nrpca55df1r867anqsk")))) > - ("rust-tar" > + (base16-string->bytevector > + "6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf= 732c0e")))) > + ("rust-flate2" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "flate2" "0.2.20")) > + (sha256 > + (base16-string->bytevector > + "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc= 81e423")))) > + ("rust-fnv" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "fnv" "1.0.5")) > + (sha256 > + (base16-string->bytevector > + "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98= fee344")))) > + ("rust-foreign-types" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "foreign-types" "0.2.0")) > + (sha256 > + (base16-string->bytevector > + "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69= b8a29d")))) > + ("rust-fs2" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "fs2" "0.4.2")) > + (sha256 > + (base16-string->bytevector > + "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e= 5c2866")))) > + ("rust-git2" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "git2" "0.6.8")) > + (sha256 > + (base16-string->bytevector > + "0c1c0203d653f4140241da0c1375a404f0a397249ec818cd2076c6280c= 50f6fa")))) > + ("rust-git2-curl" > ,(origin > (method url-fetch) > - (uri (crate-uri "tar" "0.4.9")) > + (uri (crate-uri "git2-curl" "0.7.0")) > (sha256 > - (base32 > - "1vi3nl8s3jjf5l20ni47gmh1p4bdjfh7q50fbg7izzqrf7i4i40c")))) > + (base16-string->bytevector > + "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9= c5bf8e")))) > ("rust-glob" > ,(origin > (method url-fetch) > (uri (crate-uri "glob" "0.2.11")) > (sha256 > - (base32 > - "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb")))) > - ("rust-cfg-if" > + (base16-string->bytevector > + "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5= 895bfb")))) > + ("rust-globset" > ,(origin > (method url-fetch) > - (uri (crate-uri "cfg-if" "0.1.0")) > + (uri (crate-uri "globset" "0.2.0")) > (sha256 > - (base32 > - "137qikjcal4h75frzcn6mknygqk8vy5bva7w851aydb5gc6pc7ny")))) > - ("rust-winapi-build" > + (base16-string->bytevector > + "feeb1b6840809ef5efcf7a4a990bc4e1b7ee3df8cf9e2379a75aeb2ba4= 2ac9c3")))) > + ("rust-hamcrest" > ,(origin > (method url-fetch) > - (uri (crate-uri "winapi-build" "0.1.1")) > + (uri (crate-uri "hamcrest" "0.1.1")) > (sha256 > - (base32 > - "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d")))) > - ("rust-advapi32-sys" > + (base16-string->bytevector > + "bf088f042a467089e9baa4972f57f9247e42a0cc549ba264c7a04fbb8e= cb89d4")))) > + ("rust-hex" > ,(origin > (method url-fetch) > - (uri (crate-uri "advapi32-sys" "0.2.0")) > + (uri (crate-uri "hex" "0.2.0")) > (sha256 > - (base32 > - "16largvlrd1800vvdchml0ngnszjlnpqm01rcz5hm7di1h48hrg0")))) > - ("rust-gdi32-sys" > + (base16-string->bytevector > + "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01= e153aa")))) > + ("rust-home" > ,(origin > (method url-fetch) > - (uri (crate-uri "gdi32-sys" "0.2.0")) > + (uri (crate-uri "home" "0.3.0")) > (sha256 > - (base32 > - "0605d4ngjsspghwjv4jicajich1gnl0aik9f880ajjzjixd524h9")))) > - ("rust-ws2_32-sys" > + (base16-string->bytevector > + "9f25ae61099d8f3fee8b483df0bd4ecccf4b2731897aad40d50eca1b64= 1fe6db")))) > + ("rust-idna" > ,(origin > (method url-fetch) > - (uri (crate-uri "ws2_32-sys" "0.2.1")) > + (uri (crate-uri "idna" "0.1.4")) > (sha256 > - (base32 > - "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m")))) > - ("rust-user32-sys" > + (base16-string->bytevector > + "014b298351066f1512874135335d62a789ffe78a9974f94b43ed562195= 1eaf7d")))) > + ("rust-ignore" > ,(origin > (method url-fetch) > - (uri (crate-uri "user32-sys" "0.2.0")) > + (uri (crate-uri "ignore" "0.2.2")) > (sha256 > - (base32 > - "0ivxc7hmsxax9crdhxdd1nqwik4s9lhb2x59lc8b88bv20fp3x2f")))) > - ("rust-unicode-bidi" > + (base16-string->bytevector > + "b3fcaf2365eb14b28ec7603c98c06cc531f19de9eb283d89a3dff8417c= 8c99f5")))) > + ("rust-itoa" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "itoa" "0.3.4")) > + (sha256 > + (base16-string->bytevector > + "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414d= e4db8c")))) > + ("rust-jobserver" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "jobserver" "0.1.6")) > + (sha256 > + (base16-string->bytevector > + "443ae8bc0af6c106e6e8b77e04684faecc1a5ce94e058f4c2b0a037b0e= a1b133")))) > + ("rust-kernel32-sys" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "kernel32-sys" "0.2.2")) > + (sha256 > + (base16-string->bytevector > + "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c0= 56098d")))) > + ("rust-lazy_static" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "lazy_static" "0.2.9")) > + (sha256 > + (base16-string->bytevector > + "c9e5e58fa1a4c3b915a561a78a22ee0cac6ab97dca2504428bc1cb0743= 75f8d5")))) > + ("rust-libc" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "libc" "0.2.31")) > + (sha256 > + (base16-string->bytevector > + "d1419b2939a0bc44b77feb34661583c7546b532b192feab36249ab584b= 86856c")))) > + ("rust-libgit2-sys" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "libgit2-sys" "0.6.16")) > + (sha256 > + (base16-string->bytevector > + "6f74b4959cef96898f5123148724fc7dee043b9a6b99f219d948851bfb= e53cb2")))) > + ("rust-libssh2-sys" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "libssh2-sys" "0.2.6")) > + (sha256 > + (base16-string->bytevector > + "0db4ec23611747ef772db1c4d650f8bd762f07b461727ec998f953c614= 024b75")))) > + ("rust-libz-sys" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "libz-sys" "1.0.17")) > + (sha256 > + (base16-string->bytevector > + "44ebbc760fd2d2f4d93de09a0e13d97e057612052e871da9985cedcb45= 1e6bd5")))) > + ("rust-log" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "log" "0.3.8")) > + (sha256 > + (base16-string->bytevector > + "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e635= 12565b")))) > + ("rust-magenta" > ,(origin > (method url-fetch) > - (uri (crate-uri "unicode-bidi" "0.2.3")) > + (uri (crate-uri "magenta" "0.1.1")) > (sha256 > - (base32 > - "0gqbyf6slkgzr14nf6v8dw8a19l5snh6bpms8bpfvzpxdawwxxy1")))) > + (base16-string->bytevector > + "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe= 3ac527")))) > + ("rust-magenta-sys" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "magenta-sys" "0.1.1")) > + (sha256 > + (base16-string->bytevector > + "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d7= 5f4699")))) > + ("rust-matches" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "matches" "0.1.6")) > + (sha256 > + (base16-string->bytevector > + "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f= 193376")))) > + ("rust-memchr" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "memchr" "0.1.11")) > + (sha256 > + (base16-string->bytevector > + "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761= 418d20")))) > + ("rust-memchr-1.0.1" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "memchr" "1.0.1")) > + (sha256 > + (base16-string->bytevector > + "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e3127= 5a47b4")))) > + ("rust-miniz-sys" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "miniz-sys" "0.1.10")) > + (sha256 > + (base16-string->bytevector > + "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869= d7e2b4")))) > + ("rust-miow" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "miow" "0.2.1")) > + (sha256 > + (base16-string->bytevector > + "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a35= 5ae919")))) > ("rust-net2" > ,(origin > (method url-fetch) > - (uri (crate-uri "net2" "0.2.26")) > + (uri (crate-uri "net2" "0.2.31")) > (sha256 > - (base32 > - "1qp3q6xynb481rsp3ig1nmqb6qlxfba3shfrmqij88cppsv9rpsy")))) > - ("rust-utf8-ranges" > + (base16-string->bytevector > + "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b= 716c09")))) > + ("rust-num" > ,(origin > (method url-fetch) > - (uri (crate-uri "utf8-ranges" "0.1.3")) > + (uri (crate-uri "num" "0.1.40")) > (sha256 > - (base32 > - "03xf604b2v51ag3jgzw92l97xnb10kw9zv948bhc7ja1ik017jm1")))) > - ("rust-crossbeam" > + (base16-string->bytevector > + "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f= 923525")))) > + ("rust-num-bigint" > ,(origin > (method url-fetch) > - (uri (crate-uri "crossbeam" "0.2.10")) > + (uri (crate-uri "num-bigint" "0.1.40")) > (sha256 > - (base32 > - "15wga0kvk3iqf3l077957j931brf1pl3p74xibd698jccqas4phc")))) > - ("rust-toml" > + (base16-string->bytevector > + "8fd0f8dbb4c0960998958a796281d88c16fbe68d87b1baa6f31e2979e8= 1fd0bd")))) > + ("rust-num-complex" > ,(origin > (method url-fetch) > - (uri (crate-uri "toml" "0.2.1")) > + (uri (crate-uri "num-complex" "0.1.40")) > (sha256 > - (base32 > - "1d1cz43bxrx4fd6j2p6myckf81f72bp47akg36y3flxjkhj60svk")))) > - ("rust-aho-corasick" > + (base16-string->bytevector > + "503e668405c5492d67cf662a81e05be40efe2e6bcf10f7794a07bd9865= e704e6")))) > + ("rust-num-integer" > ,(origin > (method url-fetch) > - (uri (crate-uri "aho-corasick" "0.5.3")) > + (uri (crate-uri "num-integer" "0.1.35")) > + (sha256 > + (base16-string->bytevector > + "d1452e8b06e448a07f0e6ebb0bb1d92b8890eea63288c0b627331d5351= 4d0fba")))) > + ("rust-num-iter" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "num-iter" "0.1.34")) > + (sha256 > + (base16-string->bytevector > + "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13= dffe01")))) > + ("rust-num-rational" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "num-rational" "0.1.39")) > + (sha256 > + (base16-string->bytevector > + "288629c76fac4b33556f4b7ab57ba21ae202da65ba8b77466e6d598e31= 990790")))) > + ("rust-num-traits" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "num-traits" "0.1.40")) > + (sha256 > + (base16-string->bytevector > + "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac7= 21b9b0")))) > + ("rust-num_cpus" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "num_cpus" "1.7.0")) > + (sha256 > + (base16-string->bytevector > + "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d4= 53b20d")))) > + ("rust-openssl" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "openssl" "0.9.19")) > + (sha256 > + (base16-string->bytevector > + "816914b22eb15671d62c73442a51978f311e911d6a6f6cbdafa6abce1b= 5038fc")))) > + ("rust-openssl-probe" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "openssl-probe" "0.1.1")) > + (sha256 > + (base16-string->bytevector > + "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f= 378daf")))) > + ("rust-openssl-sys" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "openssl-sys" "0.9.19")) > + (sha256 > + (base16-string->bytevector > + "1e4c63a7d559c1e5afa6d6a9e6fa34bbc5f800ffc9ae08b72c605420b0= c4f5e8")))) > + ("rust-percent-encoding" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "percent-encoding" "1.0.0")) > + (sha256 > + (base16-string->bytevector > + "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a= 6ae356")))) > + ("rust-pkg-config" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "pkg-config" "0.3.9")) > (sha256 > - (base32 > - "0rnvdmlajikq0i4zdy1p3pv699q6apvsxfc7av7byhppllp2r5ya")))) > + (base16-string->bytevector > + "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630e= dba903")))) > ("rust-psapi-sys" > ,(origin > (method url-fetch) > (uri (crate-uri "psapi-sys" "0.1.0")) > (sha256 > - (base32 > - "0y14g8qshsfnmb7nk2gs1rpbrs1wrggajmzp4yby4q6k0wd5vkdb")))) > - ("rust-idna" > + (base16-string->bytevector > + "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a831= 7a2478")))) > + ("rust-quote" > ,(origin > (method url-fetch) > - (uri (crate-uri "idna" "0.1.0")) > + (uri (crate-uri "quote" "0.3.15")) > (sha256 > - (base32 > - "049c2rmlydrrrgrxdaq2v21adx9vkfh6k9x4xj56ckyf01p26lqh")))) > - ("rust-url" > + (base16-string->bytevector > + "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467a= b4167a")))) > + ("rust-rand" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "rand" "0.3.16")) > + (sha256 > + (base16-string->bytevector > + "eb250fd207a4729c976794d03db689c9be1d634ab5a1c9da9492a13d8f= ecbcdf")))) > + ("rust-redox_syscall" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "redox_syscall" "0.1.31")) > + (sha256 > + (base16-string->bytevector > + "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47e= b04509")))) > + ("rust-redox_termios" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "redox_termios" "0.1.1")) > + (sha256 > + (base16-string->bytevector > + "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160= db0f76")))) > + ("rust-regex" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "regex" "0.1.80")) > + (sha256 > + (base16-string->bytevector > + "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da0= 19402f")))) > + ("rust-regex-0.2.2" > ,(origin > (method url-fetch) > - (uri (crate-uri "url" "1.2.3")) > + (uri (crate-uri "regex" "0.2.2")) > (sha256 > - (base32 > - "1myr1i8djbl2bhvvrm6n3h7bj7sl6kh5dmaaz2f7c6x8hyyzgk28")))) > + (base16-string->bytevector > + "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda218= 3b2d1b")))) > ("rust-regex-syntax" > ,(origin > (method url-fetch) > (uri (crate-uri "regex-syntax" "0.3.9")) > (sha256 > - (base32 > - "0ms9hgdhhsxw9w920i7gipydvagf100bb56jbs192rz86ln01v7r")))) > - ("rust-kernel32-sys" > + (base16-string->bytevector > + "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db= 834957")))) > + ("rust-regex-syntax-0.4.1" > ,(origin > (method url-fetch) > - (uri (crate-uri "kernel32-sys" "0.2.2")) > + (uri (crate-uri "regex-syntax" "0.4.1")) > (sha256 > - (base32 > - "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm")))) > - ("rust-term" > + (base16-string->bytevector > + "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d15= 7f62db")))) > + ("rust-rustc-demangle" > ,(origin > (method url-fetch) > - (uri (crate-uri "term" "0.4.4")) > + (uri (crate-uri "rustc-demangle" "0.1.5")) > (sha256 > - (base32 > - "0jpr7jb1xidadh0arklwr99r8w1k1dfc4an3ginpsq5nnfigivrx")))) > - ("rust-thread-id" > + (base16-string->bytevector > + "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf2= 9e817e")))) > + ("rust-rustc-serialize" > ,(origin > (method url-fetch) > - (uri (crate-uri "thread-id" "2.0.0")) > + (uri (crate-uri "rustc-serialize" "0.3.24")) > (sha256 > - (base32 > - "00zzs2bx1xw8aqm5plqqgr7bc2zz6zkqrdxq8vpiqb8hc2srslx9")))) > - ("rust-thread_local" > + (base16-string->bytevector > + "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d5= 1e6fda")))) > + ("rust-same-file" > ,(origin > (method url-fetch) > - (uri (crate-uri "thread_local" "0.2.7")) > + (uri (crate-uri "same-file" "0.1.3")) > (sha256 > - (base32 > - "1mgxikqvhpsic6xk7pan95lvgsky1sdxzw2w5m2l35pgrazxnxl5")))) > - ("rust-miow" > + (base16-string->bytevector > + "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4= a117a7")))) > + ("rust-scoped-tls" > ,(origin > (method url-fetch) > - (uri (crate-uri "miow" "0.1.3")) > + (uri (crate-uri "scoped-tls" "0.1.0")) > (sha256 > - (base32 > - "16jvfjsp6fr4mbd2sw5hcdmi4dsa0m0aa45gjz78mb1h4mwcdgym")))) > - ("rust-regex" > + (base16-string->bytevector > + "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb90380= 7f147d")))) > + ("rust-scopeguard" > ,(origin > (method url-fetch) > - (uri (crate-uri "regex" "0.1.80")) > + (uri (crate-uri "scopeguard" "0.1.2")) > (sha256 > - (base32 > - "0bs036h3vzc6pj5jj4vc909s9rppq7b808ic99qn0y6gm3karm2g")))) > - ("rust-num_cpus" > + (base16-string->bytevector > + "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e8398= 1a6c57")))) > + ("rust-semver" > ,(origin > (method url-fetch) > - (uri (crate-uri "num_cpus" "1.1.0")) > + (uri (crate-uri "semver" "0.8.0")) > (sha256 > - (base32 > - "1bfwcn3yhwa31rinjw9yr7b6gvn6c06hnwnjz06pvm938w4fd448")))) > - ("rust-libgit2-sys" > + (base16-string->bytevector > + "bee2bc909ab2d8d60dab26e8cad85b25d795b14603a0dcb627b78b9d30= b6454b")))) > + ("rust-semver-parser" > ,(origin > (method url-fetch) > - (uri (crate-uri "libgit2-sys" "0.6.6")) > + (uri (crate-uri "semver-parser" "0.7.0")) > (sha256 > - (base32 > - "074h9q4p60xh6canb0sj4vrc801wqv6p53l9lp0q724bkwzf7967")))) > - ("rust-env_logger" > + (base16-string->bytevector > + "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8= f570a3")))) > + ("rust-serde" > ,(origin > (method url-fetch) > - (uri (crate-uri "env_logger" "0.3.5")) > + (uri (crate-uri "serde" "1.0.15")) > (sha256 > - (base32 > - "0bvcjgkw4s3k1rd7glpflgc8s9a393zjd6jfdgvs8gjvwj0dgaqm")))) > - ("rust-openssl-probe" > + (base16-string->bytevector > + "6a7046c9d4c6c522d10b2d098f9bebe2bef227e0e74044d8c1bfcf6b47= 6af799")))) > + ("rust-serde_derive" > ,(origin > (method url-fetch) > - (uri (crate-uri "openssl-probe" "0.1.0")) > + (uri (crate-uri "serde_derive" "1.0.15")) > (sha256 > - (base32 > - "0689h6rhzy6dypqr90lsxnf108nsnh952wsx7ggs70s48b44jvbm")))) > - ("rust-lazy_static" > + (base16-string->bytevector > + "1afcaae083fd1c46952a315062326bc9957f182358eb7da03b57ef1c68= 8f7aa9")))) > + ("rust-serde_derive_internals" > ,(origin > (method url-fetch) > - (uri (crate-uri "lazy_static" "0.2.2")) > + (uri (crate-uri "serde_derive_internals" "0.16.0")) > (sha256 > - (base32 > - "16z1h7w702sxnscak38jykxlhxq0b5ip4mndlb46pkaqwzi0xgka")))) > - ("rust-semver-parser" > + (base16-string->bytevector > + "bd381f6d01a6616cdba8530492d453b7761b456ba974e98768a18cad2c= d76f58")))) > + ("rust-serde_ignored" > ,(origin > (method url-fetch) > - (uri (crate-uri "semver-parser" "0.6.1")) > + (uri (crate-uri "serde_ignored" "0.0.4")) > (sha256 > - (base32 > - "1s8s7a7yg8xhgci17y0xhyyncg229byivhpr0wbs3ljdlyjl73p8")))) > - ("rust-semver" > + (base16-string->bytevector > + "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc0= 1fb142")))) > + ("rust-serde_json" > ,(origin > (method url-fetch) > - (uri (crate-uri "semver" "0.5.1")) > + (uri (crate-uri "serde_json" "1.0.3")) > (sha256 > - (base32 > - "1xbiv8l72rmngb3lgbmk3vd4lalcbzxcnrn085c2b75irl7gcbxf")))) > - ("rust-docopt" > + (base16-string->bytevector > + "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6a= c6b7ac")))) > + ("rust-shell-escape" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "shell-escape" "0.1.3")) > + (sha256 > + (base16-string->bytevector > + "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97= b84ef8")))) > + ("rust-socket2" > ,(origin > (method url-fetch) > - (uri (crate-uri "docopt" "0.6.86")) > + (uri (crate-uri "socket2" "0.2.3")) > (sha256 > - (base32 > - "1nf4f4zf5yk0d0l4kl7hkii4na22fhn0l2hgfb46yzv08l2g6zja")))) > - ("rust-miniz-sys" > + (base16-string->bytevector > + "9e76b159741052c7deaa9fd0b5ca6b5f79cecf525ed665abfe5002086c= 6b2791")))) > + ("rust-strsim" > ,(origin > (method url-fetch) > - (uri (crate-uri "miniz-sys" "0.1.7")) > + (uri (crate-uri "strsim" "0.6.0")) > (sha256 > - (base32 > - "0m7dlggsxash0k5jkx576p556g9r8vnhyl9244gjxhq1g8rls7wx")))) > - ("rust-curl" > + (base16-string->bytevector > + "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e256214= 7c3694")))) > + ("rust-syn" > ,(origin > (method url-fetch) > - (uri (crate-uri "curl" "0.4.1")) > + (uri (crate-uri "syn" "0.11.11")) > (sha256 > - (base32 > - "1b0y27b6vpqffgzm2kxc1s2i6bgdzxk3wn65g2asbcdxrvys3mcg")))) > - ("rust-flate2" > + (base16-string->bytevector > + "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b= 441dad")))) > + ("rust-synom" > ,(origin > (method url-fetch) > - (uri (crate-uri "flate2" "0.2.14")) > + (uri (crate-uri "synom" "0.11.3")) > (sha256 > - (base32 > - "1fx3zsls5bb1zfx87s5sxkgk853z4nhjsbvq5s6if13kjlg4isry")))) > - ("rust-git2" > + (base16-string->bytevector > + "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b5= 1945b6")))) > + ("rust-tar" > ,(origin > (method url-fetch) > - (uri (crate-uri "git2" "0.6.3")) > + (uri (crate-uri "tar" "0.4.13")) > (sha256 > - (base32 > - "06b1bw3pwszs8617xn8js6h0j983qjgfwsychw33lshccj3cld05")))) > - ("rust-crates-io" > + (base16-string->bytevector > + "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a5= 3f2b1b")))) > + ("rust-tempdir" > ,(origin > (method url-fetch) > - (uri (crate-uri "crates-io" "0.4.0")) > + (uri (crate-uri "tempdir" "0.3.5")) > (sha256 > - (base32 > - "0kk6abp1qbpv44hkq1yjp7xgpzjzafs83i1l26ycr0aph1gbwig9")))) > - ("rust-git2-curl" > + (base16-string->bytevector > + "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff66= 2132d6")))) > + ("rust-termcolor" > ,(origin > (method url-fetch) > - (uri (crate-uri "git2-curl" "0.7.0")) > + (uri (crate-uri "termcolor" "0.3.3")) > (sha256 > - (base32 > - "13mzqp4rd81zp78261rlq23iw9aaysdr56484y1yy2xzhk3nnrv8")))) > - ("rust-bufstream" > + (base16-string->bytevector > + "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b= 242c75")))) > + ("rust-termion" > ,(origin > (method url-fetch) > - (uri (crate-uri "bufstream" "0.1.2")) > + (uri (crate-uri "termion" "1.5.1")) > (sha256 > - (base32 > - "0x6h27md1fwabbhbycfldj0wklrpjr520z9p0cpzm60fzzidnj3v")))) > - ("rust-hamcrest" > + (base16-string->bytevector > + "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76= e92096")))) > + ("rust-thread-id" > ,(origin > (method url-fetch) > - (uri (crate-uri "hamcrest" "0.1.1")) > + (uri (crate-uri "thread-id" "2.0.0")) > (sha256 > - (base32 > - "1m49rf7bnkx0qxja56slrjh44zi4z5bjz5x4pblqjw265828y25z")))) > - ("rust-num" > + (base16-string->bytevector > + "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097= d0ff03")))) > + ("rust-thread_local" > ,(origin > (method url-fetch) > - (uri (crate-uri "num" "0.1.36")) > + (uri (crate-uri "thread_local" "0.2.7")) > (sha256 > - (base32 > - "081i1r3mdz6jasqd7qwraqqfqa3sdpvdvxl1xq0s7ip714xw1rxx")))) > - ("rust-num-traits" > + (base16-string->bytevector > + "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f1= 8cfdd5")))) > + ("rust-thread_local-0.3.4" > ,(origin > (method url-fetch) > - (uri (crate-uri "num-traits" "0.1.36")) > + (uri (crate-uri "thread_local" "0.3.4")) > (sha256 > - (base32 > - "07688sp4z40p14lh5ywvrpm4zq8kcxzhjks8sg33jsr5da2l4sm1")))) > - ("rust-num-integer" > + (base16-string->bytevector > + "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a= 90bb14")))) > + ("rust-toml" > ,(origin > (method url-fetch) > - (uri (crate-uri "num-integer" "0.1.32")) > + (uri (crate-uri "toml" "0.4.5")) > (sha256 > - (base32 > - "14pvaaawl0pgdcgh4dfdd67lz58yxlfl95bry86h28pjnfzxj97v")))) > - ("rust-num-bigint" > + (base16-string->bytevector > + "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a4= 5b6e7e")))) > + ("rust-unicode-bidi" > ,(origin > (method url-fetch) > - (uri (crate-uri "num-bigint" "0.1.35")) > + (uri (crate-uri "unicode-bidi" "0.3.4")) > (sha256 > - (base32 > - "0jayfkdm33p4zvcahlv46zdfhlzg053mpw32abf2lz0z8xw47cc8")))) > - ("rust-num-rational" > + (base16-string->bytevector > + "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729= ea54d5")))) > + ("rust-unicode-normalization" > ,(origin > (method url-fetch) > - (uri (crate-uri "num-rational" "0.1.35")) > + (uri (crate-uri "unicode-normalization" "0.1.5")) > (sha256 > - (base32 > - "1bwaygv64qg7i78yqg0v4d0amfhamj598rpy4yxjz9rlhcxn1zsl")))) > - ("rust-num-iter" > + (base16-string->bytevector > + "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c8746= 25920f")))) > + ("rust-unicode-xid" > ,(origin > (method url-fetch) > - (uri (crate-uri "num-iter" "0.1.32")) > + (uri (crate-uri "unicode-xid" "0.0.4")) > (sha256 > - (base32 > - "0p74nj5c1mc33h9lx4wpmlmggmn5lnkhxv1225g0aix8d6ciqyi8")))) > - ("rust-num-complex" > + (base16-string->bytevector > + "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c46107= 4cb4dc")))) > + ("rust-unreachable" > ,(origin > (method url-fetch) > - (uri (crate-uri "num-complex" "0.1.35")) > + (uri (crate-uri "unreachable" "1.0.0")) > (sha256 > - (base32 > - "0bzrjfppnnzf9vmkpklhp2dw9sb1lqzydb8r6k83z76i9l2qxizh")))) > - ("rust-shell-escape" > + (base16-string->bytevector > + "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e68= 14fa56")))) > + ("rust-url" > ,(origin > (method url-fetch) > - (uri (crate-uri "shell-escape" "0.1.3")) > + (uri (crate-uri "url" "1.5.1")) > + (sha256 > + (base16-string->bytevector > + "eeb819346883532a271eb626deb43c4a1bb4c4dd47c519bd78137c3e72= a4fe27")))) > + ("rust-userenv-sys" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "userenv-sys" "0.2.0")) > + (sha256 > + (base16-string->bytevector > + "71d28ea36bbd9192d75bd9fa9b39f96ddb986eaee824adae5d53b6e519= 19b2f3")))) > + ("rust-utf8-ranges" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "utf8-ranges" "0.1.3")) > + (sha256 > + (base16-string->bytevector > + "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb108= 30ae0f")))) > + ("rust-utf8-ranges-1.0.0" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "utf8-ranges" "1.0.0")) > + (sha256 > + (base16-string->bytevector > + "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55= 124122")))) > + ("rust-vcpkg" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "vcpkg" "0.2.2")) > + (sha256 > + (base16-string->bytevector > + "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd5= 487d0b")))) > + ("rust-void" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "void" "1.0.2")) > + (sha256 > + (base16-string->bytevector > + "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae27= 70887d")))) > + ("rust-walkdir" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "walkdir" "1.0.7")) > + (sha256 > + (base16-string->bytevector > + "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9d= d288ff")))) > + ("rust-winapi" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "winapi" "0.2.8")) > (sha256 > - (base32 > - "1y2fp2brv639icv4a0fdqs1zhlrxq8qbz27ygfa86ifmh5jcjp6x")))))) > + (base16-string->bytevector > + "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a9= 09087a")))) > + ("rust-winapi-build" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "winapi-build" "0.1.1")) > + (sha256 > + (base16-string->bytevector > + "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299f= c699bc")))) > + ("rust-wincolor" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "wincolor" "0.1.4")) > + (sha256 > + (base16-string->bytevector > + "a39ee4464208f6430992ff20154216ab2357772ac871d994c51628d60e= 58b8b0")))) > + ("rust-ws2_32-sys" > + ,(origin > + (method url-fetch) > + (uri (crate-uri "ws2_32-sys" "0.2.1")) > + (sha256 > + (base16-string->bytevector > + "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb= 63fa5e")))))) > (arguments > `(#:cargo ,cargo-bootstrap > - #:tests? #f ; FIXME > + #:rustc ,rustc ; Force to use rustc from current file > #:modules > ((ice-9 match) > (srfi srfi-1) ; 'every > @@ -853,12 +1262,8 @@ safety and thread safety guarantees.") > (guix build cargo-build-system)) > #:phases > (modify-phases %standard-phases > - ;; Avoid cargo complaining about missmatched checksums. > - (delete 'patch-source-shebangs) > - (delete 'patch-generated-file-shebangs) > - (delete 'patch-usr-bin-file) > - (add-after 'unpack 'unpack-submodule-sources > - (lambda* (#:key inputs #:allow-other-keys) > + (add-after 'unpack 'unpack-dependencies > + (lambda* (#:key inputs outputs #:allow-other-keys) > (define (unpack source target) > (mkdir-p target) > (with-directory-excursion target > @@ -871,37 +1276,56 @@ safety and thread safety guarantees.") > (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))) > + (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 'unpack 'set-environment-up > + (mkdir "vendor") > + (every install-rust-library inputs))) > + (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums > (lambda* (#:key inputs #:allow-other-keys) > - (let* ((gcc (assoc-ref inputs "gcc")) > - (cc (string-append gcc "/bin/gcc"))) > - (mkdir ".cargo") > - (call-with-output-file ".cargo/config" > - (lambda (p) > - (format p " > + (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 f= or " > + dir "\n")) > + (generate-checksums dir ,%cargo-reference-project-file= ))) > + (find-files "vendor" ".cargo-checksum.json")))) > + (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 =3D 'https://github.com/rust-lang/crates.io-index' > replace-with =3D 'vendored-sources' > =20 > [source.vendored-sources] > directory =3D 'vendor' > -"))) > - (setenv "CMAKE_C_COMPILER" cc) > - (setenv "CC" cc)) > - #t)) > - (delete 'configure)))) > +" 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"))))))) > (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 t= heir > --=20 > 2.15.0 >=20 --=20 GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588 GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys WWW: https://n0.is --kr32565dpba3pw7b Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAlok8vQACgkQ4i+bv+40 hYglLw/9Htb6YR6/660A75QO33bomZXdCF7jIb0I9JuGXl4D+N+xcszTPxTTB0l4 VwcFDOgQz4R0dqBFTC7TVfIA86Sum+PYpvKoy0vjNA+u8V+lcjIu5UlCxQzK+3QV LWfkpPCqvlnoLDeOzy2KiCh2rErdiP5onp09SsX7djEgqZnAQFAsM0s8PZv9UHqg 7dlJJVlFFRCs/7Irt1dswySr2hvdltgvgrt04HvSZRG5igp5sjHDrPx4usgKZA+g LGcwxeaih4SI3KDqIPxJNY2Cy4aZwdCN4TMXGlrhhUucQtFGtuIDtnjh7XISheCD CopSZBYSsLCuRJuBcStylGzTJ465yNmzMIxONYCiOEcEwYx95ynA2VFpQRFnry2T QRujL9pNJDGadlGHOuMQs4Ub5eved8B4Odw4XPe9u1lbwxubEIASmEqXPgLGPvH1 eiWY1f48jVUOOPl1WZOGAvPJ4DZL9rQ9hcdQOKNotVS3EgRwt0QE0J2Uxq2Vq+Xm 861736irLQ3VbGz8sX3/ZhwN8lYN0y7Wysd/uo6vXtUawfcrxPbV7V65dUhrq/bJ QBtGTHyO74e2WAt1HtRl9sx0+qf2yPX6kaDGYIR+SB4dzJeoHs/2qwxY4RKFcj0z eGiNQkRLOlUV3hPd/x21Ol1v/TUY8R00vhDMHHMJlfO/xaNHoBc= =bO4b -----END PGP SIGNATURE----- --kr32565dpba3pw7b-- From unknown Sat Jun 14 19:38:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#29555] [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 Resent-From: Jelle Licht Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 04 Dec 2017 14:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29555 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Nikolai Merinov Cc: 29555@debbugs.gnu.org Received: via spool by 29555-submit@debbugs.gnu.org id=B29555.151239802632358 (code B ref 29555); Mon, 04 Dec 2017 14:34:02 +0000 Received: (at 29555) by debbugs.gnu.org; 4 Dec 2017 14:33:46 +0000 Received: from localhost ([127.0.0.1]:44480 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLroX-0008Pp-SF for submit@debbugs.gnu.org; Mon, 04 Dec 2017 09:33:46 -0500 Received: from mail.fsfe.org ([217.69.89.162]:41136) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLroW-0008Pd-G3 for 29555@debbugs.gnu.org; Mon, 04 Dec 2017 09:33:44 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.fsfe.org (Postfix) with ESMTP id 1605163BA6D for <29555@debbugs.gnu.org>; Mon, 4 Dec 2017 15:33:38 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mail.fsfe.org Received: from mail.fsfe.org ([127.0.0.1]) by localhost (cavendish.fsfeurope.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id c3NfK7pAadq5 for <29555@debbugs.gnu.org>; Mon, 4 Dec 2017 15:33:38 +0100 (CET) Received: by mail-ua0-f176.google.com with SMTP id e10so12545421uah.10 for <29555@debbugs.gnu.org>; Mon, 04 Dec 2017 06:33:37 -0800 (PST) X-Gm-Message-State: AKGB3mLWy3NvEJZbocq/38x/BhpKErbKcxbYHt9X6+aw1o6uumEcFRrn DE2i8KKUG62j91ycOkHecGcKbajIX53WKJggr1E= X-Google-Smtp-Source: AGs4zMaeQaNW9PR3kLeh/nE1dUDctlW1bydeE8DB4yqsNF7yFitVJZGXbsO0Y2iabsbQysbOrmvfdlt901/ffdr/ZLM= X-Received: by 10.176.68.98 with SMTP id m89mr12419651uam.34.1512398012405; Mon, 04 Dec 2017 06:33:32 -0800 (PST) MIME-Version: 1.0 Received: by 10.103.76.82 with HTTP; Mon, 4 Dec 2017 06:33:31 -0800 (PST) In-Reply-To: <87609nhc00.fsf@member.fsf.org> References: <87609nhc00.fsf@member.fsf.org> From: Jelle Licht Date: Mon, 4 Dec 2017 15:33:31 +0100 X-Gmail-Original-Message-ID: Message-ID: Content-Type: multipart/alternative; boundary="94eb2c08b8d449de72055f849ab3" X-Spam-Score: -5.0 (-----) 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: -5.0 (-----) --94eb2c08b8d449de72055f849ab3 Content-Type: text/plain; charset="UTF-8" 2017-12-03 20:01 GMT+01:00 Nikolai Merinov : > Update for a rustc and cargo packages. This update will also fix a > build. > > I do not have enough know-how to properly review your patch, but at least I can verify it seems to work. I was able to build rustc and cargo succesfully with your patches, and was able to build and run a trivial hello world program written in rust. When this patch is merged, I think we can also close http://lists.gnu.org/archive/html/bug-guix/2017-12/msg00006.html, as it will no longer be relevant. --94eb2c08b8d449de72055f849ab3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

= 2017-12-03 20:01 GMT+01:00 Nikolai Merinov <nikolai.merinov@m= ember.fsf.org>:
Update for a rustc and cargo packages. This update will also fix a<= br> build.


I do not have enough know-how to prope= rly review your patch, but at least I can verify it seems to work.
I was able to build rustc and cargo succesfully with your patches, an= d=20 was able to build and run a trivial hello world program written in rust.
When this patch is merged,=C2=A0 I think we can also close http:= //lists.gnu.org/archive/html/bug-guix/2017-12/msg00006.html, as it will= no longer be relevant.

--94eb2c08b8d449de72055f849ab3-- From unknown Sat Jun 14 19:38:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#29555] [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 Resent-From: Nikolai Merinov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 04 Dec 2017 14:55:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29555 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Jelle Licht Cc: 29522@debbugs.gnu.org, 29555@debbugs.gnu.org Received: via spool by 29555-submit@debbugs.gnu.org id=B29555.15123992631861 (code B ref 29555); Mon, 04 Dec 2017 14:55:03 +0000 Received: (at 29555) by debbugs.gnu.org; 4 Dec 2017 14:54:23 +0000 Received: from localhost ([127.0.0.1]:44499 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLs8U-0000Tw-R8 for submit@debbugs.gnu.org; Mon, 04 Dec 2017 09:54:23 -0500 Received: from mail-lf0-f44.google.com ([209.85.215.44]:44601) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLs8T-0000Te-Pv; Mon, 04 Dec 2017 09:54:22 -0500 Received: by mail-lf0-f44.google.com with SMTP id x204so19437674lfa.11; Mon, 04 Dec 2017 06:54:21 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:user-agent:in-reply-to:references :mime-version:content-transfer-encoding:subject:to:cc:from :message-id; bh=DOMi0u4A8sx1MDzcKRpa38jRMrrVOiRIoJ9fQJ93xVA=; b=b+5fqNsB8zXxv2HHfzzoVf+yqL4m9cWMu1z4VxI7PqBDIlgqqH1kB6UgFazP+IFTo+ UxcVo/FHe4OaFfyK6M9i0+DtfuTJT0HEDE2eTCybEW9zw1zOhnY0or+1OFCn6bikWDUZ iM80eC7p6zReeKhwD6TN9woSg6Mi0piFVuvCkyZ8nubeoY1sjE48lDwKmIXUmFkj5CYs w0H9OIvu3xuQfOmG04jV48ZWZBNhkSqunyg2jt8Nk6BKCtPnDVn37g03VN3bS3N5KXjr AHvXUQ4nos+VOluTm80yuJmx6zAkceM/n4ENCE+xbOXXohLxH6uhXIL6zeibcFCOvxA6 LDPg== X-Gm-Message-State: AJaThX4mUioVeGCZJZWp16dt9Mne7cOVpyR9gavfpGAxr8K7+OBT2ypW E9j6Ccm0eT+gVmqsJejaOJc= X-Google-Smtp-Source: AGs4zMa9ATTJHXNsEMDcI5oDkISD8/oKe5tzUdwYLmeQEPQqdDVMuVMJtYDYb+Dkfg+xe7WwIWon5w== X-Received: by 10.46.20.5 with SMTP id u5mr9816037ljd.9.1512399255803; Mon, 04 Dec 2017 06:54:15 -0800 (PST) Received: from [10.64.17.92] (ppp85-140-77-2.pppoe.mtu-net.ru. [85.140.77.2]) by smtp.gmail.com with ESMTPSA id z64sm2407331lfa.34.2017.12.04.06.54.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Dec 2017 06:54:14 -0800 (PST) Date: Mon, 04 Dec 2017 19:54:13 +0500 User-Agent: K-9 Mail for Android In-Reply-To: References: <87609nhc00.fsf@member.fsf.org> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----Z74ZQ58S5ZSTO1VSJBQIUDHA4QZF5C" Content-Transfer-Encoding: 7bit From: Nikolai Merinov Message-ID: <558D9F77-E950-4D77-86A3-4B633C0E2009@member.fsf.org> X-Spam-Score: 0.3 (/) 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 (/) ------Z74ZQ58S5ZSTO1VSJBQIUDHA4QZF5C Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable I added "-lstdc++" to rust standard lib to overcome issue=2E Which solution= is better:=20 1=2E change link flags for rust standard library, or 2=2E create rust-specific jemalloc as suggested in #29522? 4 =D0=B4=D0=B5=D0=BA=D0=B0=D0=B1=D1=80=D1=8F 2017 =D0=B3=2E 19:33:31 GMT+0= 5:00, Jelle Licht =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >2017-12-03 20:01 GMT+01:00 Nikolai Merinov >: > >> Update for a rustc and cargo packages=2E This update will also fix a >> build=2E >> >> >I do not have enough know-how to properly review your patch, but at >least I >can verify it seems to work=2E >I was able to build rustc and cargo succesfully with your patches, and >was >able to build and run a trivial hello world program written in rust=2E >When this patch is merged, I think we can also close >http://lists=2Egnu=2Eorg/archive/html/bug-guix/2017-12/msg00006=2Ehtml, a= s it >will no longer be relevant=2E --=20 Nikolai Merinov ------Z74ZQ58S5ZSTO1VSJBQIUDHA4QZF5C Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable I added "-lstdc++" to rust standard lib = to overcome issue=2E Which solution is better:
1=2E change link flags for rust standard library, or
2=2E create rust-specific jemalloc as suggested in #29522?

4 =D0=B4=D0=B5=D0=BA=D0=B0=D0=B1=D1=80=D1=8F 2017 =D0=B3= =2E 19:33:31 GMT+05:00, Jelle Licht <jlicht@fsfe=2Eorg> =D0=BF=D0=B8= =D1=88=D0=B5=D1=82:

2017-12-03 20:01 GMT+01:00 Nikolai Merinov <nikolai= =2Emerinov@member=2Efsf=2Eorg>:
Update for a rustc and cargo packages=2E This u= pdate will also fix a
build=2E


I do not have enough know-how to = properly review your patch, but at least I can verify it seems to work=2E
I was able to build rustc and cargo succesfully with your pa= tches, and=20 was able to build and run a trivial hello world program written in rust=2E=


--
Nikolai Merinov ------Z74ZQ58S5ZSTO1VSJBQIUDHA4QZF5C-- From unknown Sat Jun 14 19:38:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#29555] [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 Resent-From: Danny Milosavljevic Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 04 Dec 2017 16:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29555 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Nikolai Merinov Cc: Jelle Licht , 29522@debbugs.gnu.org, 29555@debbugs.gnu.org Received: via spool by 29555-submit@debbugs.gnu.org id=B29555.151240351916835 (code B ref 29555); Mon, 04 Dec 2017 16:06:02 +0000 Received: (at 29555) by debbugs.gnu.org; 4 Dec 2017 16:05:19 +0000 Received: from localhost ([127.0.0.1]:45668 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLtF9-0004NT-EA for submit@debbugs.gnu.org; Mon, 04 Dec 2017 11:05:19 -0500 Received: from dd1012.kasserver.com ([85.13.128.8]:59996) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLtF7-0004NA-1y; Mon, 04 Dec 2017 11:05:17 -0500 Received: from localhost (77.118.190.17.wireless.dyn.drei.com [77.118.190.17]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 5C6821CA040C; Mon, 4 Dec 2017 17:05:15 +0100 (CET) Date: Mon, 4 Dec 2017 17:05:11 +0100 From: Danny Milosavljevic Message-ID: <20171204170506.75f2ce36@scratchpost.org> In-Reply-To: <558D9F77-E950-4D77-86A3-4B633C0E2009@member.fsf.org> References: <87609nhc00.fsf@member.fsf.org> <558D9F77-E950-4D77-86A3-4B633C0E2009@member.fsf.org> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) 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 (/) Hi, On Mon, 04 Dec 2017 19:54:13 +0500 Nikolai Merinov wrote: > I added "-lstdc++" to rust standard lib to overcome issue. Which solution is better: > 1. change link flags for rust standard library, or Sounds hacky and I'm not sure why it helps or whether it will keep working. > 2. create rust-specific jemalloc as suggested in #29522? I vote for using a rust-specific jemalloc without the C++ parts (named "jemalloc-without-c++" or something, it just has to pass a flag to "configure"). It's smaller, too. Any downsides? From unknown Sat Jun 14 19:38:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#29555] [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 Resent-From: Nikolai Merinov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 05 Dec 2017 06:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29555 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Danny Milosavljevic Cc: Jelle Licht , 29522@debbugs.gnu.org, 29555@debbugs.gnu.org Received: via spool by 29555-submit@debbugs.gnu.org id=B29555.1512454247395 (code B ref 29555); Tue, 05 Dec 2017 06:11:02 +0000 Received: (at 29555) by debbugs.gnu.org; 5 Dec 2017 06:10:47 +0000 Received: from localhost ([127.0.0.1]:46289 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eM6R9-0008Vo-M1 for submit@debbugs.gnu.org; Tue, 05 Dec 2017 01:10:47 -0500 Received: from mail-lf0-f67.google.com ([209.85.215.67]:43035) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eM6R5-0008VW-Hz; Tue, 05 Dec 2017 01:10:34 -0500 Received: by mail-lf0-f67.google.com with SMTP id 94so21869093lfy.10; Mon, 04 Dec 2017 22:10:31 -0800 (PST) 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=/lVKw7wIwDoiGNPtGJRdW6fgw99eJE7k0udBEQ3k3vw=; b=oXeqnVPLPCmfzLUSxYDVwal1rGpwRSdtuSQ1YMU6dYUMv5gZUFgS0Lu+SjXpJrDR6m 9YlV2YsOB1HxSDCBVCCVcuo2qKhCSqIoRqtL0R8cRYurYazgQMS0yqIRghbdCqapLghK G/+tEHRJIzDm9L87q5HtX2zBQTp0IdHKsBiW7K6PiOQFSpSpgTIzHeB3vWimMKLpW2y6 byF02AN7KscZAPRv7GPFjaFU2+gzng7+jBSbAXIcISaHuzpRhEdbDZ+aqY8cRvVxKrSu qYkvs0ijcN29VXxczKooQeyijLaH1DUkoV8tq+2VUDFR8+tXvjB31ZRs2kLEUmJTHNE4 4yxg== X-Gm-Message-State: AJaThX43+hRvodh7xk6sTgmBmzCLrmsDNiR41Pg9HVmA+PKgNXW3VhhF J6EyCc2FzeHIRwDrtstMIXycCAGM X-Google-Smtp-Source: AGs4zMZI4Q1r0Gh1q25vfjVXFR5jiW09XP80lHf0ZaFtw+/vP9UA/NN9TGUOnJ82YXxqs4A7Zwvdzg== X-Received: by 10.46.41.212 with SMTP id p81mr9900091ljp.173.1512454225164; Mon, 04 Dec 2017 22:10:25 -0800 (PST) Received: from libremnd (97.9-157-90.telenet.ru. [90.157.9.97]) by smtp.gmail.com with ESMTPSA id a69sm3195959ljf.54.2017.12.04.22.10.22 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 04 Dec 2017 22:10:23 -0800 (PST) From: Nikolai Merinov References: <87609nhc00.fsf@member.fsf.org> <558D9F77-E950-4D77-86A3-4B633C0E2009@member.fsf.org> <20171204170506.75f2ce36@scratchpost.org> Date: Tue, 05 Dec 2017 11:10:21 +0500 In-Reply-To: <20171204170506.75f2ce36@scratchpost.org> (Danny Milosavljevic's message of "Mon, 4 Dec 2017 17:05:11 +0100") Message-ID: <87o9ndn1rm.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.2 (/) 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.2 (/) --=-=-= Content-Type: text/plain Please find new version of patch: I removed linkage with libstdc++ and added new jemalloc-without-c++ --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-rust-update-rust-to-1.22.1-and-cargo-to-1.23.0.patch Content-Transfer-Encoding: quoted-printable Content-Description: [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 >From 7cc263d0cbed910c9fdfcef57b52538229054e6b Mon Sep 17 00:00:00 2001 From: Nikolay Merinov Date: Sun, 3 Dec 2017 19:55:24 +0500 Subject: [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 To: guix-patches@gnu.org * gnu/packages/rust.scm (%rust-bootstrap-binaries-version): update version (%rust-bootstrap-binaries): use x86_64 rust bootstrap package for x86_64 bu= ild (%cargo-reference-project-file): Use specific file as "project" file when patching rust vendored sources (%cargo-reference-hash): sha256 sum for %cargo-reference-project-file (rustc-bootstrap): use bootstrap package with host architecture (cargo-bootstrap): use bootstrap package with host architecture (rustc): Add new test dependency, fix build issues, use "./x.py" script for build instead of "./configure" (cargo): Update dependencies, patch shebangs for vendored sources * gnu/packages/jemalloc.scm: add version of jemalloc without c++ --- gnu/packages/jemalloc.scm | 10 + gnu/packages/rust.scm | 1179 ++++++++++++++++++++++++++++++-----------= ---- 2 files changed, 808 insertions(+), 381 deletions(-) diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm index a3bd2c93a..b1f324e1a 100644 --- a/gnu/packages/jemalloc.scm +++ b/gnu/packages/jemalloc.scm @@ -23,6 +23,7 @@ #:use-module ((guix licenses) #:select (bsd-2)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (gnu packages perl) #:use-module (guix build-system gnu)) =20 @@ -62,3 +63,12 @@ "This library providing a malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support.") (license bsd-2))) + +(define-public jemalloc-without-c++ + (package + (inherit jemalloc) + (name "jemalloc-without-c++") + (arguments + (substitute-keyword-arguments (package-arguments jemalloc) + ((#:configure-flags cf) + `(cons "--disable-cxx" ,cf)))))) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 583ea37c8..11e8a8b25 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -3,6 +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 ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,7 @@ #:use-module (gnu packages elf) #:use-module (gnu packages flex) #:use-module (gnu packages gcc) + #:use-module (gnu packages gdb) #:use-module (gnu packages jemalloc) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) @@ -37,17 +39,19 @@ #:use-module (gnu packages ssh) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages) #:use-module (guix build-system cargo) #: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 (ice-9 match) #:use-module (srfi srfi-26)) =20 ;; Should be one less than the current released version. -(define %rust-bootstrap-binaries-version "1.15.0") +(define %rust-bootstrap-binaries-version "1.21.0") =20 (define %rust-bootstrap-binaries (origin @@ -55,10 +59,18 @@ (uri (string-append "https://static.rust-lang.org/dist/" "rust-" %rust-bootstrap-binaries-version - "-i686-unknown-linux-gnu.tar.gz")) + "-" %host-type ".tar.gz")) (sha256 (base32 - "0wmkfx8pxmkkw021mrq9s3xhra8f0daqdl6j56pxyn4w39i0rzrw")))) + (match %host-type + ("i686-unknown-linux-gnu" + "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") + ("x86_64-unknown-linux-gnu" + "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml")))))) + +(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 #\.) @@ -92,7 +104,6 @@ (arguments `(#:tests? #f #:strip-binaries? #f - #:system "i686-linux" #:phases (modify-phases %standard-phases (delete 'configure) @@ -103,8 +114,7 @@ (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 "i686-lin= ux"))) + (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" zlib "/lib:" libc "/lib:" gcc:lib "/lib")) (rustc (string-append out "/bin/rustc")) @@ -112,7 +122,7 @@ (system* "bash" "install.sh" (string-append "--prefix=3D" out) (string-append "--components=3Drustc," - "rust-std-i686-unknown-linux-gnu")) + "rust-std-" %host-type)) (for-each (lambda (file) (system* "patchelf" "--set-rpath" rpath file)) (cons* rustc rustdoc (find-files out "\\.so$"))) @@ -129,7 +139,7 @@ which can in turn be used to build the final Rust compi= ler.") (define cargo-bootstrap (package (name "cargo-bootstrap") - (version (cargo-version %rust-bootstrap-binaries-version)) + (version (cargo-version %rust-bootstrap-binaries-version 1)) (source %rust-bootstrap-binaries) (build-system gnu-build-system) (native-inputs @@ -139,7 +149,6 @@ which can in turn be used to build the final Rust compi= ler.") (arguments `(#:tests? #f #:strip-binaries? #f - #:system "i686-linux" #:phases (modify-phases %standard-phases (delete 'configure) @@ -149,8 +158,7 @@ which can in turn be used to build the final Rust compi= ler.") (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 "i686-lin= ux"))) + (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" libc "/lib:" gcc:lib "/lib")) (cargo (string-append out "/bin/cargo"))) @@ -196,11 +204,11 @@ manager, which is required to build itself.") (description "Meta package for a rust environment. Provides pre-compil= ed rustc-bootstrap and cargo-bootstrap packages.") (license license:asl2.0))) - + (define-public rustc (package (name "rustc") - (version (rustc-version %rust-bootstrap-binaries-version)) + (version (rustc-version %rust-bootstrap-binaries-version 1)) (source (origin (method url-fetch) (uri (string-append @@ -208,109 +216,139 @@ rustc-bootstrap and cargo-bootstrap packages.") "rustc-" version "-src.tar.gz")) (sha256 (base32 - "1d78jq7mc34n265by68amr9r4nzbiqrilfbwh7gx56ydn4gb6rpr")) - (modules '((guix build utils))) - (snippet - `(begin - (delete-file-recursively "src/llvm") - #t)))) + "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")) + (modules '((guix build utils))) + (snippet + `(begin + (delete-file-recursively "src/llvm") + #t)))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) ; For the tests ("cmake" ,cmake) ("flex" ,flex) ; For the tests + ("gdb" ,gdb) ; For the tests ("git" ,git) ("procps" ,procps) ; For the tests ("python-2" ,python-2) ("rust-bootstrap" ,rust-bootstrap) ("which" ,which))) (inputs - `(("jemalloc" ,jemalloc) + `(("jemalloc" ,jemalloc-without-c++) ("llvm" ,llvm-3.9.1))) (arguments - `(#:phases + `(#:imported-modules ,%cargo-build-system-modules ;for `generate-chec= ksums' + #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-configure - (lambda _ - (substitute* "configure" - (("/usr/bin/env") (which "env")) ; Detect target CPU correc= tly. - (("probe_need CFG_CURL curl") "") ; Avoid curl build depend= ency. - ;; Newer LLVM has a NVPTX (NVIDIA) backend which the Rust - ;; Makefiles don't know about, causing a linker failure - ;; if we don't intervene. - ;; Therefore, we add NVPTX here. - ;; See . - ;; For the next release, we will have to use rustbuild. - ;; Right now, rustbuild doesn't work yet. - (("-DLLVM_TARGETS_TO_BUILD=3D'") - "-DLLVM_TARGETS_TO_BUILD=3D'NVPTX;")) ; Make LLVM >=3D 3.8= .1 work. - (substitute* "src/tools/compiletest/src/util.rs" - (("(\"amd64\", \"x86_64\"),") "(\"amd64\", \"x86_64\"), -(\"nvptx\", \"nvptx\"),")) ; Make LLVM >=3D 3.8.1 work. - (substitute* "mk/main.mk" - (("LLVM_OPTIONAL_COMPONENTS=3D") - "LLVM_OPTIONAL_COMPONENTS=3Dnvptx ")) ; Make LLVM >=3D 3.8= .1 work. - #t)) (add-after 'unpack 'set-env (lambda _ (setenv "SHELL" (which "sh")) (setenv "CONFIG_SHELL" (which "sh")) + ;; guix llvm-3.9.1 package install only shared libraries + (setenv "LLVM_LINK_SHARED" "1") #t)) (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) - (substitute* "src/tools/tidy/src/main.rs" - (("^.*cargo.*::check.*$") "")) + (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 ;; fail otherwise. - (("\"/bin/sh\"") (string-append " -\"" bash "/bin/sh\""))) - ;; See . + (("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\""))) + (substitute* "src/libstd/net/tcp.rs" + ;; There is no network in build environment + (("fn connect_timeout_unroutable") + "#[ignore]\nfn connect_timeout_unroutable")) + ;; (substitute* "src/libstd/sys/unix/process/process_common.rs" - (("fn test_process_mask") "#[cfg_attr(target_os =3D \"lin= ux\", ignore)] -fn test_process_mask")) + (("fn test_process_mask") "#[ignore]\nfn test_process_mas= k")) ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_= PATH. - ;; See . + ;; (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-source-shebangs 'patch-cargo-checksums + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/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 "src/vendor" ".cargo-checksum.json")))) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (gcc (assoc-ref inputs "gcc")) + (gdb (assoc-ref inputs "gdb")) (binutils (assoc-ref inputs "binutils")) (python (assoc-ref inputs "python-2")) (rustc (assoc-ref inputs "rustc-bootstrap")) + (cargo (assoc-ref inputs "cargo-bootstrap")) (llvm (assoc-ref inputs "llvm")) - (jemalloc (assoc-ref inputs "jemalloc")) - (flags (list - (string-append "--prefix=3D" out) - (string-append "--datadir=3D" out "/share") - (string-append "--infodir=3D" out "/share/info= ") - (string-append "--default-linker=3D" gcc "/bin= /gcc") - (string-append "--default-ar=3D" binutils "/bi= n/ar") - (string-append "--python=3D" python "/bin/pyth= on2") - (string-append "--local-rust-root=3D" rustc) - (string-append "--llvm-root=3D" llvm) - (string-append "--jemalloc-root=3D" jemalloc "= /lib") - "--release-channel=3Dstable" - "--enable-rpath" - "--enable-local-rust" - "--disable-rustbuild" ; rustbuild doesn't work= yet. - "--disable-manage-submodules"))) - ;; Rust uses a custom configure script (no autoconf). - (zero? (apply system* "./configure" flags))))) - (add-after 'install 'wrap-rustc + (jemalloc (assoc-ref inputs "jemalloc"))) + (call-with-output-file "config.toml" + (lambda (port) + (display (string-append " +[llvm] +[build] +cargo =3D \"" cargo "/bin/cargo" "\" +rustc =3D \"" rustc "/bin/rustc" "\" +python =3D \"" python "/bin/python2" "\" +gdb =3D \"" gdb "/bin/gdb" "\" +vendor =3D true +submodules =3D false +[install] +prefix =3D \"" out "\" +[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: +# codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs +# This tests required patched LLVM +codegen-tests =3D false +[target." %host-type "] +llvm-config =3D \"" llvm "/bin/llvm-config" "\" +cc =3D \"" gcc "/bin/gcc" "\" +cxx =3D \"" gcc "/bin/g++" "\" +jemalloc =3D \"" jemalloc "/lib/libjemalloc_pic.a" "\" +[dist] +") port)))))) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? (system* "./x.py" "build")))) + (replace 'check (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (libc (assoc-ref inputs "libc")) - (ld-wrapper (assoc-ref inputs "ld-wrapper"))) + (zero? (system* "./x.py" "test")))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? (system* "./x.py" "install")))) + (add-after 'install 'wrap-rustc + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (libc (assoc-ref inputs "libc")) + (ld-wrapper (assoc-ref inputs "ld-wrapper"))) ;; Let gcc find ld and libc startup files. - (wrap-program (string-append out "/bin/rustc") - `("PATH" ":" prefix (,(string-append ld-wrapper "/bin"))) - `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib")= ))) - #t)))))) + (wrap-program (string-append out "/bin/rustc") + `("PATH" ":" prefix (,(string-append ld-wrapper "/bin")= )) + `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib= ")))) + #t)))))) ;; rustc invokes gcc, so we need to set its search paths accordingly. (native-search-paths (package-native-search-paths gcc)) (synopsis "Compiler for the Rust progamming language") @@ -325,7 +363,7 @@ safety and thread safety guarantees.") (define-public cargo (package (name "cargo") - (version (cargo-version (rustc-version %rust-bootstrap-binaries-versio= n))) + (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/" @@ -333,7 +371,7 @@ safety and thread safety guarantees.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1y0zy8gk1ly0wh57y78fisk7cdd92qk0x7z664f6l7lzl2krqs7w")))) + "0kr7rml7v2bm7zl8jcb3056h63zpyy9m08s212i8vfwxf6lf5fzl")))) (build-system cargo-build-system) (propagated-inputs `(("cmake" ,cmake) @@ -346,506 +384,870 @@ safety and thread safety guarantees.") ("python-2" ,python-2) ("zlib" ,zlib))) (native-inputs - `(("rust-openssl" + `(("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 " (sha256"; + ;; print " (base16-string->bytevector"; + ;; print " " hash "))))" + ;; }' + ("rust-advapi32-sys" ,(origin (method url-fetch) - (uri (crate-uri "openssl" "0.9.6")) + (uri (crate-uri "advapi32-sys" "0.2.0")) (sha256 - (base32 - "0g28g692gby6izp9qmnwnyxyhf9b0870yhd500p18j9l69lxl00c")))) - ("rust-strsim" + (base16-string->bytevector + "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb= 8a9a")))) + ("rust-aho-corasick" ,(origin (method url-fetch) - (uri (crate-uri "strsim" "0.5.1")) + (uri (crate-uri "aho-corasick" "0.5.3")) (sha256 - (base32 - "0bj4fsm1l2yqbfpspyvjf9m3m50pskapcddzm0ji9c74jbgnkh2h")))) - ("rust-libc" + (base16-string->bytevector + "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686d= db66")))) + ("rust-aho-corasick-0.6.3" ,(origin (method url-fetch) - (uri (crate-uri "libc" "0.2.18")) + (uri (crate-uri "aho-corasick" "0.6.3")) (sha256 - (base32 - "0w5cghr0wx3hi2sclk8r9iyzlbxsakil87ada40q2ykyhky24655")))) + (base16-string->bytevector + "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b88= 9699")))) + ("rust-atty" + ,(origin + (method url-fetch) + (uri (crate-uri "atty" "0.2.3")) + (sha256 + (base16-string->bytevector + "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421b7= 8860")))) + ("rust-backtrace" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "c63ea141ef8fdb10409d0f5daf30ac51f84ef43bff66f16627773d2a292c= d189")))) ("rust-bitflags" ,(origin (method url-fetch) (uri (crate-uri "bitflags" "0.7.0")) (sha256 - (base32 - "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda")))) - ("rust-unicode-normalization" + (base16-string->bytevector + "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881= 106d")))) + ("rust-bitflags-0.9.1" ,(origin (method url-fetch) - (uri (crate-uri "unicode-normalization" "0.1.2")) + (uri (crate-uri "bitflags" "0.9.1")) (sha256 - (base32 - "0whi4xxqcjfsz6ywyrfd5lhgk1a44c86qwgvfqcmzidshcpklr16")))) - ("rust-rand" + (base16-string->bytevector + "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1a= b3a5")))) + ("rust-bufstream" ,(origin (method url-fetch) - (uri (crate-uri "rand" "0.3.14")) + (uri (crate-uri "bufstream" "0.1.3")) (sha256 - (base32 - "1984zvj8572ig28fz6idc4r96fx39h4lzmr07yf7kb7gdn6di497")))) - ("rust-gcc" + (base16-string->bytevector + "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d0946= 8e32")))) + ("rust-cc" ,(origin (method url-fetch) - (uri (crate-uri "gcc" "0.3.39")) + (uri (crate-uri "cc" "1.0.0")) (sha256 - (base32 - "1q0idjvmhp6shkb9hqabh51rgfr8dqpi1xfmyzq7q8vgzybll7kp")))) - ("rust-tempdir" + (base16-string->bytevector + "7db2f146208d7e0fbee761b09cd65a7f51ccc38705d4e7262dad4d73b12a= 76b1")))) + ("rust-cfg-if" ,(origin (method url-fetch) - (uri (crate-uri "tempdir" "0.3.5")) + (uri (crate-uri "cfg-if" "0.1.2")) (sha256 - (base32 - "1mij45kgzflkja0h8q9avrik76h5a0b60m9hfd6k9yqxbiplm5w7")))) - ("rust-memchr" + (base16-string->bytevector + "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed31= 40de")))) + ("rust-cmake" ,(origin (method url-fetch) - (uri (crate-uri "memchr" "0.1.11")) + (uri (crate-uri "cmake" "0.1.26")) (sha256 - (base32 - "084d85hjfa3xf5kwdms2mhbkh78m1gl2254cp5swcxj3a7xjkdnq")))) - ("rust-rustc-serialize" + (base16-string->bytevector + "357c07e7a1fc95732793c1edb5901e1a1f305cfcf63a90eb12dbd22bdb6b= 789d")))) + ("rust-commoncrypto" ,(origin (method url-fetch) - (uri (crate-uri "rustc-serialize" "0.3.21")) + (uri (crate-uri "commoncrypto" "0.2.0")) (sha256 - (base32 - "064qmyr2508qf78dwcpiv25rfjp9h9vd0wrj4mmwgppjg4fgrydz")))) - ("rust-cmake" + (base16-string->bytevector + "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b6= 9007")))) + ("rust-commoncrypto-sys" ,(origin (method url-fetch) - (uri (crate-uri "cmake" "0.1.19")) + (uri (crate-uri "commoncrypto-sys" "0.2.0")) (sha256 - (base32 - "0am8c8ns1h6b1a5x9z2r1m3rszvya5nccl2pzszzjv5aiiaydgcf")))) - ("rust-matches" + (base16-string->bytevector + "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f40= 83e2")))) + ("rust-conv" ,(origin (method url-fetch) - (uri (crate-uri "matches" "0.1.4")) + (uri (crate-uri "conv" "0.3.3")) (sha256 - (base32 - "1c8190j84hbicy8jwscw5icfam12j6lcxi02lvmadq9260p65mzg")))) - ("rust-winapi" + (base16-string->bytevector + "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d= 1299")))) + ("rust-core-foundation" ,(origin (method url-fetch) - (uri (crate-uri "winapi" "0.2.8")) + (uri (crate-uri "core-foundation" "0.4.4")) (sha256 - (base32 - "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n")))) - ("rust-pkg-config" + (base16-string->bytevector + "5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb232= 0dc7")))) + ("rust-core-foundation-sys" ,(origin (method url-fetch) - (uri (crate-uri "pkg-config" "0.3.8")) + (uri (crate-uri "core-foundation-sys" "0.4.4")) (sha256 - (base32 - "1ypj4nj2z9z27qg06v3g40jyhw685i3l2wi098d21bvyri781vlc")))) - ("rust-libssh2-sys" + (base16-string->bytevector + "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a= 3387")))) + ("rust-crossbeam" ,(origin (method url-fetch) - (uri (crate-uri "libssh2-sys" "0.2.5")) + (uri (crate-uri "crossbeam" "0.2.10")) (sha256 - (base32 - "0d2r36hrh9vc1821r0v4kywv30svpf37d31calwql69fbij3bqci")))) - ("rust-libz-sys" + (base16-string->bytevector + "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb92750= 8f97")))) + ("rust-crossbeam-0.3.0" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "34903878eec1694faf53cae8473a088df333181de421d4d3d48061d6559f= e602")))) + ("rust-curl" ,(origin (method url-fetch) - (uri (crate-uri "libz-sys" "1.0.13")) + (uri (crate-uri "curl" "0.4.8")) (sha256 - (base32 - "034pgvxzgsv37iafgs0lmvd1ifm0bg0zm1xcsn9x71nn8lm93vp5")))) + (base16-string->bytevector + "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41ae= 9c2c")))) ("rust-curl-sys" ,(origin (method url-fetch) - (uri (crate-uri "curl-sys" "0.3.6")) + (uri (crate-uri "curl-sys" "0.3.15")) (sha256 - (base32 - "0fi8kjz3f8m8vfazycs3ddm0h6j3x78hw78gwbvybx71129192i1")))) - ("rust-error-chain" + (base16-string->bytevector + "4bee31aa3a079d5f3ff9579ea4dcfb1b1a17a40886f5f467436d383e7813= 4b55")))) + ("rust-custom_derive" ,(origin (method url-fetch) - (uri (crate-uri "error-chain" "0.7.2")) + (uri (crate-uri "custom_derive" "0.1.7")) (sha256 - (base32 - "03qjh6l2a9fkiyg0428p7q3dcpi47cbmrqf9zmlymkg43v3v731i")))) - ("rust-metadeps" + (base16-string->bytevector + "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a= 01b9")))) + ("rust-dbghelp-sys" ,(origin (method url-fetch) - (uri (crate-uri "metadeps" "1.1.1")) + (uri (crate-uri "dbghelp-sys" "0.2.0")) (sha256 - (base32 - "0l818461bslb7nrs7r1amkqv45n53fcp5sabyqipwx0xxbkzz7w2")))) - ("rust-openssl-sys" + (base16-string->bytevector + "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5= b850")))) + ("rust-docopt" ,(origin (method url-fetch) - (uri (crate-uri "openssl-sys" "0.9.6")) + (uri (crate-uri "docopt" "0.8.1")) (sha256 - (base32 - "1hzpyf9z8xg1yn5r9g17bl5j20nifd6s2zp10xh90v7m0sd2yj5i")))) - ("rust-fs2" + (base16-string->bytevector + "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49= 787a")))) + ("rust-dtoa" ,(origin (method url-fetch) - (uri (crate-uri "fs2" "0.3.0")) + (uri (crate-uri "dtoa" "0.4.2")) (sha256 - (base32 - "0lg57mgcm1r0m8jm4nqpcrl6lmxg8lj854k2h0r7qp46pphh2034")))) - ("rust-log" + (base16-string->bytevector + "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e= 50ab")))) + ("rust-env_logger" ,(origin (method url-fetch) - (uri (crate-uri "log" "0.3.6")) + (uri (crate-uri "env_logger" "0.4.3")) (sha256 - (base32 - "0m40hgs3cg57dd5kk1mabfk6gk8z6l1cihar8akx4kmzz1xlk0xb")))) + (base16-string->bytevector + "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8= cd5b")))) + ("rust-error-chain" + ,(origin + (method url-fetch) + (uri (crate-uri "error-chain" "0.11.0")) + (sha256 + (base16-string->bytevector + "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419e= d3f3")))) ("rust-filetime" ,(origin (method url-fetch) - (uri (crate-uri "filetime" "0.1.10")) + (uri (crate-uri "filetime" "0.1.12")) (sha256 - (base32 - "08p9scgv30i1141cnp5xi4pqlnkfci455nrpca55df1r867anqsk")))) - ("rust-tar" + (base16-string->bytevector + "6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf73= 2c0e")))) + ("rust-flate2" + ,(origin + (method url-fetch) + (uri (crate-uri "flate2" "0.2.20")) + (sha256 + (base16-string->bytevector + "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81= e423")))) + ("rust-fnv" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8= a29d")))) + ("rust-fs2" + ,(origin + (method url-fetch) + (uri (crate-uri "fs2" "0.4.2")) + (sha256 + (base16-string->bytevector + "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c= 2866")))) + ("rust-git2" + ,(origin + (method url-fetch) + (uri (crate-uri "git2" "0.6.8")) + (sha256 + (base16-string->bytevector + "0c1c0203d653f4140241da0c1375a404f0a397249ec818cd2076c6280c50= f6fa")))) + ("rust-git2-curl" ,(origin (method url-fetch) - (uri (crate-uri "tar" "0.4.9")) + (uri (crate-uri "git2-curl" "0.7.0")) (sha256 - (base32 - "1vi3nl8s3jjf5l20ni47gmh1p4bdjfh7q50fbg7izzqrf7i4i40c")))) + (base16-string->bytevector + "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5= bf8e")))) ("rust-glob" ,(origin (method url-fetch) (uri (crate-uri "glob" "0.2.11")) (sha256 - (base32 - "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb")))) - ("rust-cfg-if" + (base16-string->bytevector + "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac589= 5bfb")))) + ("rust-globset" ,(origin (method url-fetch) - (uri (crate-uri "cfg-if" "0.1.0")) + (uri (crate-uri "globset" "0.2.0")) (sha256 - (base32 - "137qikjcal4h75frzcn6mknygqk8vy5bva7w851aydb5gc6pc7ny")))) - ("rust-winapi-build" + (base16-string->bytevector + "feeb1b6840809ef5efcf7a4a990bc4e1b7ee3df8cf9e2379a75aeb2ba42a= c9c3")))) + ("rust-hamcrest" ,(origin (method url-fetch) - (uri (crate-uri "winapi-build" "0.1.1")) + (uri (crate-uri "hamcrest" "0.1.1")) (sha256 - (base32 - "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d")))) - ("rust-advapi32-sys" + (base16-string->bytevector + "bf088f042a467089e9baa4972f57f9247e42a0cc549ba264c7a04fbb8ecb= 89d4")))) + ("rust-hex" ,(origin (method url-fetch) - (uri (crate-uri "advapi32-sys" "0.2.0")) + (uri (crate-uri "hex" "0.2.0")) (sha256 - (base32 - "16largvlrd1800vvdchml0ngnszjlnpqm01rcz5hm7di1h48hrg0")))) - ("rust-gdi32-sys" + (base16-string->bytevector + "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e1= 53aa")))) + ("rust-home" ,(origin (method url-fetch) - (uri (crate-uri "gdi32-sys" "0.2.0")) + (uri (crate-uri "home" "0.3.0")) (sha256 - (base32 - "0605d4ngjsspghwjv4jicajich1gnl0aik9f880ajjzjixd524h9")))) - ("rust-ws2_32-sys" + (base16-string->bytevector + "9f25ae61099d8f3fee8b483df0bd4ecccf4b2731897aad40d50eca1b641f= e6db")))) + ("rust-idna" ,(origin (method url-fetch) - (uri (crate-uri "ws2_32-sys" "0.2.1")) + (uri (crate-uri "idna" "0.1.4")) (sha256 - (base32 - "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m")))) - ("rust-user32-sys" + (base16-string->bytevector + "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951e= af7d")))) + ("rust-ignore" ,(origin (method url-fetch) - (uri (crate-uri "user32-sys" "0.2.0")) + (uri (crate-uri "ignore" "0.2.2")) (sha256 - (base32 - "0ivxc7hmsxax9crdhxdd1nqwik4s9lhb2x59lc8b88bv20fp3x2f")))) - ("rust-unicode-bidi" + (base16-string->bytevector + "b3fcaf2365eb14b28ec7603c98c06cc531f19de9eb283d89a3dff8417c8c= 99f5")))) + ("rust-itoa" + ,(origin + (method url-fetch) + (uri (crate-uri "itoa" "0.3.4")) + (sha256 + (base16-string->bytevector + "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4= db8c")))) + ("rust-jobserver" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056= 098d")))) + ("rust-lazy_static" + ,(origin + (method url-fetch) + (uri (crate-uri "lazy_static" "0.2.9")) + (sha256 + (base16-string->bytevector + "c9e5e58fa1a4c3b915a561a78a22ee0cac6ab97dca2504428bc1cb074375= f8d5")))) + ("rust-libc" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "6f74b4959cef96898f5123148724fc7dee043b9a6b99f219d948851bfbe5= 3cb2")))) + ("rust-libssh2-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "44ebbc760fd2d2f4d93de09a0e13d97e057612052e871da9985cedcb451e= 6bd5")))) + ("rust-log" + ,(origin + (method url-fetch) + (uri (crate-uri "log" "0.3.8")) + (sha256 + (base16-string->bytevector + "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512= 565b")))) + ("rust-magenta" ,(origin (method url-fetch) - (uri (crate-uri "unicode-bidi" "0.2.3")) + (uri (crate-uri "magenta" "0.1.1")) (sha256 - (base32 - "0gqbyf6slkgzr14nf6v8dw8a19l5snh6bpms8bpfvzpxdawwxxy1")))) + (base16-string->bytevector + "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3a= c527")))) + ("rust-magenta-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "magenta-sys" "0.1.1")) + (sha256 + (base16-string->bytevector + "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f= 4699")))) + ("rust-matches" + ,(origin + (method url-fetch) + (uri (crate-uri "matches" "0.1.6")) + (sha256 + (base16-string->bytevector + "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f19= 3376")))) + ("rust-memchr" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a= 47b4")))) + ("rust-miniz-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "miniz-sys" "0.1.10")) + (sha256 + (base16-string->bytevector + "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7= e2b4")))) + ("rust-miow" + ,(origin + (method url-fetch) + (uri (crate-uri "miow" "0.2.1")) + (sha256 + (base16-string->bytevector + "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355a= e919")))) ("rust-net2" ,(origin (method url-fetch) - (uri (crate-uri "net2" "0.2.26")) + (uri (crate-uri "net2" "0.2.31")) (sha256 - (base32 - "1qp3q6xynb481rsp3ig1nmqb6qlxfba3shfrmqij88cppsv9rpsy")))) - ("rust-utf8-ranges" + (base16-string->bytevector + "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b71= 6c09")))) + ("rust-num" ,(origin (method url-fetch) - (uri (crate-uri "utf8-ranges" "0.1.3")) + (uri (crate-uri "num" "0.1.40")) (sha256 - (base32 - "03xf604b2v51ag3jgzw92l97xnb10kw9zv948bhc7ja1ik017jm1")))) - ("rust-crossbeam" + (base16-string->bytevector + "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f92= 3525")))) + ("rust-num-bigint" ,(origin (method url-fetch) - (uri (crate-uri "crossbeam" "0.2.10")) + (uri (crate-uri "num-bigint" "0.1.40")) (sha256 - (base32 - "15wga0kvk3iqf3l077957j931brf1pl3p74xibd698jccqas4phc")))) - ("rust-toml" + (base16-string->bytevector + "8fd0f8dbb4c0960998958a796281d88c16fbe68d87b1baa6f31e2979e81f= d0bd")))) + ("rust-num-complex" ,(origin (method url-fetch) - (uri (crate-uri "toml" "0.2.1")) + (uri (crate-uri "num-complex" "0.1.40")) (sha256 - (base32 - "1d1cz43bxrx4fd6j2p6myckf81f72bp47akg36y3flxjkhj60svk")))) - ("rust-aho-corasick" + (base16-string->bytevector + "503e668405c5492d67cf662a81e05be40efe2e6bcf10f7794a07bd9865e7= 04e6")))) + ("rust-num-integer" ,(origin (method url-fetch) - (uri (crate-uri "aho-corasick" "0.5.3")) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13df= fe01")))) + ("rust-num-rational" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721= b9b0")))) + ("rust-num_cpus" + ,(origin + (method url-fetch) + (uri (crate-uri "num_cpus" "1.7.0")) + (sha256 + (base16-string->bytevector + "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d453= b20d")))) + ("rust-openssl" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f37= 8daf")))) + ("rust-openssl-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6a= e356")))) + ("rust-pkg-config" + ,(origin + (method url-fetch) + (uri (crate-uri "pkg-config" "0.3.9")) (sha256 - (base32 - "0rnvdmlajikq0i4zdy1p3pv699q6apvsxfc7av7byhppllp2r5ya")))) + (base16-string->bytevector + "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edb= a903")))) ("rust-psapi-sys" ,(origin (method url-fetch) (uri (crate-uri "psapi-sys" "0.1.0")) (sha256 - (base32 - "0y14g8qshsfnmb7nk2gs1rpbrs1wrggajmzp4yby4q6k0wd5vkdb")))) - ("rust-idna" + (base16-string->bytevector + "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a= 2478")))) + ("rust-quote" ,(origin (method url-fetch) - (uri (crate-uri "idna" "0.1.0")) + (uri (crate-uri "quote" "0.3.15")) (sha256 - (base32 - "049c2rmlydrrrgrxdaq2v21adx9vkfh6k9x4xj56ckyf01p26lqh")))) - ("rust-url" + (base16-string->bytevector + "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4= 167a")))) + ("rust-rand" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47eb0= 4509")))) + ("rust-redox_termios" + ,(origin + (method url-fetch) + (uri (crate-uri "redox_termios" "0.1.1")) + (sha256 + (base16-string->bytevector + "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db= 0f76")))) + ("rust-regex" + ,(origin + (method url-fetch) + (uri (crate-uri "regex" "0.1.80")) + (sha256 + (base16-string->bytevector + "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019= 402f")))) + ("rust-regex-0.2.2" ,(origin (method url-fetch) - (uri (crate-uri "url" "1.2.3")) + (uri (crate-uri "regex" "0.2.2")) (sha256 - (base32 - "1myr1i8djbl2bhvvrm6n3h7bj7sl6kh5dmaaz2f7c6x8hyyzgk28")))) + (base16-string->bytevector + "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b= 2d1b")))) ("rust-regex-syntax" ,(origin (method url-fetch) (uri (crate-uri "regex-syntax" "0.3.9")) (sha256 - (base32 - "0ms9hgdhhsxw9w920i7gipydvagf100bb56jbs192rz86ln01v7r")))) - ("rust-kernel32-sys" + (base16-string->bytevector + "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db83= 4957")))) + ("rust-regex-syntax-0.4.1" ,(origin (method url-fetch) - (uri (crate-uri "kernel32-sys" "0.2.2")) + (uri (crate-uri "regex-syntax" "0.4.1")) (sha256 - (base32 - "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm")))) - ("rust-term" + (base16-string->bytevector + "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f= 62db")))) + ("rust-rustc-demangle" ,(origin (method url-fetch) - (uri (crate-uri "term" "0.4.4")) + (uri (crate-uri "rustc-demangle" "0.1.5")) (sha256 - (base32 - "0jpr7jb1xidadh0arklwr99r8w1k1dfc4an3ginpsq5nnfigivrx")))) - ("rust-thread-id" + (base16-string->bytevector + "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e= 817e")))) + ("rust-rustc-serialize" ,(origin (method url-fetch) - (uri (crate-uri "thread-id" "2.0.0")) + (uri (crate-uri "rustc-serialize" "0.3.24")) (sha256 - (base32 - "00zzs2bx1xw8aqm5plqqgr7bc2zz6zkqrdxq8vpiqb8hc2srslx9")))) - ("rust-thread_local" + (base16-string->bytevector + "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e= 6fda")))) + ("rust-same-file" ,(origin (method url-fetch) - (uri (crate-uri "thread_local" "0.2.7")) + (uri (crate-uri "same-file" "0.1.3")) (sha256 - (base32 - "1mgxikqvhpsic6xk7pan95lvgsky1sdxzw2w5m2l35pgrazxnxl5")))) - ("rust-miow" + (base16-string->bytevector + "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a1= 17a7")))) + ("rust-scoped-tls" ,(origin (method url-fetch) - (uri (crate-uri "miow" "0.1.3")) + (uri (crate-uri "scoped-tls" "0.1.0")) (sha256 - (base32 - "16jvfjsp6fr4mbd2sw5hcdmi4dsa0m0aa45gjz78mb1h4mwcdgym")))) - ("rust-regex" + (base16-string->bytevector + "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb903807f= 147d")))) + ("rust-scopeguard" ,(origin (method url-fetch) - (uri (crate-uri "regex" "0.1.80")) + (uri (crate-uri "scopeguard" "0.1.2")) (sha256 - (base32 - "0bs036h3vzc6pj5jj4vc909s9rppq7b808ic99qn0y6gm3karm2g")))) - ("rust-num_cpus" + (base16-string->bytevector + "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e83981a= 6c57")))) + ("rust-semver" ,(origin (method url-fetch) - (uri (crate-uri "num_cpus" "1.1.0")) + (uri (crate-uri "semver" "0.8.0")) (sha256 - (base32 - "1bfwcn3yhwa31rinjw9yr7b6gvn6c06hnwnjz06pvm938w4fd448")))) - ("rust-libgit2-sys" + (base16-string->bytevector + "bee2bc909ab2d8d60dab26e8cad85b25d795b14603a0dcb627b78b9d30b6= 454b")))) + ("rust-semver-parser" ,(origin (method url-fetch) - (uri (crate-uri "libgit2-sys" "0.6.6")) + (uri (crate-uri "semver-parser" "0.7.0")) (sha256 - (base32 - "074h9q4p60xh6canb0sj4vrc801wqv6p53l9lp0q724bkwzf7967")))) - ("rust-env_logger" + (base16-string->bytevector + "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f5= 70a3")))) + ("rust-serde" ,(origin (method url-fetch) - (uri (crate-uri "env_logger" "0.3.5")) + (uri (crate-uri "serde" "1.0.15")) (sha256 - (base32 - "0bvcjgkw4s3k1rd7glpflgc8s9a393zjd6jfdgvs8gjvwj0dgaqm")))) - ("rust-openssl-probe" + (base16-string->bytevector + "6a7046c9d4c6c522d10b2d098f9bebe2bef227e0e74044d8c1bfcf6b476a= f799")))) + ("rust-serde_derive" ,(origin (method url-fetch) - (uri (crate-uri "openssl-probe" "0.1.0")) + (uri (crate-uri "serde_derive" "1.0.15")) (sha256 - (base32 - "0689h6rhzy6dypqr90lsxnf108nsnh952wsx7ggs70s48b44jvbm")))) - ("rust-lazy_static" + (base16-string->bytevector + "1afcaae083fd1c46952a315062326bc9957f182358eb7da03b57ef1c688f= 7aa9")))) + ("rust-serde_derive_internals" ,(origin (method url-fetch) - (uri (crate-uri "lazy_static" "0.2.2")) + (uri (crate-uri "serde_derive_internals" "0.16.0")) (sha256 - (base32 - "16z1h7w702sxnscak38jykxlhxq0b5ip4mndlb46pkaqwzi0xgka")))) - ("rust-semver-parser" + (base16-string->bytevector + "bd381f6d01a6616cdba8530492d453b7761b456ba974e98768a18cad2cd7= 6f58")))) + ("rust-serde_ignored" ,(origin (method url-fetch) - (uri (crate-uri "semver-parser" "0.6.1")) + (uri (crate-uri "serde_ignored" "0.0.4")) (sha256 - (base32 - "1s8s7a7yg8xhgci17y0xhyyncg229byivhpr0wbs3ljdlyjl73p8")))) - ("rust-semver" + (base16-string->bytevector + "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01f= b142")))) + ("rust-serde_json" ,(origin (method url-fetch) - (uri (crate-uri "semver" "0.5.1")) + (uri (crate-uri "serde_json" "1.0.3")) (sha256 - (base32 - "1xbiv8l72rmngb3lgbmk3vd4lalcbzxcnrn085c2b75irl7gcbxf")))) - ("rust-docopt" + (base16-string->bytevector + "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6ac6= b7ac")))) + ("rust-shell-escape" + ,(origin + (method url-fetch) + (uri (crate-uri "shell-escape" "0.1.3")) + (sha256 + (base16-string->bytevector + "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b8= 4ef8")))) + ("rust-socket2" ,(origin (method url-fetch) - (uri (crate-uri "docopt" "0.6.86")) + (uri (crate-uri "socket2" "0.2.3")) (sha256 - (base32 - "1nf4f4zf5yk0d0l4kl7hkii4na22fhn0l2hgfb46yzv08l2g6zja")))) - ("rust-miniz-sys" + (base16-string->bytevector + "9e76b159741052c7deaa9fd0b5ca6b5f79cecf525ed665abfe5002086c6b= 2791")))) + ("rust-strsim" ,(origin (method url-fetch) - (uri (crate-uri "miniz-sys" "0.1.7")) + (uri (crate-uri "strsim" "0.6.0")) (sha256 - (base32 - "0m7dlggsxash0k5jkx576p556g9r8vnhyl9244gjxhq1g8rls7wx")))) - ("rust-curl" + (base16-string->bytevector + "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c= 3694")))) + ("rust-syn" ,(origin (method url-fetch) - (uri (crate-uri "curl" "0.4.1")) + (uri (crate-uri "syn" "0.11.11")) (sha256 - (base32 - "1b0y27b6vpqffgzm2kxc1s2i6bgdzxk3wn65g2asbcdxrvys3mcg")))) - ("rust-flate2" + (base16-string->bytevector + "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b44= 1dad")))) + ("rust-synom" ,(origin (method url-fetch) - (uri (crate-uri "flate2" "0.2.14")) + (uri (crate-uri "synom" "0.11.3")) (sha256 - (base32 - "1fx3zsls5bb1zfx87s5sxkgk853z4nhjsbvq5s6if13kjlg4isry")))) - ("rust-git2" + (base16-string->bytevector + "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b519= 45b6")))) + ("rust-tar" ,(origin (method url-fetch) - (uri (crate-uri "git2" "0.6.3")) + (uri (crate-uri "tar" "0.4.13")) (sha256 - (base32 - "06b1bw3pwszs8617xn8js6h0j983qjgfwsychw33lshccj3cld05")))) - ("rust-crates-io" + (base16-string->bytevector + "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f= 2b1b")))) + ("rust-tempdir" ,(origin (method url-fetch) - (uri (crate-uri "crates-io" "0.4.0")) + (uri (crate-uri "tempdir" "0.3.5")) (sha256 - (base32 - "0kk6abp1qbpv44hkq1yjp7xgpzjzafs83i1l26ycr0aph1gbwig9")))) - ("rust-git2-curl" + (base16-string->bytevector + "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff6621= 32d6")))) + ("rust-termcolor" ,(origin (method url-fetch) - (uri (crate-uri "git2-curl" "0.7.0")) + (uri (crate-uri "termcolor" "0.3.3")) (sha256 - (base32 - "13mzqp4rd81zp78261rlq23iw9aaysdr56484y1yy2xzhk3nnrv8")))) - ("rust-bufstream" + (base16-string->bytevector + "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b24= 2c75")))) + ("rust-termion" ,(origin (method url-fetch) - (uri (crate-uri "bufstream" "0.1.2")) + (uri (crate-uri "termion" "1.5.1")) (sha256 - (base32 - "0x6h27md1fwabbhbycfldj0wklrpjr520z9p0cpzm60fzzidnj3v")))) - ("rust-hamcrest" + (base16-string->bytevector + "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e9= 2096")))) + ("rust-thread-id" ,(origin (method url-fetch) - (uri (crate-uri "hamcrest" "0.1.1")) + (uri (crate-uri "thread-id" "2.0.0")) (sha256 - (base32 - "1m49rf7bnkx0qxja56slrjh44zi4z5bjz5x4pblqjw265828y25z")))) - ("rust-num" + (base16-string->bytevector + "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0= ff03")))) + ("rust-thread_local" ,(origin (method url-fetch) - (uri (crate-uri "num" "0.1.36")) + (uri (crate-uri "thread_local" "0.2.7")) (sha256 - (base32 - "081i1r3mdz6jasqd7qwraqqfqa3sdpvdvxl1xq0s7ip714xw1rxx")))) - ("rust-num-traits" + (base16-string->bytevector + "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18c= fdd5")))) + ("rust-thread_local-0.3.4" ,(origin (method url-fetch) - (uri (crate-uri "num-traits" "0.1.36")) + (uri (crate-uri "thread_local" "0.3.4")) (sha256 - (base32 - "07688sp4z40p14lh5ywvrpm4zq8kcxzhjks8sg33jsr5da2l4sm1")))) - ("rust-num-integer" + (base16-string->bytevector + "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90= bb14")))) + ("rust-toml" ,(origin (method url-fetch) - (uri (crate-uri "num-integer" "0.1.32")) + (uri (crate-uri "toml" "0.4.5")) (sha256 - (base32 - "14pvaaawl0pgdcgh4dfdd67lz58yxlfl95bry86h28pjnfzxj97v")))) - ("rust-num-bigint" + (base16-string->bytevector + "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b= 6e7e")))) + ("rust-unicode-bidi" ,(origin (method url-fetch) - (uri (crate-uri "num-bigint" "0.1.35")) + (uri (crate-uri "unicode-bidi" "0.3.4")) (sha256 - (base32 - "0jayfkdm33p4zvcahlv46zdfhlzg053mpw32abf2lz0z8xw47cc8")))) - ("rust-num-rational" + (base16-string->bytevector + "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea= 54d5")))) + ("rust-unicode-normalization" ,(origin (method url-fetch) - (uri (crate-uri "num-rational" "0.1.35")) + (uri (crate-uri "unicode-normalization" "0.1.5")) (sha256 - (base32 - "1bwaygv64qg7i78yqg0v4d0amfhamj598rpy4yxjz9rlhcxn1zsl")))) - ("rust-num-iter" + (base16-string->bytevector + "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625= 920f")))) + ("rust-unicode-xid" ,(origin (method url-fetch) - (uri (crate-uri "num-iter" "0.1.32")) + (uri (crate-uri "unicode-xid" "0.0.4")) (sha256 - (base32 - "0p74nj5c1mc33h9lx4wpmlmggmn5lnkhxv1225g0aix8d6ciqyi8")))) - ("rust-num-complex" + (base16-string->bytevector + "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074c= b4dc")))) + ("rust-unreachable" ,(origin (method url-fetch) - (uri (crate-uri "num-complex" "0.1.35")) + (uri (crate-uri "unreachable" "1.0.0")) (sha256 - (base32 - "0bzrjfppnnzf9vmkpklhp2dw9sb1lqzydb8r6k83z76i9l2qxizh")))) - ("rust-shell-escape" + (base16-string->bytevector + "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814= fa56")))) + ("rust-url" ,(origin (method url-fetch) - (uri (crate-uri "shell-escape" "0.1.3")) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "71d28ea36bbd9192d75bd9fa9b39f96ddb986eaee824adae5d53b6e51919= b2f3")))) + ("rust-utf8-ranges" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e5512= 4122")))) + ("rust-vcpkg" + ,(origin + (method url-fetch) + (uri (crate-uri "vcpkg" "0.2.2")) + (sha256 + (base16-string->bytevector + "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd548= 7d0b")))) + ("rust-void" + ,(origin + (method url-fetch) + (uri (crate-uri "void" "1.0.2")) + (sha256 + (base16-string->bytevector + "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770= 887d")))) + ("rust-walkdir" + ,(origin + (method url-fetch) + (uri (crate-uri "walkdir" "1.0.7")) + (sha256 + (base16-string->bytevector + "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd2= 88ff")))) + ("rust-winapi" + ,(origin + (method url-fetch) + (uri (crate-uri "winapi" "0.2.8")) (sha256 - (base32 - "1y2fp2brv639icv4a0fdqs1zhlrxq8qbz27ygfa86ifmh5jcjp6x")))))) + (base16-string->bytevector + "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909= 087a")))) + ("rust-winapi-build" + ,(origin + (method url-fetch) + (uri (crate-uri "winapi-build" "0.1.1")) + (sha256 + (base16-string->bytevector + "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc6= 99bc")))) + ("rust-wincolor" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63= fa5e")))))) (arguments `(#:cargo ,cargo-bootstrap - #:tests? #f ; FIXME + #:rustc ,rustc ; Force to use rustc from current file #:modules ((ice-9 match) (srfi srfi-1) ; 'every @@ -853,12 +1255,8 @@ safety and thread safety guarantees.") (guix build cargo-build-system)) #:phases (modify-phases %standard-phases - ;; Avoid cargo complaining about missmatched checksums. - (delete 'patch-source-shebangs) - (delete 'patch-generated-file-shebangs) - (delete 'patch-usr-bin-file) - (add-after 'unpack 'unpack-submodule-sources - (lambda* (#:key inputs #:allow-other-keys) + (add-after 'unpack 'unpack-dependencies + (lambda* (#:key inputs outputs #:allow-other-keys) (define (unpack source target) (mkdir-p target) (with-directory-excursion target @@ -871,37 +1269,56 @@ safety and thread safety guarantees.") (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))) + (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 'unpack 'set-environment-up + (mkdir "vendor") + (every install-rust-library inputs))) + (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums (lambda* (#:key inputs #:allow-other-keys) - (let* ((gcc (assoc-ref inputs "gcc")) - (cc (string-append gcc "/bin/gcc"))) - (mkdir ".cargo") - (call-with-output-file ".cargo/config" - (lambda (p) - (format p " + (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")))) + (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' =20 [source.vendored-sources] directory =3D 'vendor' -"))) - (setenv "CMAKE_C_COMPILER" cc) - (setenv "CC" cc)) - #t)) - (delete 'configure)))) +" 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"))))))) (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 --=20 2.15.0 --=-=-=-- From unknown Sat Jun 14 19:38:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#29555] [PATCHv3] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 Resent-From: Nikolai Merinov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 09 Dec 2017 23:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29555 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 29555@debbugs.gnu.org Cc: adam@vany.ca, dannym@scratchpost.org, ludo@gnu.org, jlicht@fsfe.org Received: via spool by 29555-submit@debbugs.gnu.org id=B29555.151286145426322 (code B ref 29555); Sat, 09 Dec 2017 23:18:02 +0000 Received: (at 29555) by debbugs.gnu.org; 9 Dec 2017 23:17:34 +0000 Received: from localhost ([127.0.0.1]:54291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNoN2-0006qG-C7 for submit@debbugs.gnu.org; Sat, 09 Dec 2017 18:17:33 -0500 Received: from mail-lf0-f50.google.com ([209.85.215.50]:37524) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNoMp-0006pq-EZ for 29555@debbugs.gnu.org; Sat, 09 Dec 2017 18:17:22 -0500 Received: by mail-lf0-f50.google.com with SMTP id a12so15397651lfe.4 for <29555@debbugs.gnu.org>; Sat, 09 Dec 2017 15:17:11 -0800 (PST) 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=sbKH0JAH/ZfpWaD/yExel3mKsW+CSYlH8wi+BTJ7bRM=; b=Q7+twpP5977dIuexZoUeCQLbiZwiT+lgQ+mTWCK1QWqxdDk4K+ZgEFrDGYsTXWSorH vOMFrh+7GFlYtUjXSy3gwSxyueBL1gPfp5KrdaBxKR82PFNjqv5/EOncEKuIDNlNagVP hFoVCoKeEQwlG4T3qhAnhy7/ZwXNWbvJbK63S+c9rL5CcSr23olSUvbFRwpdXrNdhhzw O/Q5qzOgUokuIEgkw3HSBFopLEB2x+ALmTnPCbm/aM367kD8UEhj9unQKRp5hd7D/Dw1 kUVb0CJawizeg8rVfsyPNHBwmPzyJ4au13M0aS9/FWV6khjLKMMTCBcSWN/8ToJRp4RM R0BA== X-Gm-Message-State: AJaThX4zvp/KENsAaF5IeMs7sL82LcikYkRP1ySa4OYEWX/Ln5zf1Glu tdr7VR4Gat5puzkvTSlaO5k= X-Google-Smtp-Source: AGs4zMYVG03+eFFa30OxoEmseVWGec0Wdt7aUJpkvoa+rbZo74rt1kvBAFjJjVwYkl/PRqh7pCxFCA== X-Received: by 10.25.56.17 with SMTP id f17mr17007923lfa.17.1512861425524; Sat, 09 Dec 2017 15:17:05 -0800 (PST) Received: from libremnd (97.9-157-90.telenet.ru. [90.157.9.97]) by smtp.gmail.com with ESMTPSA id u11sm2013371lfk.75.2017.12.09.15.17.02 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 09 Dec 2017 15:17:03 -0800 (PST) From: Nikolai Merinov References: <87609nhc00.fsf@member.fsf.org> <558D9F77-E950-4D77-86A3-4B633C0E2009@member.fsf.org> <20171204170506.75f2ce36@scratchpost.org> <87o9ndn1rm.fsf@member.fsf.org> Date: Sun, 10 Dec 2017 04:16:59 +0500 In-Reply-To: <87o9ndn1rm.fsf@member.fsf.org> (Nikolai Merinov's message of "Tue, 05 Dec 2017 11:10:21 +0500") Message-ID: <87bmj7mqz8.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-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 Hi, Please find last update for patch that update rust and cargo in attachements. Changes from last time: 1. Replaced jemalloc to 4.5.0 release according to https://lists.gnu.org/archive/html/bug-guix/2017-12/msg00048.html 2. Added code that reset timestamps for rust build. When we change files (through "substitute*" or with any other methods) their mtime changes, but mtimes influent packages fingerprint and, as result, "rust.metadata.bin" in "liblibc-.rlib" become not reproducible. Currently rustc build is reproducable. Full list of changes from rustc 1.16: 1. Added GDB as test dependency 2. Added LLVM_LINK_SHARED environment variable to link with shared llvm libraries (because there is no static libraries in guix llvm-3.9.1 package 3. rustc in 1.22.1 release try to find "ar" binary in same directory as "gcc", but there is only "gcc-ar" in such place. *NOTE*: In next rust release function "cc2ar" will be removed from and this "substitute*" will be replaced with new option in config.toml 4. Ignored new test "connect_timeout_unroutable". This test failed in container because there is no network. 5. Fixed bug in "up_to_date" function in "src/build_helper/lib.rs". This fix already merged to rust repo in "master" branch. 6. Allow to fix shebangs in vendored sources. For this purpose was added "patch-cargo-checksums" task that recreate ".cargo-checksum.json" for all vendored sources and patch "src/Cargo.lock" to use patched vendored sources. 7. Configuration performed through "config.toml" file instead of obsolete "./configre" script. 8. Codegen tests was disabled, because 2 tests codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs created for llvm with patch backported from llvm 4. 9. After all this changes timestamps for sources resetted to achieve reproducable build. 10. Build, test and installation preformed through new "./x.py" script instead of obsolet makefiles generated by "./configure". Full list of changes from cargo 1.17: 1. Tests was enabled! 2. New dependency for tests "git" utility. 3. Rust dependencies was updated from actual cargo's "Cargo.lock" file. 4. Return all "patch-*-shebngs" tasks. Without this patches some of cargo dependencies fail to compile. 5. Recalculate ".cargo-checksum.json" files for all patched vendored sources and update "Cargo.lock" to use this patched vendored sources. 6. Patch usage of "/usr/bin/env" in tests. 7. Disable next tests: * "wasm32_final_outputs" failed to call llvm for "asmjs-unknown-emscripten" architecture. * "ctrl_c_kills_everyone" fail in container because of network. * Added "CFG_DISABLE_CROSS_TESTS" to disable cross-compilation tests. Not fully understand issue with this tests, but according to cargo sources "This failure can be safely ignored". --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-rust-update-rust-to-1.22.1-and-cargo-to-1.23.0.patch Content-Transfer-Encoding: quoted-printable >From 0ea0b787e6d2c69605f6c72404e8b37d4617e97b Mon Sep 17 00:00:00 2001 From: Nikolay Merinov Date: Sun, 3 Dec 2017 19:55:24 +0500 Subject: [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 To: guix-patches@gnu.org * gnu/packages/rust.scm (%rust-bootstrap-binaries-version): update version (%rust-bootstrap-binaries): use x86_64 rust bootstrap package for x86_64 bu= ild (%cargo-reference-project-file): Use specific file as "project" file when patching rust vendored sources (%cargo-reference-hash): sha256 sum for %cargo-reference-project-file (rustc-bootstrap): use bootstrap package with host architecture (cargo-bootstrap): use bootstrap package with host architecture (rustc): Add new test dependency, fix build issues, use "./x.py" script for build instead of "./configure" (cargo): Update dependencies, patch shebangs for vendored sources * gnu/packages/jemalloc.scm: add jemalloc-4.5.0 release --- gnu/packages/jemalloc.scm | 15 + gnu/packages/rust.scm | 1186 ++++++++++++++++++++++++++++++-----------= ---- 2 files changed, 820 insertions(+), 381 deletions(-) diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm index a3bd2c93a..5e3e32df8 100644 --- a/gnu/packages/jemalloc.scm +++ b/gnu/packages/jemalloc.scm @@ -23,6 +23,7 @@ #:use-module ((guix licenses) #:select (bsd-2)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (gnu packages perl) #:use-module (guix build-system gnu)) =20 @@ -62,3 +63,17 @@ "This library providing a malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support.") (license bsd-2))) + +(define-public jemalloc-4.5.0 + (package + (inherit jemalloc) + (version "4.5.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/jemalloc/jemalloc/releases/downloa= d/" + version "/jemalloc-" version ".tar.bz2")) + (sha256 + (base32 + "10373xhpc10pgmai9fkc1z0rs029qlcb3c0qfnvkbwdlcibdh2cl")))) + (inputs '()))) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 583ea37c8..0edd4114a 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -3,6 +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 ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,7 @@ #:use-module (gnu packages elf) #:use-module (gnu packages flex) #:use-module (gnu packages gcc) + #:use-module (gnu packages gdb) #:use-module (gnu packages jemalloc) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) @@ -37,17 +39,19 @@ #:use-module (gnu packages ssh) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages) #:use-module (guix build-system cargo) #: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 (ice-9 match) #:use-module (srfi srfi-26)) =20 ;; Should be one less than the current released version. -(define %rust-bootstrap-binaries-version "1.15.0") +(define %rust-bootstrap-binaries-version "1.21.0") =20 (define %rust-bootstrap-binaries (origin @@ -55,10 +59,18 @@ (uri (string-append "https://static.rust-lang.org/dist/" "rust-" %rust-bootstrap-binaries-version - "-i686-unknown-linux-gnu.tar.gz")) + "-" %host-type ".tar.gz")) (sha256 (base32 - "0wmkfx8pxmkkw021mrq9s3xhra8f0daqdl6j56pxyn4w39i0rzrw")))) + (match %host-type + ("i686-unknown-linux-gnu" + "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") + ("x86_64-unknown-linux-gnu" + "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml")))))) + +(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 #\.) @@ -92,7 +104,6 @@ (arguments `(#:tests? #f #:strip-binaries? #f - #:system "i686-linux" #:phases (modify-phases %standard-phases (delete 'configure) @@ -103,8 +114,7 @@ (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 "i686-lin= ux"))) + (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" zlib "/lib:" libc "/lib:" gcc:lib "/lib")) (rustc (string-append out "/bin/rustc")) @@ -112,7 +122,7 @@ (system* "bash" "install.sh" (string-append "--prefix=3D" out) (string-append "--components=3Drustc," - "rust-std-i686-unknown-linux-gnu")) + "rust-std-" %host-type)) (for-each (lambda (file) (system* "patchelf" "--set-rpath" rpath file)) (cons* rustc rustdoc (find-files out "\\.so$"))) @@ -129,7 +139,7 @@ which can in turn be used to build the final Rust compi= ler.") (define cargo-bootstrap (package (name "cargo-bootstrap") - (version (cargo-version %rust-bootstrap-binaries-version)) + (version (cargo-version %rust-bootstrap-binaries-version 1)) (source %rust-bootstrap-binaries) (build-system gnu-build-system) (native-inputs @@ -139,7 +149,6 @@ which can in turn be used to build the final Rust compi= ler.") (arguments `(#:tests? #f #:strip-binaries? #f - #:system "i686-linux" #:phases (modify-phases %standard-phases (delete 'configure) @@ -149,8 +158,7 @@ which can in turn be used to build the final Rust compi= ler.") (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 "i686-lin= ux"))) + (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" libc "/lib:" gcc:lib "/lib")) (cargo (string-append out "/bin/cargo"))) @@ -196,11 +204,11 @@ manager, which is required to build itself.") (description "Meta package for a rust environment. Provides pre-compil= ed rustc-bootstrap and cargo-bootstrap packages.") (license license:asl2.0))) - + (define-public rustc (package (name "rustc") - (version (rustc-version %rust-bootstrap-binaries-version)) + (version (rustc-version %rust-bootstrap-binaries-version 1)) (source (origin (method url-fetch) (uri (string-append @@ -208,109 +216,146 @@ rustc-bootstrap and cargo-bootstrap packages.") "rustc-" version "-src.tar.gz")) (sha256 (base32 - "1d78jq7mc34n265by68amr9r4nzbiqrilfbwh7gx56ydn4gb6rpr")) - (modules '((guix build utils))) - (snippet - `(begin - (delete-file-recursively "src/llvm") - #t)))) + "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")) + (modules '((guix build utils))) + (snippet + `(begin + (delete-file-recursively "src/llvm") + #t)))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) ; For the tests ("cmake" ,cmake) ("flex" ,flex) ; For the tests + ("gdb" ,gdb) ; For the tests ("git" ,git) ("procps" ,procps) ; For the tests ("python-2" ,python-2) ("rust-bootstrap" ,rust-bootstrap) ("which" ,which))) (inputs - `(("jemalloc" ,jemalloc) + `(("jemalloc" ,jemalloc-4.5.0) ("llvm" ,llvm-3.9.1))) (arguments - `(#:phases + `(#:imported-modules ,%cargo-build-system-modules ;for `generate-chec= ksums' + #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-configure - (lambda _ - (substitute* "configure" - (("/usr/bin/env") (which "env")) ; Detect target CPU correc= tly. - (("probe_need CFG_CURL curl") "") ; Avoid curl build depend= ency. - ;; Newer LLVM has a NVPTX (NVIDIA) backend which the Rust - ;; Makefiles don't know about, causing a linker failure - ;; if we don't intervene. - ;; Therefore, we add NVPTX here. - ;; See . - ;; For the next release, we will have to use rustbuild. - ;; Right now, rustbuild doesn't work yet. - (("-DLLVM_TARGETS_TO_BUILD=3D'") - "-DLLVM_TARGETS_TO_BUILD=3D'NVPTX;")) ; Make LLVM >=3D 3.8= .1 work. - (substitute* "src/tools/compiletest/src/util.rs" - (("(\"amd64\", \"x86_64\"),") "(\"amd64\", \"x86_64\"), -(\"nvptx\", \"nvptx\"),")) ; Make LLVM >=3D 3.8.1 work. - (substitute* "mk/main.mk" - (("LLVM_OPTIONAL_COMPONENTS=3D") - "LLVM_OPTIONAL_COMPONENTS=3Dnvptx ")) ; Make LLVM >=3D 3.8= .1 work. - #t)) (add-after 'unpack 'set-env (lambda _ (setenv "SHELL" (which "sh")) (setenv "CONFIG_SHELL" (which "sh")) + ;; guix llvm-3.9.1 package install only shared libraries + (setenv "LLVM_LINK_SHARED" "1") #t)) (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) - (substitute* "src/tools/tidy/src/main.rs" - (("^.*cargo.*::check.*$") "")) + (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 ;; fail otherwise. - (("\"/bin/sh\"") (string-append " -\"" bash "/bin/sh\""))) - ;; See . + (("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\""))) + (substitute* "src/libstd/net/tcp.rs" + ;; There is no network in build environment + (("fn connect_timeout_unroutable") + "#[ignore]\nfn connect_timeout_unroutable")) + ;; (substitute* "src/libstd/sys/unix/process/process_common.rs" - (("fn test_process_mask") "#[cfg_attr(target_os =3D \"lin= ux\", ignore)] -fn test_process_mask")) + (("fn test_process_mask") "#[ignore]\nfn test_process_mas= k")) ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_= PATH. - ;; See . + ;; (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-source-shebangs 'patch-cargo-checksums + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/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 "src/vendor" ".cargo-checksum.json")))) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (gcc (assoc-ref inputs "gcc")) + (gdb (assoc-ref inputs "gdb")) (binutils (assoc-ref inputs "binutils")) (python (assoc-ref inputs "python-2")) (rustc (assoc-ref inputs "rustc-bootstrap")) + (cargo (assoc-ref inputs "cargo-bootstrap")) (llvm (assoc-ref inputs "llvm")) - (jemalloc (assoc-ref inputs "jemalloc")) - (flags (list - (string-append "--prefix=3D" out) - (string-append "--datadir=3D" out "/share") - (string-append "--infodir=3D" out "/share/info= ") - (string-append "--default-linker=3D" gcc "/bin= /gcc") - (string-append "--default-ar=3D" binutils "/bi= n/ar") - (string-append "--python=3D" python "/bin/pyth= on2") - (string-append "--local-rust-root=3D" rustc) - (string-append "--llvm-root=3D" llvm) - (string-append "--jemalloc-root=3D" jemalloc "= /lib") - "--release-channel=3Dstable" - "--enable-rpath" - "--enable-local-rust" - "--disable-rustbuild" ; rustbuild doesn't work= yet. - "--disable-manage-submodules"))) - ;; Rust uses a custom configure script (no autoconf). - (zero? (apply system* "./configure" flags))))) - (add-after 'install 'wrap-rustc + (jemalloc (assoc-ref inputs "jemalloc"))) + (call-with-output-file "config.toml" + (lambda (port) + (display (string-append " +[llvm] +[build] +cargo =3D \"" cargo "/bin/cargo" "\" +rustc =3D \"" rustc "/bin/rustc" "\" +python =3D \"" python "/bin/python2" "\" +gdb =3D \"" gdb "/bin/gdb" "\" +vendor =3D true +submodules =3D false +[install] +prefix =3D \"" out "\" +[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: +# codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs +# This tests required patched LLVM +codegen-tests =3D false +[target." %host-type "] +llvm-config =3D \"" llvm "/bin/llvm-config" "\" +cc =3D \"" gcc "/bin/gcc" "\" +cxx =3D \"" gcc "/bin/g++" "\" +jemalloc =3D \"" jemalloc "/lib/libjemalloc_pic.a" "\" +[dist] +") port)))))) + (add-before 'build 'reset-timestamps-after-changes + (lambda* (#:key inputs outputs #:allow-other-keys) + (define ref (stat "README.md")) + (for-each + (lambda (filename) + (set-file-time filename ref)) + (find-files "." #:directories? #t)))) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? (system* "./x.py" "build")))) + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? (system* "./x.py" "test")))) + (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (libc (assoc-ref inputs "libc")) - (ld-wrapper (assoc-ref inputs "ld-wrapper"))) + (zero? (system* "./x.py" "install")))) + (add-after 'install 'wrap-rustc + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (libc (assoc-ref inputs "libc")) + (ld-wrapper (assoc-ref inputs "ld-wrapper"))) ;; Let gcc find ld and libc startup files. - (wrap-program (string-append out "/bin/rustc") - `("PATH" ":" prefix (,(string-append ld-wrapper "/bin"))) - `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib")= ))) - #t)))))) + (wrap-program (string-append out "/bin/rustc") + `("PATH" ":" prefix (,(string-append ld-wrapper "/bin")= )) + `("LIBRARY_PATH" ":" suffix (,(string-append libc "/lib= ")))) + #t)))))) ;; rustc invokes gcc, so we need to set its search paths accordingly. (native-search-paths (package-native-search-paths gcc)) (synopsis "Compiler for the Rust progamming language") @@ -325,7 +370,7 @@ safety and thread safety guarantees.") (define-public cargo (package (name "cargo") - (version (cargo-version (rustc-version %rust-bootstrap-binaries-versio= n))) + (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/" @@ -333,7 +378,7 @@ safety and thread safety guarantees.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1y0zy8gk1ly0wh57y78fisk7cdd92qk0x7z664f6l7lzl2krqs7w")))) + "0kr7rml7v2bm7zl8jcb3056h63zpyy9m08s212i8vfwxf6lf5fzl")))) (build-system cargo-build-system) (propagated-inputs `(("cmake" ,cmake) @@ -346,506 +391,870 @@ safety and thread safety guarantees.") ("python-2" ,python-2) ("zlib" ,zlib))) (native-inputs - `(("rust-openssl" + `(("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 " (sha256"; + ;; print " (base16-string->bytevector"; + ;; print " " hash "))))" + ;; }' + ("rust-advapi32-sys" ,(origin (method url-fetch) - (uri (crate-uri "openssl" "0.9.6")) + (uri (crate-uri "advapi32-sys" "0.2.0")) (sha256 - (base32 - "0g28g692gby6izp9qmnwnyxyhf9b0870yhd500p18j9l69lxl00c")))) - ("rust-strsim" + (base16-string->bytevector + "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb= 8a9a")))) + ("rust-aho-corasick" + ,(origin + (method url-fetch) + (uri (crate-uri "aho-corasick" "0.5.3")) + (sha256 + (base16-string->bytevector + "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686d= db66")))) + ("rust-aho-corasick-0.6.3" ,(origin (method url-fetch) - (uri (crate-uri "strsim" "0.5.1")) + (uri (crate-uri "aho-corasick" "0.6.3")) (sha256 - (base32 - "0bj4fsm1l2yqbfpspyvjf9m3m50pskapcddzm0ji9c74jbgnkh2h")))) - ("rust-libc" + (base16-string->bytevector + "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b88= 9699")))) + ("rust-atty" + ,(origin + (method url-fetch) + (uri (crate-uri "atty" "0.2.3")) + (sha256 + (base16-string->bytevector + "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421b7= 8860")))) + ("rust-backtrace" + ,(origin + (method url-fetch) + (uri (crate-uri "backtrace" "0.3.3")) + (sha256 + (base16-string->bytevector + "99f2ce94e22b8e664d95c57fff45b98a966c2252b60691d0b7aeeccd88d7= 0983")))) + ("rust-backtrace-sys" ,(origin (method url-fetch) - (uri (crate-uri "libc" "0.2.18")) + (uri (crate-uri "backtrace-sys" "0.1.14")) (sha256 - (base32 - "0w5cghr0wx3hi2sclk8r9iyzlbxsakil87ada40q2ykyhky24655")))) + (base16-string->bytevector + "c63ea141ef8fdb10409d0f5daf30ac51f84ef43bff66f16627773d2a292c= d189")))) ("rust-bitflags" ,(origin (method url-fetch) (uri (crate-uri "bitflags" "0.7.0")) (sha256 - (base32 - "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda")))) - ("rust-unicode-normalization" + (base16-string->bytevector + "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881= 106d")))) + ("rust-bitflags-0.9.1" ,(origin (method url-fetch) - (uri (crate-uri "unicode-normalization" "0.1.2")) + (uri (crate-uri "bitflags" "0.9.1")) (sha256 - (base32 - "0whi4xxqcjfsz6ywyrfd5lhgk1a44c86qwgvfqcmzidshcpklr16")))) - ("rust-rand" + (base16-string->bytevector + "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1a= b3a5")))) + ("rust-bufstream" ,(origin (method url-fetch) - (uri (crate-uri "rand" "0.3.14")) + (uri (crate-uri "bufstream" "0.1.3")) (sha256 - (base32 - "1984zvj8572ig28fz6idc4r96fx39h4lzmr07yf7kb7gdn6di497")))) - ("rust-gcc" + (base16-string->bytevector + "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d0946= 8e32")))) + ("rust-cc" ,(origin (method url-fetch) - (uri (crate-uri "gcc" "0.3.39")) + (uri (crate-uri "cc" "1.0.0")) (sha256 - (base32 - "1q0idjvmhp6shkb9hqabh51rgfr8dqpi1xfmyzq7q8vgzybll7kp")))) - ("rust-tempdir" + (base16-string->bytevector + "7db2f146208d7e0fbee761b09cd65a7f51ccc38705d4e7262dad4d73b12a= 76b1")))) + ("rust-cfg-if" ,(origin (method url-fetch) - (uri (crate-uri "tempdir" "0.3.5")) + (uri (crate-uri "cfg-if" "0.1.2")) (sha256 - (base32 - "1mij45kgzflkja0h8q9avrik76h5a0b60m9hfd6k9yqxbiplm5w7")))) - ("rust-memchr" + (base16-string->bytevector + "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed31= 40de")))) + ("rust-cmake" ,(origin (method url-fetch) - (uri (crate-uri "memchr" "0.1.11")) + (uri (crate-uri "cmake" "0.1.26")) (sha256 - (base32 - "084d85hjfa3xf5kwdms2mhbkh78m1gl2254cp5swcxj3a7xjkdnq")))) - ("rust-rustc-serialize" + (base16-string->bytevector + "357c07e7a1fc95732793c1edb5901e1a1f305cfcf63a90eb12dbd22bdb6b= 789d")))) + ("rust-commoncrypto" ,(origin (method url-fetch) - (uri (crate-uri "rustc-serialize" "0.3.21")) + (uri (crate-uri "commoncrypto" "0.2.0")) (sha256 - (base32 - "064qmyr2508qf78dwcpiv25rfjp9h9vd0wrj4mmwgppjg4fgrydz")))) - ("rust-cmake" + (base16-string->bytevector + "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b6= 9007")))) + ("rust-commoncrypto-sys" ,(origin (method url-fetch) - (uri (crate-uri "cmake" "0.1.19")) + (uri (crate-uri "commoncrypto-sys" "0.2.0")) (sha256 - (base32 - "0am8c8ns1h6b1a5x9z2r1m3rszvya5nccl2pzszzjv5aiiaydgcf")))) - ("rust-matches" + (base16-string->bytevector + "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f40= 83e2")))) + ("rust-conv" ,(origin (method url-fetch) - (uri (crate-uri "matches" "0.1.4")) + (uri (crate-uri "conv" "0.3.3")) (sha256 - (base32 - "1c8190j84hbicy8jwscw5icfam12j6lcxi02lvmadq9260p65mzg")))) - ("rust-winapi" + (base16-string->bytevector + "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d= 1299")))) + ("rust-core-foundation" ,(origin (method url-fetch) - (uri (crate-uri "winapi" "0.2.8")) + (uri (crate-uri "core-foundation" "0.4.4")) (sha256 - (base32 - "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n")))) - ("rust-pkg-config" + (base16-string->bytevector + "5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb232= 0dc7")))) + ("rust-core-foundation-sys" ,(origin (method url-fetch) - (uri (crate-uri "pkg-config" "0.3.8")) + (uri (crate-uri "core-foundation-sys" "0.4.4")) (sha256 - (base32 - "1ypj4nj2z9z27qg06v3g40jyhw685i3l2wi098d21bvyri781vlc")))) - ("rust-libssh2-sys" + (base16-string->bytevector + "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a= 3387")))) + ("rust-crossbeam" ,(origin (method url-fetch) - (uri (crate-uri "libssh2-sys" "0.2.5")) + (uri (crate-uri "crossbeam" "0.2.10")) (sha256 - (base32 - "0d2r36hrh9vc1821r0v4kywv30svpf37d31calwql69fbij3bqci")))) - ("rust-libz-sys" + (base16-string->bytevector + "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb92750= 8f97")))) + ("rust-crossbeam-0.3.0" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "34903878eec1694faf53cae8473a088df333181de421d4d3d48061d6559f= e602")))) + ("rust-curl" ,(origin (method url-fetch) - (uri (crate-uri "libz-sys" "1.0.13")) + (uri (crate-uri "curl" "0.4.8")) (sha256 - (base32 - "034pgvxzgsv37iafgs0lmvd1ifm0bg0zm1xcsn9x71nn8lm93vp5")))) + (base16-string->bytevector + "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41ae= 9c2c")))) ("rust-curl-sys" ,(origin (method url-fetch) - (uri (crate-uri "curl-sys" "0.3.6")) + (uri (crate-uri "curl-sys" "0.3.15")) (sha256 - (base32 - "0fi8kjz3f8m8vfazycs3ddm0h6j3x78hw78gwbvybx71129192i1")))) - ("rust-error-chain" + (base16-string->bytevector + "4bee31aa3a079d5f3ff9579ea4dcfb1b1a17a40886f5f467436d383e7813= 4b55")))) + ("rust-custom_derive" ,(origin (method url-fetch) - (uri (crate-uri "error-chain" "0.7.2")) + (uri (crate-uri "custom_derive" "0.1.7")) (sha256 - (base32 - "03qjh6l2a9fkiyg0428p7q3dcpi47cbmrqf9zmlymkg43v3v731i")))) - ("rust-metadeps" + (base16-string->bytevector + "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a= 01b9")))) + ("rust-dbghelp-sys" ,(origin (method url-fetch) - (uri (crate-uri "metadeps" "1.1.1")) + (uri (crate-uri "dbghelp-sys" "0.2.0")) (sha256 - (base32 - "0l818461bslb7nrs7r1amkqv45n53fcp5sabyqipwx0xxbkzz7w2")))) - ("rust-openssl-sys" + (base16-string->bytevector + "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5= b850")))) + ("rust-docopt" ,(origin (method url-fetch) - (uri (crate-uri "openssl-sys" "0.9.6")) + (uri (crate-uri "docopt" "0.8.1")) (sha256 - (base32 - "1hzpyf9z8xg1yn5r9g17bl5j20nifd6s2zp10xh90v7m0sd2yj5i")))) - ("rust-fs2" + (base16-string->bytevector + "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49= 787a")))) + ("rust-dtoa" ,(origin (method url-fetch) - (uri (crate-uri "fs2" "0.3.0")) + (uri (crate-uri "dtoa" "0.4.2")) (sha256 - (base32 - "0lg57mgcm1r0m8jm4nqpcrl6lmxg8lj854k2h0r7qp46pphh2034")))) - ("rust-log" + (base16-string->bytevector + "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e= 50ab")))) + ("rust-env_logger" ,(origin (method url-fetch) - (uri (crate-uri "log" "0.3.6")) + (uri (crate-uri "env_logger" "0.4.3")) (sha256 - (base32 - "0m40hgs3cg57dd5kk1mabfk6gk8z6l1cihar8akx4kmzz1xlk0xb")))) + (base16-string->bytevector + "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8= cd5b")))) + ("rust-error-chain" + ,(origin + (method url-fetch) + (uri (crate-uri "error-chain" "0.11.0")) + (sha256 + (base16-string->bytevector + "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419e= d3f3")))) ("rust-filetime" ,(origin (method url-fetch) - (uri (crate-uri "filetime" "0.1.10")) + (uri (crate-uri "filetime" "0.1.12")) (sha256 - (base32 - "08p9scgv30i1141cnp5xi4pqlnkfci455nrpca55df1r867anqsk")))) - ("rust-tar" + (base16-string->bytevector + "6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf73= 2c0e")))) + ("rust-flate2" + ,(origin + (method url-fetch) + (uri (crate-uri "flate2" "0.2.20")) + (sha256 + (base16-string->bytevector + "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81= e423")))) + ("rust-fnv" ,(origin (method url-fetch) - (uri (crate-uri "tar" "0.4.9")) + (uri (crate-uri "fnv" "1.0.5")) (sha256 - (base32 - "1vi3nl8s3jjf5l20ni47gmh1p4bdjfh7q50fbg7izzqrf7i4i40c")))) + (base16-string->bytevector + "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fe= e344")))) + ("rust-foreign-types" + ,(origin + (method url-fetch) + (uri (crate-uri "foreign-types" "0.2.0")) + (sha256 + (base16-string->bytevector + "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8= a29d")))) + ("rust-fs2" + ,(origin + (method url-fetch) + (uri (crate-uri "fs2" "0.4.2")) + (sha256 + (base16-string->bytevector + "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c= 2866")))) + ("rust-git2" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5= bf8e")))) ("rust-glob" ,(origin (method url-fetch) (uri (crate-uri "glob" "0.2.11")) (sha256 - (base32 - "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb")))) - ("rust-cfg-if" + (base16-string->bytevector + "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac589= 5bfb")))) + ("rust-globset" ,(origin (method url-fetch) - (uri (crate-uri "cfg-if" "0.1.0")) + (uri (crate-uri "globset" "0.2.0")) (sha256 - (base32 - "137qikjcal4h75frzcn6mknygqk8vy5bva7w851aydb5gc6pc7ny")))) - ("rust-winapi-build" + (base16-string->bytevector + "feeb1b6840809ef5efcf7a4a990bc4e1b7ee3df8cf9e2379a75aeb2ba42a= c9c3")))) + ("rust-hamcrest" ,(origin (method url-fetch) - (uri (crate-uri "winapi-build" "0.1.1")) + (uri (crate-uri "hamcrest" "0.1.1")) (sha256 - (base32 - "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d")))) - ("rust-advapi32-sys" + (base16-string->bytevector + "bf088f042a467089e9baa4972f57f9247e42a0cc549ba264c7a04fbb8ecb= 89d4")))) + ("rust-hex" ,(origin (method url-fetch) - (uri (crate-uri "advapi32-sys" "0.2.0")) + (uri (crate-uri "hex" "0.2.0")) (sha256 - (base32 - "16largvlrd1800vvdchml0ngnszjlnpqm01rcz5hm7di1h48hrg0")))) - ("rust-gdi32-sys" + (base16-string->bytevector + "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e1= 53aa")))) + ("rust-home" ,(origin (method url-fetch) - (uri (crate-uri "gdi32-sys" "0.2.0")) + (uri (crate-uri "home" "0.3.0")) (sha256 - (base32 - "0605d4ngjsspghwjv4jicajich1gnl0aik9f880ajjzjixd524h9")))) - ("rust-ws2_32-sys" + (base16-string->bytevector + "9f25ae61099d8f3fee8b483df0bd4ecccf4b2731897aad40d50eca1b641f= e6db")))) + ("rust-idna" ,(origin (method url-fetch) - (uri (crate-uri "ws2_32-sys" "0.2.1")) + (uri (crate-uri "idna" "0.1.4")) (sha256 - (base32 - "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m")))) - ("rust-user32-sys" + (base16-string->bytevector + "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951e= af7d")))) + ("rust-ignore" ,(origin (method url-fetch) - (uri (crate-uri "user32-sys" "0.2.0")) + (uri (crate-uri "ignore" "0.2.2")) (sha256 - (base32 - "0ivxc7hmsxax9crdhxdd1nqwik4s9lhb2x59lc8b88bv20fp3x2f")))) - ("rust-unicode-bidi" + (base16-string->bytevector + "b3fcaf2365eb14b28ec7603c98c06cc531f19de9eb283d89a3dff8417c8c= 99f5")))) + ("rust-itoa" + ,(origin + (method url-fetch) + (uri (crate-uri "itoa" "0.3.4")) + (sha256 + (base16-string->bytevector + "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4= db8c")))) + ("rust-jobserver" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056= 098d")))) + ("rust-lazy_static" + ,(origin + (method url-fetch) + (uri (crate-uri "lazy_static" "0.2.9")) + (sha256 + (base16-string->bytevector + "c9e5e58fa1a4c3b915a561a78a22ee0cac6ab97dca2504428bc1cb074375= f8d5")))) + ("rust-libc" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "6f74b4959cef96898f5123148724fc7dee043b9a6b99f219d948851bfbe5= 3cb2")))) + ("rust-libssh2-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "44ebbc760fd2d2f4d93de09a0e13d97e057612052e871da9985cedcb451e= 6bd5")))) + ("rust-log" + ,(origin + (method url-fetch) + (uri (crate-uri "log" "0.3.8")) + (sha256 + (base16-string->bytevector + "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512= 565b")))) + ("rust-magenta" ,(origin (method url-fetch) - (uri (crate-uri "unicode-bidi" "0.2.3")) + (uri (crate-uri "magenta" "0.1.1")) (sha256 - (base32 - "0gqbyf6slkgzr14nf6v8dw8a19l5snh6bpms8bpfvzpxdawwxxy1")))) + (base16-string->bytevector + "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3a= c527")))) + ("rust-magenta-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "magenta-sys" "0.1.1")) + (sha256 + (base16-string->bytevector + "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f= 4699")))) + ("rust-matches" + ,(origin + (method url-fetch) + (uri (crate-uri "matches" "0.1.6")) + (sha256 + (base16-string->bytevector + "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f19= 3376")))) + ("rust-memchr" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a= 47b4")))) + ("rust-miniz-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "miniz-sys" "0.1.10")) + (sha256 + (base16-string->bytevector + "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7= e2b4")))) + ("rust-miow" + ,(origin + (method url-fetch) + (uri (crate-uri "miow" "0.2.1")) + (sha256 + (base16-string->bytevector + "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355a= e919")))) ("rust-net2" ,(origin (method url-fetch) - (uri (crate-uri "net2" "0.2.26")) + (uri (crate-uri "net2" "0.2.31")) (sha256 - (base32 - "1qp3q6xynb481rsp3ig1nmqb6qlxfba3shfrmqij88cppsv9rpsy")))) - ("rust-utf8-ranges" + (base16-string->bytevector + "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b71= 6c09")))) + ("rust-num" ,(origin (method url-fetch) - (uri (crate-uri "utf8-ranges" "0.1.3")) + (uri (crate-uri "num" "0.1.40")) (sha256 - (base32 - "03xf604b2v51ag3jgzw92l97xnb10kw9zv948bhc7ja1ik017jm1")))) - ("rust-crossbeam" + (base16-string->bytevector + "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f92= 3525")))) + ("rust-num-bigint" ,(origin (method url-fetch) - (uri (crate-uri "crossbeam" "0.2.10")) + (uri (crate-uri "num-bigint" "0.1.40")) (sha256 - (base32 - "15wga0kvk3iqf3l077957j931brf1pl3p74xibd698jccqas4phc")))) - ("rust-toml" + (base16-string->bytevector + "8fd0f8dbb4c0960998958a796281d88c16fbe68d87b1baa6f31e2979e81f= d0bd")))) + ("rust-num-complex" ,(origin (method url-fetch) - (uri (crate-uri "toml" "0.2.1")) + (uri (crate-uri "num-complex" "0.1.40")) (sha256 - (base32 - "1d1cz43bxrx4fd6j2p6myckf81f72bp47akg36y3flxjkhj60svk")))) - ("rust-aho-corasick" + (base16-string->bytevector + "503e668405c5492d67cf662a81e05be40efe2e6bcf10f7794a07bd9865e7= 04e6")))) + ("rust-num-integer" ,(origin (method url-fetch) - (uri (crate-uri "aho-corasick" "0.5.3")) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13df= fe01")))) + ("rust-num-rational" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721= b9b0")))) + ("rust-num_cpus" + ,(origin + (method url-fetch) + (uri (crate-uri "num_cpus" "1.7.0")) + (sha256 + (base16-string->bytevector + "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d453= b20d")))) + ("rust-openssl" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f37= 8daf")))) + ("rust-openssl-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6a= e356")))) + ("rust-pkg-config" + ,(origin + (method url-fetch) + (uri (crate-uri "pkg-config" "0.3.9")) (sha256 - (base32 - "0rnvdmlajikq0i4zdy1p3pv699q6apvsxfc7av7byhppllp2r5ya")))) + (base16-string->bytevector + "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edb= a903")))) ("rust-psapi-sys" ,(origin (method url-fetch) (uri (crate-uri "psapi-sys" "0.1.0")) (sha256 - (base32 - "0y14g8qshsfnmb7nk2gs1rpbrs1wrggajmzp4yby4q6k0wd5vkdb")))) - ("rust-idna" + (base16-string->bytevector + "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a= 2478")))) + ("rust-quote" ,(origin (method url-fetch) - (uri (crate-uri "idna" "0.1.0")) + (uri (crate-uri "quote" "0.3.15")) (sha256 - (base32 - "049c2rmlydrrrgrxdaq2v21adx9vkfh6k9x4xj56ckyf01p26lqh")))) - ("rust-url" + (base16-string->bytevector + "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4= 167a")))) + ("rust-rand" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47eb0= 4509")))) + ("rust-redox_termios" + ,(origin + (method url-fetch) + (uri (crate-uri "redox_termios" "0.1.1")) + (sha256 + (base16-string->bytevector + "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db= 0f76")))) + ("rust-regex" + ,(origin + (method url-fetch) + (uri (crate-uri "regex" "0.1.80")) + (sha256 + (base16-string->bytevector + "4fd4ace6a8cf7860714a2c2280d6c1f7e6a413486c13298bbc86fd3da019= 402f")))) + ("rust-regex-0.2.2" ,(origin (method url-fetch) - (uri (crate-uri "url" "1.2.3")) + (uri (crate-uri "regex" "0.2.2")) (sha256 - (base32 - "1myr1i8djbl2bhvvrm6n3h7bj7sl6kh5dmaaz2f7c6x8hyyzgk28")))) + (base16-string->bytevector + "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b= 2d1b")))) ("rust-regex-syntax" ,(origin (method url-fetch) (uri (crate-uri "regex-syntax" "0.3.9")) (sha256 - (base32 - "0ms9hgdhhsxw9w920i7gipydvagf100bb56jbs192rz86ln01v7r")))) - ("rust-kernel32-sys" + (base16-string->bytevector + "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db83= 4957")))) + ("rust-regex-syntax-0.4.1" ,(origin (method url-fetch) - (uri (crate-uri "kernel32-sys" "0.2.2")) + (uri (crate-uri "regex-syntax" "0.4.1")) (sha256 - (base32 - "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm")))) - ("rust-term" + (base16-string->bytevector + "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f= 62db")))) + ("rust-rustc-demangle" ,(origin (method url-fetch) - (uri (crate-uri "term" "0.4.4")) + (uri (crate-uri "rustc-demangle" "0.1.5")) (sha256 - (base32 - "0jpr7jb1xidadh0arklwr99r8w1k1dfc4an3ginpsq5nnfigivrx")))) - ("rust-thread-id" + (base16-string->bytevector + "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e= 817e")))) + ("rust-rustc-serialize" ,(origin (method url-fetch) - (uri (crate-uri "thread-id" "2.0.0")) + (uri (crate-uri "rustc-serialize" "0.3.24")) (sha256 - (base32 - "00zzs2bx1xw8aqm5plqqgr7bc2zz6zkqrdxq8vpiqb8hc2srslx9")))) - ("rust-thread_local" + (base16-string->bytevector + "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e= 6fda")))) + ("rust-same-file" ,(origin (method url-fetch) - (uri (crate-uri "thread_local" "0.2.7")) + (uri (crate-uri "same-file" "0.1.3")) (sha256 - (base32 - "1mgxikqvhpsic6xk7pan95lvgsky1sdxzw2w5m2l35pgrazxnxl5")))) - ("rust-miow" + (base16-string->bytevector + "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a1= 17a7")))) + ("rust-scoped-tls" ,(origin (method url-fetch) - (uri (crate-uri "miow" "0.1.3")) + (uri (crate-uri "scoped-tls" "0.1.0")) (sha256 - (base32 - "16jvfjsp6fr4mbd2sw5hcdmi4dsa0m0aa45gjz78mb1h4mwcdgym")))) - ("rust-regex" + (base16-string->bytevector + "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb903807f= 147d")))) + ("rust-scopeguard" ,(origin (method url-fetch) - (uri (crate-uri "regex" "0.1.80")) + (uri (crate-uri "scopeguard" "0.1.2")) (sha256 - (base32 - "0bs036h3vzc6pj5jj4vc909s9rppq7b808ic99qn0y6gm3karm2g")))) - ("rust-num_cpus" + (base16-string->bytevector + "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e83981a= 6c57")))) + ("rust-semver" ,(origin (method url-fetch) - (uri (crate-uri "num_cpus" "1.1.0")) + (uri (crate-uri "semver" "0.8.0")) (sha256 - (base32 - "1bfwcn3yhwa31rinjw9yr7b6gvn6c06hnwnjz06pvm938w4fd448")))) - ("rust-libgit2-sys" + (base16-string->bytevector + "bee2bc909ab2d8d60dab26e8cad85b25d795b14603a0dcb627b78b9d30b6= 454b")))) + ("rust-semver-parser" ,(origin (method url-fetch) - (uri (crate-uri "libgit2-sys" "0.6.6")) + (uri (crate-uri "semver-parser" "0.7.0")) (sha256 - (base32 - "074h9q4p60xh6canb0sj4vrc801wqv6p53l9lp0q724bkwzf7967")))) - ("rust-env_logger" + (base16-string->bytevector + "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f5= 70a3")))) + ("rust-serde" ,(origin (method url-fetch) - (uri (crate-uri "env_logger" "0.3.5")) + (uri (crate-uri "serde" "1.0.15")) (sha256 - (base32 - "0bvcjgkw4s3k1rd7glpflgc8s9a393zjd6jfdgvs8gjvwj0dgaqm")))) - ("rust-openssl-probe" + (base16-string->bytevector + "6a7046c9d4c6c522d10b2d098f9bebe2bef227e0e74044d8c1bfcf6b476a= f799")))) + ("rust-serde_derive" ,(origin (method url-fetch) - (uri (crate-uri "openssl-probe" "0.1.0")) + (uri (crate-uri "serde_derive" "1.0.15")) (sha256 - (base32 - "0689h6rhzy6dypqr90lsxnf108nsnh952wsx7ggs70s48b44jvbm")))) - ("rust-lazy_static" + (base16-string->bytevector + "1afcaae083fd1c46952a315062326bc9957f182358eb7da03b57ef1c688f= 7aa9")))) + ("rust-serde_derive_internals" ,(origin (method url-fetch) - (uri (crate-uri "lazy_static" "0.2.2")) + (uri (crate-uri "serde_derive_internals" "0.16.0")) (sha256 - (base32 - "16z1h7w702sxnscak38jykxlhxq0b5ip4mndlb46pkaqwzi0xgka")))) - ("rust-semver-parser" + (base16-string->bytevector + "bd381f6d01a6616cdba8530492d453b7761b456ba974e98768a18cad2cd7= 6f58")))) + ("rust-serde_ignored" ,(origin (method url-fetch) - (uri (crate-uri "semver-parser" "0.6.1")) + (uri (crate-uri "serde_ignored" "0.0.4")) (sha256 - (base32 - "1s8s7a7yg8xhgci17y0xhyyncg229byivhpr0wbs3ljdlyjl73p8")))) - ("rust-semver" + (base16-string->bytevector + "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01f= b142")))) + ("rust-serde_json" ,(origin (method url-fetch) - (uri (crate-uri "semver" "0.5.1")) + (uri (crate-uri "serde_json" "1.0.3")) (sha256 - (base32 - "1xbiv8l72rmngb3lgbmk3vd4lalcbzxcnrn085c2b75irl7gcbxf")))) - ("rust-docopt" + (base16-string->bytevector + "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6ac6= b7ac")))) + ("rust-shell-escape" + ,(origin + (method url-fetch) + (uri (crate-uri "shell-escape" "0.1.3")) + (sha256 + (base16-string->bytevector + "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b8= 4ef8")))) + ("rust-socket2" ,(origin (method url-fetch) - (uri (crate-uri "docopt" "0.6.86")) + (uri (crate-uri "socket2" "0.2.3")) (sha256 - (base32 - "1nf4f4zf5yk0d0l4kl7hkii4na22fhn0l2hgfb46yzv08l2g6zja")))) - ("rust-miniz-sys" + (base16-string->bytevector + "9e76b159741052c7deaa9fd0b5ca6b5f79cecf525ed665abfe5002086c6b= 2791")))) + ("rust-strsim" ,(origin (method url-fetch) - (uri (crate-uri "miniz-sys" "0.1.7")) + (uri (crate-uri "strsim" "0.6.0")) (sha256 - (base32 - "0m7dlggsxash0k5jkx576p556g9r8vnhyl9244gjxhq1g8rls7wx")))) - ("rust-curl" + (base16-string->bytevector + "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c= 3694")))) + ("rust-syn" ,(origin (method url-fetch) - (uri (crate-uri "curl" "0.4.1")) + (uri (crate-uri "syn" "0.11.11")) (sha256 - (base32 - "1b0y27b6vpqffgzm2kxc1s2i6bgdzxk3wn65g2asbcdxrvys3mcg")))) - ("rust-flate2" + (base16-string->bytevector + "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b44= 1dad")))) + ("rust-synom" ,(origin (method url-fetch) - (uri (crate-uri "flate2" "0.2.14")) + (uri (crate-uri "synom" "0.11.3")) (sha256 - (base32 - "1fx3zsls5bb1zfx87s5sxkgk853z4nhjsbvq5s6if13kjlg4isry")))) - ("rust-git2" + (base16-string->bytevector + "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b519= 45b6")))) + ("rust-tar" ,(origin (method url-fetch) - (uri (crate-uri "git2" "0.6.3")) + (uri (crate-uri "tar" "0.4.13")) (sha256 - (base32 - "06b1bw3pwszs8617xn8js6h0j983qjgfwsychw33lshccj3cld05")))) - ("rust-crates-io" + (base16-string->bytevector + "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f= 2b1b")))) + ("rust-tempdir" ,(origin (method url-fetch) - (uri (crate-uri "crates-io" "0.4.0")) + (uri (crate-uri "tempdir" "0.3.5")) (sha256 - (base32 - "0kk6abp1qbpv44hkq1yjp7xgpzjzafs83i1l26ycr0aph1gbwig9")))) - ("rust-git2-curl" + (base16-string->bytevector + "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff6621= 32d6")))) + ("rust-termcolor" ,(origin (method url-fetch) - (uri (crate-uri "git2-curl" "0.7.0")) + (uri (crate-uri "termcolor" "0.3.3")) (sha256 - (base32 - "13mzqp4rd81zp78261rlq23iw9aaysdr56484y1yy2xzhk3nnrv8")))) - ("rust-bufstream" + (base16-string->bytevector + "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b24= 2c75")))) + ("rust-termion" ,(origin (method url-fetch) - (uri (crate-uri "bufstream" "0.1.2")) + (uri (crate-uri "termion" "1.5.1")) (sha256 - (base32 - "0x6h27md1fwabbhbycfldj0wklrpjr520z9p0cpzm60fzzidnj3v")))) - ("rust-hamcrest" + (base16-string->bytevector + "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e9= 2096")))) + ("rust-thread-id" ,(origin (method url-fetch) - (uri (crate-uri "hamcrest" "0.1.1")) + (uri (crate-uri "thread-id" "2.0.0")) (sha256 - (base32 - "1m49rf7bnkx0qxja56slrjh44zi4z5bjz5x4pblqjw265828y25z")))) - ("rust-num" + (base16-string->bytevector + "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0= ff03")))) + ("rust-thread_local" ,(origin (method url-fetch) - (uri (crate-uri "num" "0.1.36")) + (uri (crate-uri "thread_local" "0.2.7")) (sha256 - (base32 - "081i1r3mdz6jasqd7qwraqqfqa3sdpvdvxl1xq0s7ip714xw1rxx")))) - ("rust-num-traits" + (base16-string->bytevector + "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18c= fdd5")))) + ("rust-thread_local-0.3.4" ,(origin (method url-fetch) - (uri (crate-uri "num-traits" "0.1.36")) + (uri (crate-uri "thread_local" "0.3.4")) (sha256 - (base32 - "07688sp4z40p14lh5ywvrpm4zq8kcxzhjks8sg33jsr5da2l4sm1")))) - ("rust-num-integer" + (base16-string->bytevector + "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90= bb14")))) + ("rust-toml" ,(origin (method url-fetch) - (uri (crate-uri "num-integer" "0.1.32")) + (uri (crate-uri "toml" "0.4.5")) (sha256 - (base32 - "14pvaaawl0pgdcgh4dfdd67lz58yxlfl95bry86h28pjnfzxj97v")))) - ("rust-num-bigint" + (base16-string->bytevector + "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b= 6e7e")))) + ("rust-unicode-bidi" ,(origin (method url-fetch) - (uri (crate-uri "num-bigint" "0.1.35")) + (uri (crate-uri "unicode-bidi" "0.3.4")) (sha256 - (base32 - "0jayfkdm33p4zvcahlv46zdfhlzg053mpw32abf2lz0z8xw47cc8")))) - ("rust-num-rational" + (base16-string->bytevector + "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea= 54d5")))) + ("rust-unicode-normalization" ,(origin (method url-fetch) - (uri (crate-uri "num-rational" "0.1.35")) + (uri (crate-uri "unicode-normalization" "0.1.5")) (sha256 - (base32 - "1bwaygv64qg7i78yqg0v4d0amfhamj598rpy4yxjz9rlhcxn1zsl")))) - ("rust-num-iter" + (base16-string->bytevector + "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625= 920f")))) + ("rust-unicode-xid" ,(origin (method url-fetch) - (uri (crate-uri "num-iter" "0.1.32")) + (uri (crate-uri "unicode-xid" "0.0.4")) (sha256 - (base32 - "0p74nj5c1mc33h9lx4wpmlmggmn5lnkhxv1225g0aix8d6ciqyi8")))) - ("rust-num-complex" + (base16-string->bytevector + "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074c= b4dc")))) + ("rust-unreachable" ,(origin (method url-fetch) - (uri (crate-uri "num-complex" "0.1.35")) + (uri (crate-uri "unreachable" "1.0.0")) (sha256 - (base32 - "0bzrjfppnnzf9vmkpklhp2dw9sb1lqzydb8r6k83z76i9l2qxizh")))) - ("rust-shell-escape" + (base16-string->bytevector + "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814= fa56")))) + ("rust-url" ,(origin (method url-fetch) - (uri (crate-uri "shell-escape" "0.1.3")) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "71d28ea36bbd9192d75bd9fa9b39f96ddb986eaee824adae5d53b6e51919= b2f3")))) + ("rust-utf8-ranges" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e5512= 4122")))) + ("rust-vcpkg" + ,(origin + (method url-fetch) + (uri (crate-uri "vcpkg" "0.2.2")) + (sha256 + (base16-string->bytevector + "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd548= 7d0b")))) + ("rust-void" + ,(origin + (method url-fetch) + (uri (crate-uri "void" "1.0.2")) + (sha256 + (base16-string->bytevector + "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770= 887d")))) + ("rust-walkdir" + ,(origin + (method url-fetch) + (uri (crate-uri "walkdir" "1.0.7")) + (sha256 + (base16-string->bytevector + "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd2= 88ff")))) + ("rust-winapi" + ,(origin + (method url-fetch) + (uri (crate-uri "winapi" "0.2.8")) (sha256 - (base32 - "1y2fp2brv639icv4a0fdqs1zhlrxq8qbz27ygfa86ifmh5jcjp6x")))))) + (base16-string->bytevector + "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909= 087a")))) + ("rust-winapi-build" + ,(origin + (method url-fetch) + (uri (crate-uri "winapi-build" "0.1.1")) + (sha256 + (base16-string->bytevector + "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc6= 99bc")))) + ("rust-wincolor" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63= fa5e")))))) (arguments `(#:cargo ,cargo-bootstrap - #:tests? #f ; FIXME + #:rustc ,rustc ; Force to use rustc from current file #:modules ((ice-9 match) (srfi srfi-1) ; 'every @@ -853,12 +1262,8 @@ safety and thread safety guarantees.") (guix build cargo-build-system)) #:phases (modify-phases %standard-phases - ;; Avoid cargo complaining about missmatched checksums. - (delete 'patch-source-shebangs) - (delete 'patch-generated-file-shebangs) - (delete 'patch-usr-bin-file) - (add-after 'unpack 'unpack-submodule-sources - (lambda* (#:key inputs #:allow-other-keys) + (add-after 'unpack 'unpack-dependencies + (lambda* (#:key inputs outputs #:allow-other-keys) (define (unpack source target) (mkdir-p target) (with-directory-excursion target @@ -871,37 +1276,56 @@ safety and thread safety guarantees.") (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))) + (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 'unpack 'set-environment-up + (mkdir "vendor") + (every install-rust-library inputs))) + (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums (lambda* (#:key inputs #:allow-other-keys) - (let* ((gcc (assoc-ref inputs "gcc")) - (cc (string-append gcc "/bin/gcc"))) - (mkdir ".cargo") - (call-with-output-file ".cargo/config" - (lambda (p) - (format p " + (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")))) + (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' =20 [source.vendored-sources] directory =3D 'vendor' -"))) - (setenv "CMAKE_C_COMPILER" cc) - (setenv "CC" cc)) - #t)) - (delete 'configure)))) +" 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"))))))) (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 --=20 2.15.0 --=-=-=-- From unknown Sat Jun 14 19:38:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#29555] [PATCHv3] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 Resent-From: Danny Milosavljevic Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 10 Dec 2017 09:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29555 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Nikolai Merinov Cc: adam@vany.ca, ludo@gnu.org, jlicht@fsfe.org, 29555@debbugs.gnu.org Received: via spool by 29555-submit@debbugs.gnu.org id=B29555.151289805515876 (code B ref 29555); Sun, 10 Dec 2017 09:28:02 +0000 Received: (at 29555) by debbugs.gnu.org; 10 Dec 2017 09:27:35 +0000 Received: from localhost ([127.0.0.1]:54492 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNxtT-00047y-Io for submit@debbugs.gnu.org; Sun, 10 Dec 2017 04:27:35 -0500 Received: from dd1012.kasserver.com ([85.13.128.8]:38688) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNxtR-00047q-OB for 29555@debbugs.gnu.org; Sun, 10 Dec 2017 04:27:30 -0500 Received: from localhost (77.118.172.247.wireless.dyn.drei.com [77.118.172.247]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 029E71CA03FC; Sun, 10 Dec 2017 10:27:26 +0100 (CET) Date: Sun, 10 Dec 2017 10:27:23 +0100 From: Danny Milosavljevic Message-ID: <20171210102719.0c6198c2@scratchpost.org> In-Reply-To: <87bmj7mqz8.fsf_-_@member.fsf.org> References: <87609nhc00.fsf@member.fsf.org> <558D9F77-E950-4D77-86A3-4B633C0E2009@member.fsf.org> <20171204170506.75f2ce36@scratchpost.org> <87o9ndn1rm.fsf@member.fsf.org> <87bmj7mqz8.fsf_-_@member.fsf.org> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) 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 (/) Wow! Nice. Review below: + ;; guix llvm-3.9.1 package install only shared libraries "installs" + (setenv "LLVM_LINK_SHARED" "1") + (add-after 'patch-source-shebangs 'patch-cargo-checksums + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/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 "src/vendor" ".cargo-checksum.json")))) Hmm, should return #t on success. - (add-after 'install 'wrap-rustc + (jemalloc (assoc-ref inputs "jemalloc"))) + (call-with-output-file "config.toml" + (lambda (port) + (display (string-append " +[llvm] +[build] +cargo = \"" cargo "/bin/cargo" "\" +rustc = \"" rustc "/bin/rustc" "\" +python = \"" python "/bin/python2" "\" +gdb = \"" gdb "/bin/gdb" "\" +vendor = true +submodules = false +[install] +prefix = \"" out "\" +[rust] +default-linker = \"" gcc "/bin/gcc" "\" +default-ar = \"" binutils "/bin/ar" "\" +channel = \"stable\" +rpath = true +# There is 2 failed codegen tests: +# codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs +# This tests required patched LLVM +codegen-tests = false +[target." %host-type "] +llvm-config = \"" llvm "/bin/llvm-config" "\" +cc = \"" gcc "/bin/gcc" "\" +cxx = \"" gcc "/bin/g++" "\" +jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" +[dist] +") port)))))) Should return #t on success. + (add-before 'build 'reset-timestamps-after-changes + (lambda* (#:key inputs outputs #:allow-other-keys) + (define ref (stat "README.md")) + (for-each + (lambda (filename) + (set-file-time filename ref)) + (find-files "." #:directories? #t)))) Same + (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums (lambda* (#:key inputs #:allow-other-keys) - (let* ((gcc (assoc-ref inputs "gcc")) - (cc (string-append gcc "/bin/gcc"))) - (mkdir ".cargo") - (call-with-output-file ".cargo/config" - (lambda (p) - (format p " + (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")))) Same + (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' -"))) - (setenv "CMAKE_C_COMPILER" cc) - (setenv "CC" cc)) - #t)) - (delete 'configure)))) +" 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"))))))) Same From unknown Sat Jun 14 19:38:37 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#29555] [PATCHv4] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 Resent-From: Nikolai Merinov Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 10 Dec 2017 21:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29555 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 29555@debbugs.gnu.org, Danny Milosavljevic Cc: adam@vany.ca, ludo@gnu.org, jlicht@fsfe.org Received: via spool by 29555-submit@debbugs.gnu.org id=B29555.151294047932128 (code B ref 29555); Sun, 10 Dec 2017 21:15:01 +0000 Received: (at 29555) by debbugs.gnu.org; 10 Dec 2017 21:14:39 +0000 Received: from localhost ([127.0.0.1]:55638 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eO8ve-0008Ly-SP for submit@debbugs.gnu.org; Sun, 10 Dec 2017 16:14:39 -0500 Received: from mail-lf0-f43.google.com ([209.85.215.43]:39088) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eO8vT-0008Lb-Gk for 29555@debbugs.gnu.org; Sun, 10 Dec 2017 16:14:29 -0500 Received: by mail-lf0-f43.google.com with SMTP id l81so17038197lfl.6 for <29555@debbugs.gnu.org>; Sun, 10 Dec 2017 13:14:19 -0800 (PST) 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=eRnS/O9c4AW7qLQp3SQ1fupxXOscFmyVsjGiRMKIWRo=; b=SHuvJ0j8DOolefBr82SmRLlZwUOOErEwQHAfSvenoeyZeNV1E2+hWuGFXVZG+tadpp 8zRRyvP6y+dXtjt2h4Y10iv0jPPg2yqVFp/YfFSZkM+zqWmhTz8arB78OkBpt4k3FP7V IpbgcXIUcXPuzvCBzl2jRAEFqhaDcwYMPgQTHcGedWccvz3qFrXtwaszlIuhgWnTAACq rZx8K3qA1qhMku1lPV0pQNHR3odQOol0B1rgpnjuIbkPdQ8izUYFYsdZhqThid10OSXj V50UxUwWSeTJxOP7gbuJyc+hC9CMEQlA6+Da7KLFmJsGnrJ84EzuxseOroUY/HjHMliQ 7A1Q== X-Gm-Message-State: AJaThX6g/T9tQIMHkki56yGzUWvopyGZN/BASsTJsGl6QHT9P/PAodMA fzh3uNHV8HkBu0WujgPGMKc= X-Google-Smtp-Source: AGs4zMYN0bH3GBh2/KYqkJLdkn6N7Ap4sl+KBtN2LvQGiG+apSfj/Ig0nFx59YIkeUdrRO6bVjCLSA== X-Received: by 10.46.64.194 with SMTP id r63mr18442677lje.112.1512940453513; Sun, 10 Dec 2017 13:14:13 -0800 (PST) Received: from libremnd (97.9-157-90.telenet.ru. [90.157.9.97]) by smtp.gmail.com with ESMTPSA id u27sm2432631ljd.70.2017.12.10.13.14.11 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 10 Dec 2017 13:14:12 -0800 (PST) From: Nikolai Merinov References: <87609nhc00.fsf@member.fsf.org> <558D9F77-E950-4D77-86A3-4B633C0E2009@member.fsf.org> <20171204170506.75f2ce36@scratchpost.org> <87o9ndn1rm.fsf@member.fsf.org> <87bmj7mqz8.fsf_-_@member.fsf.org> <20171210102719.0c6198c2@scratchpost.org> Date: Mon, 11 Dec 2017 02:14:01 +0500 In-Reply-To: <20171210102719.0c6198c2@scratchpost.org> (Danny Milosavljevic's message of "Sun, 10 Dec 2017 10:27:23 +0100") Message-ID: <871sk2mgkm.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-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 Hi Danny, Thank you! Updated according to review. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-rust-update-rust-to-1.22.1-and-cargo-to-1.23.0.patch Content-Transfer-Encoding: quoted-printable >From 98158f948031c9c67add7bf9482963e5ebd1b55e Mon Sep 17 00:00:00 2001 From: Nikolay Merinov Date: Sun, 3 Dec 2017 19:55:24 +0500 Subject: [PATCH] gnu: rust: update rust to 1.22.1 and cargo to 1.23.0 To: guix-patches@gnu.org * gnu/packages/rust.scm (%rust-bootstrap-binaries-version): update version (%rust-bootstrap-binaries): use x86_64 rust bootstrap package for x86_64 bu= ild (%cargo-reference-project-file): Use specific file as "project" file when patching rust vendored sources (%cargo-reference-hash): sha256 sum for %cargo-reference-project-file (rustc-bootstrap): use bootstrap package with host architecture (cargo-bootstrap): use bootstrap package with host architecture (rustc): Add new test dependency, fix build issues, use "./x.py" script for build instead of "./configure" (cargo): Update dependencies, patch shebangs for vendored sources * gnu/packages/jemalloc.scm: add jemalloc-4.5.0 release --- gnu/packages/jemalloc.scm | 15 + gnu/packages/rust.scm | 1175 +++++++++++++++++++++++++++++++----------= ---- 2 files changed, 817 insertions(+), 373 deletions(-) diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm index a3bd2c93a..5e3e32df8 100644 --- a/gnu/packages/jemalloc.scm +++ b/gnu/packages/jemalloc.scm @@ -23,6 +23,7 @@ #:use-module ((guix licenses) #:select (bsd-2)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (gnu packages perl) #:use-module (guix build-system gnu)) =20 @@ -62,3 +63,17 @@ "This library providing a malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support.") (license bsd-2))) + +(define-public jemalloc-4.5.0 + (package + (inherit jemalloc) + (version "4.5.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/jemalloc/jemalloc/releases/downloa= d/" + version "/jemalloc-" version ".tar.bz2")) + (sha256 + (base32 + "10373xhpc10pgmai9fkc1z0rs029qlcb3c0qfnvkbwdlcibdh2cl")))) + (inputs '()))) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 583ea37c8..1ae01f106 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -3,6 +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 ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,7 @@ #:use-module (gnu packages elf) #:use-module (gnu packages flex) #:use-module (gnu packages gcc) + #:use-module (gnu packages gdb) #:use-module (gnu packages jemalloc) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) @@ -37,17 +39,19 @@ #:use-module (gnu packages ssh) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages) #:use-module (guix build-system cargo) #: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 (ice-9 match) #:use-module (srfi srfi-26)) =20 ;; Should be one less than the current released version. -(define %rust-bootstrap-binaries-version "1.15.0") +(define %rust-bootstrap-binaries-version "1.21.0") =20 (define %rust-bootstrap-binaries (origin @@ -55,10 +59,18 @@ (uri (string-append "https://static.rust-lang.org/dist/" "rust-" %rust-bootstrap-binaries-version - "-i686-unknown-linux-gnu.tar.gz")) + "-" %host-type ".tar.gz")) (sha256 (base32 - "0wmkfx8pxmkkw021mrq9s3xhra8f0daqdl6j56pxyn4w39i0rzrw")))) + (match %host-type + ("i686-unknown-linux-gnu" + "1vnvqwz30hvyjcfr1f602lg43v2vlqjr3yhb5vr8xnrcc07yvjmp") + ("x86_64-unknown-linux-gnu" + "1s0866qcy0645bqhsbs3pvk2hi52ps8jzs7x096w0as033h707ml")))))) + +(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 #\.) @@ -92,7 +104,6 @@ (arguments `(#:tests? #f #:strip-binaries? #f - #:system "i686-linux" #:phases (modify-phases %standard-phases (delete 'configure) @@ -103,8 +114,7 @@ (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 "i686-lin= ux"))) + (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" zlib "/lib:" libc "/lib:" gcc:lib "/lib")) (rustc (string-append out "/bin/rustc")) @@ -112,7 +122,7 @@ (system* "bash" "install.sh" (string-append "--prefix=3D" out) (string-append "--components=3Drustc," - "rust-std-i686-unknown-linux-gnu")) + "rust-std-" %host-type)) (for-each (lambda (file) (system* "patchelf" "--set-rpath" rpath file)) (cons* rustc rustdoc (find-files out "\\.so$"))) @@ -129,7 +139,7 @@ which can in turn be used to build the final Rust compi= ler.") (define cargo-bootstrap (package (name "cargo-bootstrap") - (version (cargo-version %rust-bootstrap-binaries-version)) + (version (cargo-version %rust-bootstrap-binaries-version 1)) (source %rust-bootstrap-binaries) (build-system gnu-build-system) (native-inputs @@ -139,7 +149,6 @@ which can in turn be used to build the final Rust compi= ler.") (arguments `(#:tests? #f #:strip-binaries? #f - #:system "i686-linux" #:phases (modify-phases %standard-phases (delete 'configure) @@ -149,8 +158,7 @@ which can in turn be used to build the final Rust compi= ler.") (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 "i686-lin= ux"))) + (ld-so (string-append libc ,(glibc-dynamic-linker))) (rpath (string-append out "/lib:" libc "/lib:" gcc:lib "/lib")) (cargo (string-append out "/bin/cargo"))) @@ -196,11 +204,11 @@ manager, which is required to build itself.") (description "Meta package for a rust environment. Provides pre-compil= ed rustc-bootstrap and cargo-bootstrap packages.") (license license:asl2.0))) - + (define-public rustc (package (name "rustc") - (version (rustc-version %rust-bootstrap-binaries-version)) + (version (rustc-version %rust-bootstrap-binaries-version 1)) (source (origin (method url-fetch) (uri (string-append @@ -208,99 +216,139 @@ rustc-bootstrap and cargo-bootstrap packages.") "rustc-" version "-src.tar.gz")) (sha256 (base32 - "1d78jq7mc34n265by68amr9r4nzbiqrilfbwh7gx56ydn4gb6rpr")) - (modules '((guix build utils))) - (snippet - `(begin - (delete-file-recursively "src/llvm") - #t)))) + "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")) + (modules '((guix build utils))) + (snippet + `(begin + (delete-file-recursively "src/llvm") + #t)))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) ; For the tests ("cmake" ,cmake) ("flex" ,flex) ; For the tests + ("gdb" ,gdb) ; For the tests ("git" ,git) ("procps" ,procps) ; For the tests ("python-2" ,python-2) ("rust-bootstrap" ,rust-bootstrap) ("which" ,which))) (inputs - `(("jemalloc" ,jemalloc) + `(("jemalloc" ,jemalloc-4.5.0) ("llvm" ,llvm-3.9.1))) (arguments - `(#:phases + `(#:imported-modules ,%cargo-build-system-modules ;for `generate-chec= ksums' + #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-configure - (lambda _ - (substitute* "configure" - (("/usr/bin/env") (which "env")) ; Detect target CPU correc= tly. - (("probe_need CFG_CURL curl") "") ; Avoid curl build depend= ency. - ;; Newer LLVM has a NVPTX (NVIDIA) backend which the Rust - ;; Makefiles don't know about, causing a linker failure - ;; if we don't intervene. - ;; Therefore, we add NVPTX here. - ;; See . - ;; For the next release, we will have to use rustbuild. - ;; Right now, rustbuild doesn't work yet. - (("-DLLVM_TARGETS_TO_BUILD=3D'") - "-DLLVM_TARGETS_TO_BUILD=3D'NVPTX;")) ; Make LLVM >=3D 3.8= .1 work. - (substitute* "src/tools/compiletest/src/util.rs" - (("(\"amd64\", \"x86_64\"),") "(\"amd64\", \"x86_64\"), -(\"nvptx\", \"nvptx\"),")) ; Make LLVM >=3D 3.8.1 work. - (substitute* "mk/main.mk" - (("LLVM_OPTIONAL_COMPONENTS=3D") - "LLVM_OPTIONAL_COMPONENTS=3Dnvptx ")) ; Make LLVM >=3D 3.8= .1 work. - #t)) (add-after 'unpack 'set-env (lambda _ (setenv "SHELL" (which "sh")) (setenv "CONFIG_SHELL" (which "sh")) + ;; guix llvm-3.9.1 package installs only shared libraries + (setenv "LLVM_LINK_SHARED" "1") #t)) (add-after 'unpack 'patch-tests (lambda* (#:key inputs #:allow-other-keys) (let ((bash (assoc-ref inputs "bash"))) - (substitute* "src/tools/tidy/src/main.rs" - (("^.*cargo.*::check.*$") "")) + (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 ;; fail otherwise. - (("\"/bin/sh\"") (string-append " -\"" bash "/bin/sh\""))) - ;; See . + (("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\""))) + (substitute* "src/libstd/net/tcp.rs" + ;; There is no network in build environment + (("fn connect_timeout_unroutable") + "#[ignore]\nfn connect_timeout_unroutable")) + ;; (substitute* "src/libstd/sys/unix/process/process_common.rs" - (("fn test_process_mask") "#[cfg_attr(target_os =3D \"lin= ux\", ignore)] -fn test_process_mask")) + (("fn test_process_mask") "#[ignore]\nfn test_process_mas= k")) ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_= PATH. - ;; See . + ;; (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-source-shebangs 'patch-cargo-checksums + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/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 "src/vendor" ".cargo-checksum.json")) + #t)) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (gcc (assoc-ref inputs "gcc")) + (gdb (assoc-ref inputs "gdb")) (binutils (assoc-ref inputs "binutils")) (python (assoc-ref inputs "python-2")) (rustc (assoc-ref inputs "rustc-bootstrap")) + (cargo (assoc-ref inputs "cargo-bootstrap")) (llvm (assoc-ref inputs "llvm")) - (jemalloc (assoc-ref inputs "jemalloc")) - (flags (list - (string-append "--prefix=3D" out) - (string-append "--datadir=3D" out "/share") - (string-append "--infodir=3D" out "/share/info= ") - (string-append "--default-linker=3D" gcc "/bin= /gcc") - (string-append "--default-ar=3D" binutils "/bi= n/ar") - (string-append "--python=3D" python "/bin/pyth= on2") - (string-append "--local-rust-root=3D" rustc) - (string-append "--llvm-root=3D" llvm) - (string-append "--jemalloc-root=3D" jemalloc "= /lib") - "--release-channel=3Dstable" - "--enable-rpath" - "--enable-local-rust" - "--disable-rustbuild" ; rustbuild doesn't work= yet. - "--disable-manage-submodules"))) - ;; Rust uses a custom configure script (no autoconf). - (zero? (apply system* "./configure" flags))))) + (jemalloc (assoc-ref inputs "jemalloc"))) + (call-with-output-file "config.toml" + (lambda (port) + (display (string-append " +[llvm] +[build] +cargo =3D \"" cargo "/bin/cargo" "\" +rustc =3D \"" rustc "/bin/rustc" "\" +python =3D \"" python "/bin/python2" "\" +gdb =3D \"" gdb "/bin/gdb" "\" +vendor =3D true +submodules =3D false +[install] +prefix =3D \"" out "\" +[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: +# codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs +# This tests required patched LLVM +codegen-tests =3D false +[target." %host-type "] +llvm-config =3D \"" llvm "/bin/llvm-config" "\" +cc =3D \"" gcc "/bin/gcc" "\" +cxx =3D \"" gcc "/bin/g++" "\" +jemalloc =3D \"" jemalloc "/lib/libjemalloc_pic.a" "\" +[dist] +") port))) + #t))) + (add-before 'build 'reset-timestamps-after-changes + (lambda* (#:key inputs outputs #:allow-other-keys) + (define ref (stat "README.md")) + (for-each + (lambda (filename) + (set-file-time filename ref)) + (find-files "." #:directories? #t)) + #t)) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (zero? (system* "./x.py" "build")))) + (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")))) (add-after 'install 'wrap-rustc (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -325,7 +373,7 @@ safety and thread safety guarantees.") (define-public cargo (package (name "cargo") - (version (cargo-version (rustc-version %rust-bootstrap-binaries-versio= n))) + (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/" @@ -333,7 +381,7 @@ safety and thread safety guarantees.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1y0zy8gk1ly0wh57y78fisk7cdd92qk0x7z664f6l7lzl2krqs7w")))) + "0kr7rml7v2bm7zl8jcb3056h63zpyy9m08s212i8vfwxf6lf5fzl")))) (build-system cargo-build-system) (propagated-inputs `(("cmake" ,cmake) @@ -346,506 +394,870 @@ safety and thread safety guarantees.") ("python-2" ,python-2) ("zlib" ,zlib))) (native-inputs - `(("rust-openssl" + `(("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 " (sha256"; + ;; print " (base16-string->bytevector"; + ;; print " " hash "))))" + ;; }' + ("rust-advapi32-sys" ,(origin (method url-fetch) - (uri (crate-uri "openssl" "0.9.6")) + (uri (crate-uri "advapi32-sys" "0.2.0")) (sha256 - (base32 - "0g28g692gby6izp9qmnwnyxyhf9b0870yhd500p18j9l69lxl00c")))) - ("rust-strsim" + (base16-string->bytevector + "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb= 8a9a")))) + ("rust-aho-corasick" ,(origin (method url-fetch) - (uri (crate-uri "strsim" "0.5.1")) + (uri (crate-uri "aho-corasick" "0.5.3")) (sha256 - (base32 - "0bj4fsm1l2yqbfpspyvjf9m3m50pskapcddzm0ji9c74jbgnkh2h")))) - ("rust-libc" + (base16-string->bytevector + "ca972c2ea5f742bfce5687b9aef75506a764f61d37f8f649047846a9686d= db66")))) + ("rust-aho-corasick-0.6.3" ,(origin (method url-fetch) - (uri (crate-uri "libc" "0.2.18")) + (uri (crate-uri "aho-corasick" "0.6.3")) (sha256 - (base32 - "0w5cghr0wx3hi2sclk8r9iyzlbxsakil87ada40q2ykyhky24655")))) + (base16-string->bytevector + "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b88= 9699")))) + ("rust-atty" + ,(origin + (method url-fetch) + (uri (crate-uri "atty" "0.2.3")) + (sha256 + (base16-string->bytevector + "21e50800ec991574876040fff8ee46b136a53e985286fbe6a3bdfe6421b7= 8860")))) + ("rust-backtrace" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "c63ea141ef8fdb10409d0f5daf30ac51f84ef43bff66f16627773d2a292c= d189")))) ("rust-bitflags" ,(origin (method url-fetch) (uri (crate-uri "bitflags" "0.7.0")) (sha256 - (base32 - "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda")))) - ("rust-unicode-normalization" + (base16-string->bytevector + "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881= 106d")))) + ("rust-bitflags-0.9.1" ,(origin (method url-fetch) - (uri (crate-uri "unicode-normalization" "0.1.2")) + (uri (crate-uri "bitflags" "0.9.1")) (sha256 - (base32 - "0whi4xxqcjfsz6ywyrfd5lhgk1a44c86qwgvfqcmzidshcpklr16")))) - ("rust-rand" + (base16-string->bytevector + "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1a= b3a5")))) + ("rust-bufstream" ,(origin (method url-fetch) - (uri (crate-uri "rand" "0.3.14")) + (uri (crate-uri "bufstream" "0.1.3")) (sha256 - (base32 - "1984zvj8572ig28fz6idc4r96fx39h4lzmr07yf7kb7gdn6di497")))) - ("rust-gcc" + (base16-string->bytevector + "f2f382711e76b9de6c744cc00d0497baba02fb00a787f088c879f01d0946= 8e32")))) + ("rust-cc" ,(origin (method url-fetch) - (uri (crate-uri "gcc" "0.3.39")) + (uri (crate-uri "cc" "1.0.0")) (sha256 - (base32 - "1q0idjvmhp6shkb9hqabh51rgfr8dqpi1xfmyzq7q8vgzybll7kp")))) - ("rust-tempdir" + (base16-string->bytevector + "7db2f146208d7e0fbee761b09cd65a7f51ccc38705d4e7262dad4d73b12a= 76b1")))) + ("rust-cfg-if" ,(origin (method url-fetch) - (uri (crate-uri "tempdir" "0.3.5")) + (uri (crate-uri "cfg-if" "0.1.2")) (sha256 - (base32 - "1mij45kgzflkja0h8q9avrik76h5a0b60m9hfd6k9yqxbiplm5w7")))) - ("rust-memchr" + (base16-string->bytevector + "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed31= 40de")))) + ("rust-cmake" ,(origin (method url-fetch) - (uri (crate-uri "memchr" "0.1.11")) + (uri (crate-uri "cmake" "0.1.26")) (sha256 - (base32 - "084d85hjfa3xf5kwdms2mhbkh78m1gl2254cp5swcxj3a7xjkdnq")))) - ("rust-rustc-serialize" + (base16-string->bytevector + "357c07e7a1fc95732793c1edb5901e1a1f305cfcf63a90eb12dbd22bdb6b= 789d")))) + ("rust-commoncrypto" ,(origin (method url-fetch) - (uri (crate-uri "rustc-serialize" "0.3.21")) + (uri (crate-uri "commoncrypto" "0.2.0")) (sha256 - (base32 - "064qmyr2508qf78dwcpiv25rfjp9h9vd0wrj4mmwgppjg4fgrydz")))) - ("rust-cmake" + (base16-string->bytevector + "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b6= 9007")))) + ("rust-commoncrypto-sys" ,(origin (method url-fetch) - (uri (crate-uri "cmake" "0.1.19")) + (uri (crate-uri "commoncrypto-sys" "0.2.0")) (sha256 - (base32 - "0am8c8ns1h6b1a5x9z2r1m3rszvya5nccl2pzszzjv5aiiaydgcf")))) - ("rust-matches" + (base16-string->bytevector + "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f40= 83e2")))) + ("rust-conv" ,(origin (method url-fetch) - (uri (crate-uri "matches" "0.1.4")) + (uri (crate-uri "conv" "0.3.3")) (sha256 - (base32 - "1c8190j84hbicy8jwscw5icfam12j6lcxi02lvmadq9260p65mzg")))) - ("rust-winapi" + (base16-string->bytevector + "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d= 1299")))) + ("rust-core-foundation" ,(origin (method url-fetch) - (uri (crate-uri "winapi" "0.2.8")) + (uri (crate-uri "core-foundation" "0.4.4")) (sha256 - (base32 - "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n")))) - ("rust-pkg-config" + (base16-string->bytevector + "5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb232= 0dc7")))) + ("rust-core-foundation-sys" ,(origin (method url-fetch) - (uri (crate-uri "pkg-config" "0.3.8")) + (uri (crate-uri "core-foundation-sys" "0.4.4")) (sha256 - (base32 - "1ypj4nj2z9z27qg06v3g40jyhw685i3l2wi098d21bvyri781vlc")))) - ("rust-libssh2-sys" + (base16-string->bytevector + "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a= 3387")))) + ("rust-crossbeam" ,(origin (method url-fetch) - (uri (crate-uri "libssh2-sys" "0.2.5")) + (uri (crate-uri "crossbeam" "0.2.10")) (sha256 - (base32 - "0d2r36hrh9vc1821r0v4kywv30svpf37d31calwql69fbij3bqci")))) - ("rust-libz-sys" + (base16-string->bytevector + "0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb92750= 8f97")))) + ("rust-crossbeam-0.3.0" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "34903878eec1694faf53cae8473a088df333181de421d4d3d48061d6559f= e602")))) + ("rust-curl" ,(origin (method url-fetch) - (uri (crate-uri "libz-sys" "1.0.13")) + (uri (crate-uri "curl" "0.4.8")) (sha256 - (base32 - "034pgvxzgsv37iafgs0lmvd1ifm0bg0zm1xcsn9x71nn8lm93vp5")))) + (base16-string->bytevector + "7034c534a1d7d22f7971d6088aa9d281d219ef724026c3428092500f41ae= 9c2c")))) ("rust-curl-sys" ,(origin (method url-fetch) - (uri (crate-uri "curl-sys" "0.3.6")) + (uri (crate-uri "curl-sys" "0.3.15")) (sha256 - (base32 - "0fi8kjz3f8m8vfazycs3ddm0h6j3x78hw78gwbvybx71129192i1")))) - ("rust-error-chain" + (base16-string->bytevector + "4bee31aa3a079d5f3ff9579ea4dcfb1b1a17a40886f5f467436d383e7813= 4b55")))) + ("rust-custom_derive" ,(origin (method url-fetch) - (uri (crate-uri "error-chain" "0.7.2")) + (uri (crate-uri "custom_derive" "0.1.7")) (sha256 - (base32 - "03qjh6l2a9fkiyg0428p7q3dcpi47cbmrqf9zmlymkg43v3v731i")))) - ("rust-metadeps" + (base16-string->bytevector + "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a= 01b9")))) + ("rust-dbghelp-sys" ,(origin (method url-fetch) - (uri (crate-uri "metadeps" "1.1.1")) + (uri (crate-uri "dbghelp-sys" "0.2.0")) (sha256 - (base32 - "0l818461bslb7nrs7r1amkqv45n53fcp5sabyqipwx0xxbkzz7w2")))) - ("rust-openssl-sys" + (base16-string->bytevector + "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5= b850")))) + ("rust-docopt" ,(origin (method url-fetch) - (uri (crate-uri "openssl-sys" "0.9.6")) + (uri (crate-uri "docopt" "0.8.1")) (sha256 - (base32 - "1hzpyf9z8xg1yn5r9g17bl5j20nifd6s2zp10xh90v7m0sd2yj5i")))) - ("rust-fs2" + (base16-string->bytevector + "3b5b93718f8b3e5544fcc914c43de828ca6c6ace23e0332c6080a2977b49= 787a")))) + ("rust-dtoa" ,(origin (method url-fetch) - (uri (crate-uri "fs2" "0.3.0")) + (uri (crate-uri "dtoa" "0.4.2")) (sha256 - (base32 - "0lg57mgcm1r0m8jm4nqpcrl6lmxg8lj854k2h0r7qp46pphh2034")))) - ("rust-log" + (base16-string->bytevector + "09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e= 50ab")))) + ("rust-env_logger" + ,(origin + (method url-fetch) + (uri (crate-uri "env_logger" "0.4.3")) + (sha256 + (base16-string->bytevector + "3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8= cd5b")))) + ("rust-error-chain" ,(origin (method url-fetch) - (uri (crate-uri "log" "0.3.6")) + (uri (crate-uri "error-chain" "0.11.0")) (sha256 - (base32 - "0m40hgs3cg57dd5kk1mabfk6gk8z6l1cihar8akx4kmzz1xlk0xb")))) + (base16-string->bytevector + "ff511d5dc435d703f4971bc399647c9bc38e20cb41452e3b9feb4765419e= d3f3")))) ("rust-filetime" ,(origin (method url-fetch) - (uri (crate-uri "filetime" "0.1.10")) + (uri (crate-uri "filetime" "0.1.12")) (sha256 - (base32 - "08p9scgv30i1141cnp5xi4pqlnkfci455nrpca55df1r867anqsk")))) - ("rust-tar" + (base16-string->bytevector + "6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf73= 2c0e")))) + ("rust-flate2" + ,(origin + (method url-fetch) + (uri (crate-uri "flate2" "0.2.20")) + (sha256 + (base16-string->bytevector + "e6234dd4468ae5d1e2dbb06fe2b058696fdc50a339c68a393aefbf00bc81= e423")))) + ("rust-fnv" ,(origin (method url-fetch) - (uri (crate-uri "tar" "0.4.9")) + (uri (crate-uri "fnv" "1.0.5")) (sha256 - (base32 - "1vi3nl8s3jjf5l20ni47gmh1p4bdjfh7q50fbg7izzqrf7i4i40c")))) + (base16-string->bytevector + "6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fe= e344")))) + ("rust-foreign-types" + ,(origin + (method url-fetch) + (uri (crate-uri "foreign-types" "0.2.0")) + (sha256 + (base16-string->bytevector + "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8= a29d")))) + ("rust-fs2" + ,(origin + (method url-fetch) + (uri (crate-uri "fs2" "0.4.2")) + (sha256 + (base16-string->bytevector + "9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c= 2866")))) + ("rust-git2" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "68676bc784bf0bef83278898929bf64a251e87c0340723d0b93fa096c9c5= bf8e")))) ("rust-glob" ,(origin (method url-fetch) (uri (crate-uri "glob" "0.2.11")) (sha256 - (base32 - "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb")))) - ("rust-cfg-if" + (base16-string->bytevector + "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac589= 5bfb")))) + ("rust-globset" ,(origin (method url-fetch) - (uri (crate-uri "cfg-if" "0.1.0")) + (uri (crate-uri "globset" "0.2.0")) (sha256 - (base32 - "137qikjcal4h75frzcn6mknygqk8vy5bva7w851aydb5gc6pc7ny")))) - ("rust-winapi-build" + (base16-string->bytevector + "feeb1b6840809ef5efcf7a4a990bc4e1b7ee3df8cf9e2379a75aeb2ba42a= c9c3")))) + ("rust-hamcrest" ,(origin (method url-fetch) - (uri (crate-uri "winapi-build" "0.1.1")) + (uri (crate-uri "hamcrest" "0.1.1")) (sha256 - (base32 - "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d")))) - ("rust-advapi32-sys" + (base16-string->bytevector + "bf088f042a467089e9baa4972f57f9247e42a0cc549ba264c7a04fbb8ecb= 89d4")))) + ("rust-hex" ,(origin (method url-fetch) - (uri (crate-uri "advapi32-sys" "0.2.0")) + (uri (crate-uri "hex" "0.2.0")) (sha256 - (base32 - "16largvlrd1800vvdchml0ngnszjlnpqm01rcz5hm7di1h48hrg0")))) - ("rust-gdi32-sys" + (base16-string->bytevector + "d6a22814455d41612f41161581c2883c0c6a1c41852729b17d5ed88f01e1= 53aa")))) + ("rust-home" ,(origin (method url-fetch) - (uri (crate-uri "gdi32-sys" "0.2.0")) + (uri (crate-uri "home" "0.3.0")) (sha256 - (base32 - "0605d4ngjsspghwjv4jicajich1gnl0aik9f880ajjzjixd524h9")))) - ("rust-ws2_32-sys" + (base16-string->bytevector + "9f25ae61099d8f3fee8b483df0bd4ecccf4b2731897aad40d50eca1b641f= e6db")))) + ("rust-idna" ,(origin (method url-fetch) - (uri (crate-uri "ws2_32-sys" "0.2.1")) + (uri (crate-uri "idna" "0.1.4")) (sha256 - (base32 - "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m")))) - ("rust-user32-sys" + (base16-string->bytevector + "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951e= af7d")))) + ("rust-ignore" ,(origin (method url-fetch) - (uri (crate-uri "user32-sys" "0.2.0")) + (uri (crate-uri "ignore" "0.2.2")) (sha256 - (base32 - "0ivxc7hmsxax9crdhxdd1nqwik4s9lhb2x59lc8b88bv20fp3x2f")))) - ("rust-unicode-bidi" + (base16-string->bytevector + "b3fcaf2365eb14b28ec7603c98c06cc531f19de9eb283d89a3dff8417c8c= 99f5")))) + ("rust-itoa" + ,(origin + (method url-fetch) + (uri (crate-uri "itoa" "0.3.4")) + (sha256 + (base16-string->bytevector + "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4= db8c")))) + ("rust-jobserver" ,(origin (method url-fetch) - (uri (crate-uri "unicode-bidi" "0.2.3")) + (uri (crate-uri "jobserver" "0.1.6")) (sha256 - (base32 - "0gqbyf6slkgzr14nf6v8dw8a19l5snh6bpms8bpfvzpxdawwxxy1")))) + (base16-string->bytevector + "443ae8bc0af6c106e6e8b77e04684faecc1a5ce94e058f4c2b0a037b0ea1= b133")))) + ("rust-kernel32-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "c9e5e58fa1a4c3b915a561a78a22ee0cac6ab97dca2504428bc1cb074375= f8d5")))) + ("rust-libc" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "6f74b4959cef96898f5123148724fc7dee043b9a6b99f219d948851bfbe5= 3cb2")))) + ("rust-libssh2-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "44ebbc760fd2d2f4d93de09a0e13d97e057612052e871da9985cedcb451e= 6bd5")))) + ("rust-log" + ,(origin + (method url-fetch) + (uri (crate-uri "log" "0.3.8")) + (sha256 + (base16-string->bytevector + "880f77541efa6e5cc74e76910c9884d9859683118839d6a1dc3b11e63512= 565b")))) + ("rust-magenta" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f= 4699")))) + ("rust-matches" + ,(origin + (method url-fetch) + (uri (crate-uri "matches" "0.1.6")) + (sha256 + (base16-string->bytevector + "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f19= 3376")))) + ("rust-memchr" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a= 47b4")))) + ("rust-miniz-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "miniz-sys" "0.1.10")) + (sha256 + (base16-string->bytevector + "609ce024854aeb19a0ef7567d348aaa5a746b32fb72e336df7fcc16869d7= e2b4")))) + ("rust-miow" + ,(origin + (method url-fetch) + (uri (crate-uri "miow" "0.2.1")) + (sha256 + (base16-string->bytevector + "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355a= e919")))) ("rust-net2" ,(origin (method url-fetch) - (uri (crate-uri "net2" "0.2.26")) + (uri (crate-uri "net2" "0.2.31")) (sha256 - (base32 - "1qp3q6xynb481rsp3ig1nmqb6qlxfba3shfrmqij88cppsv9rpsy")))) - ("rust-utf8-ranges" + (base16-string->bytevector + "3a80f842784ef6c9a958b68b7516bc7e35883c614004dd94959a4dca1b71= 6c09")))) + ("rust-num" ,(origin (method url-fetch) - (uri (crate-uri "utf8-ranges" "0.1.3")) + (uri (crate-uri "num" "0.1.40")) (sha256 - (base32 - "03xf604b2v51ag3jgzw92l97xnb10kw9zv948bhc7ja1ik017jm1")))) - ("rust-crossbeam" + (base16-string->bytevector + "a311b77ebdc5dd4cf6449d81e4135d9f0e3b153839ac90e648a8ef538f92= 3525")))) + ("rust-num-bigint" ,(origin (method url-fetch) - (uri (crate-uri "crossbeam" "0.2.10")) + (uri (crate-uri "num-bigint" "0.1.40")) (sha256 - (base32 - "15wga0kvk3iqf3l077957j931brf1pl3p74xibd698jccqas4phc")))) - ("rust-toml" + (base16-string->bytevector + "8fd0f8dbb4c0960998958a796281d88c16fbe68d87b1baa6f31e2979e81f= d0bd")))) + ("rust-num-complex" ,(origin (method url-fetch) - (uri (crate-uri "toml" "0.2.1")) + (uri (crate-uri "num-complex" "0.1.40")) (sha256 - (base32 - "1d1cz43bxrx4fd6j2p6myckf81f72bp47akg36y3flxjkhj60svk")))) - ("rust-aho-corasick" + (base16-string->bytevector + "503e668405c5492d67cf662a81e05be40efe2e6bcf10f7794a07bd9865e7= 04e6")))) + ("rust-num-integer" ,(origin (method url-fetch) - (uri (crate-uri "aho-corasick" "0.5.3")) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "7485fcc84f85b4ecd0ea527b14189281cf27d60e583ae65ebc9c088b13df= fe01")))) + ("rust-num-rational" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "99843c856d68d8b4313b03a17e33c4bb42ae8f6610ea81b28abe076ac721= b9b0")))) + ("rust-num_cpus" + ,(origin + (method url-fetch) + (uri (crate-uri "num_cpus" "1.7.0")) + (sha256 + (base16-string->bytevector + "514f0d73e64be53ff320680ca671b64fe3fb91da01e1ae2ddc99eb51d453= b20d")))) + ("rust-openssl" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "d98df0270d404ccd3c050a41d579c52d1db15375168bb3471e04ec0f5f37= 8daf")))) + ("rust-openssl-sys" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "de154f638187706bde41d9b4738748933d64e6b37bdbffc0b47a97d16a6a= e356")))) + ("rust-pkg-config" + ,(origin + (method url-fetch) + (uri (crate-uri "pkg-config" "0.3.9")) (sha256 - (base32 - "0rnvdmlajikq0i4zdy1p3pv699q6apvsxfc7av7byhppllp2r5ya")))) + (base16-string->bytevector + "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edb= a903")))) ("rust-psapi-sys" ,(origin (method url-fetch) (uri (crate-uri "psapi-sys" "0.1.0")) (sha256 - (base32 - "0y14g8qshsfnmb7nk2gs1rpbrs1wrggajmzp4yby4q6k0wd5vkdb")))) - ("rust-idna" + (base16-string->bytevector + "abcd5d1a07d360e29727f757a9decb3ce8bc6e0efa8969cfaad669a8317a= 2478")))) + ("rust-quote" ,(origin (method url-fetch) - (uri (crate-uri "idna" "0.1.0")) + (uri (crate-uri "quote" "0.3.15")) (sha256 - (base32 - "049c2rmlydrrrgrxdaq2v21adx9vkfh6k9x4xj56ckyf01p26lqh")))) - ("rust-url" + (base16-string->bytevector + "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4= 167a")))) + ("rust-rand" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "8dde11f18c108289bef24469638a04dce49da56084f2d50618b226e47eb0= 4509")))) + ("rust-redox_termios" ,(origin (method url-fetch) - (uri (crate-uri "url" "1.2.3")) + (uri (crate-uri "redox_termios" "0.1.1")) (sha256 - (base32 - "1myr1i8djbl2bhvvrm6n3h7bj7sl6kh5dmaaz2f7c6x8hyyzgk28")))) + (base16-string->bytevector + "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db= 0f76")))) + ("rust-regex" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "1731164734096285ec2a5ec7fea5248ae2f5485b3feeb0115af4fda2183b= 2d1b")))) ("rust-regex-syntax" ,(origin (method url-fetch) (uri (crate-uri "regex-syntax" "0.3.9")) (sha256 - (base32 - "0ms9hgdhhsxw9w920i7gipydvagf100bb56jbs192rz86ln01v7r")))) - ("rust-kernel32-sys" + (base16-string->bytevector + "f9ec002c35e86791825ed294b50008eea9ddfc8def4420124fbc6b08db83= 4957")))) + ("rust-regex-syntax-0.4.1" ,(origin (method url-fetch) - (uri (crate-uri "kernel32-sys" "0.2.2")) + (uri (crate-uri "regex-syntax" "0.4.1")) (sha256 - (base32 - "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm")))) - ("rust-term" + (base16-string->bytevector + "ad890a5eef7953f55427c50575c680c42841653abd2b028b68cd223d157f= 62db")))) + ("rust-rustc-demangle" ,(origin (method url-fetch) - (uri (crate-uri "term" "0.4.4")) + (uri (crate-uri "rustc-demangle" "0.1.5")) (sha256 - (base32 - "0jpr7jb1xidadh0arklwr99r8w1k1dfc4an3ginpsq5nnfigivrx")))) - ("rust-thread-id" + (base16-string->bytevector + "aee45432acc62f7b9a108cc054142dac51f979e69e71ddce7d6fc7adf29e= 817e")))) + ("rust-rustc-serialize" ,(origin (method url-fetch) - (uri (crate-uri "thread-id" "2.0.0")) + (uri (crate-uri "rustc-serialize" "0.3.24")) (sha256 - (base32 - "00zzs2bx1xw8aqm5plqqgr7bc2zz6zkqrdxq8vpiqb8hc2srslx9")))) - ("rust-thread_local" + (base16-string->bytevector + "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e= 6fda")))) + ("rust-same-file" ,(origin (method url-fetch) - (uri (crate-uri "thread_local" "0.2.7")) + (uri (crate-uri "same-file" "0.1.3")) (sha256 - (base32 - "1mgxikqvhpsic6xk7pan95lvgsky1sdxzw2w5m2l35pgrazxnxl5")))) - ("rust-miow" + (base16-string->bytevector + "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a1= 17a7")))) + ("rust-scoped-tls" ,(origin (method url-fetch) - (uri (crate-uri "miow" "0.1.3")) + (uri (crate-uri "scoped-tls" "0.1.0")) (sha256 - (base32 - "16jvfjsp6fr4mbd2sw5hcdmi4dsa0m0aa45gjz78mb1h4mwcdgym")))) - ("rust-regex" + (base16-string->bytevector + "f417c22df063e9450888a7561788e9bd46d3bb3c1466435b4eccb903807f= 147d")))) + ("rust-scopeguard" ,(origin (method url-fetch) - (uri (crate-uri "regex" "0.1.80")) + (uri (crate-uri "scopeguard" "0.1.2")) (sha256 - (base32 - "0bs036h3vzc6pj5jj4vc909s9rppq7b808ic99qn0y6gm3karm2g")))) - ("rust-num_cpus" + (base16-string->bytevector + "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e83981a= 6c57")))) + ("rust-semver" ,(origin (method url-fetch) - (uri (crate-uri "num_cpus" "1.1.0")) + (uri (crate-uri "semver" "0.8.0")) (sha256 - (base32 - "1bfwcn3yhwa31rinjw9yr7b6gvn6c06hnwnjz06pvm938w4fd448")))) - ("rust-libgit2-sys" + (base16-string->bytevector + "bee2bc909ab2d8d60dab26e8cad85b25d795b14603a0dcb627b78b9d30b6= 454b")))) + ("rust-semver-parser" ,(origin (method url-fetch) - (uri (crate-uri "libgit2-sys" "0.6.6")) + (uri (crate-uri "semver-parser" "0.7.0")) (sha256 - (base32 - "074h9q4p60xh6canb0sj4vrc801wqv6p53l9lp0q724bkwzf7967")))) - ("rust-env_logger" + (base16-string->bytevector + "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f5= 70a3")))) + ("rust-serde" ,(origin (method url-fetch) - (uri (crate-uri "env_logger" "0.3.5")) + (uri (crate-uri "serde" "1.0.15")) (sha256 - (base32 - "0bvcjgkw4s3k1rd7glpflgc8s9a393zjd6jfdgvs8gjvwj0dgaqm")))) - ("rust-openssl-probe" + (base16-string->bytevector + "6a7046c9d4c6c522d10b2d098f9bebe2bef227e0e74044d8c1bfcf6b476a= f799")))) + ("rust-serde_derive" ,(origin (method url-fetch) - (uri (crate-uri "openssl-probe" "0.1.0")) + (uri (crate-uri "serde_derive" "1.0.15")) (sha256 - (base32 - "0689h6rhzy6dypqr90lsxnf108nsnh952wsx7ggs70s48b44jvbm")))) - ("rust-lazy_static" + (base16-string->bytevector + "1afcaae083fd1c46952a315062326bc9957f182358eb7da03b57ef1c688f= 7aa9")))) + ("rust-serde_derive_internals" ,(origin (method url-fetch) - (uri (crate-uri "lazy_static" "0.2.2")) + (uri (crate-uri "serde_derive_internals" "0.16.0")) (sha256 - (base32 - "16z1h7w702sxnscak38jykxlhxq0b5ip4mndlb46pkaqwzi0xgka")))) - ("rust-semver-parser" + (base16-string->bytevector + "bd381f6d01a6616cdba8530492d453b7761b456ba974e98768a18cad2cd7= 6f58")))) + ("rust-serde_ignored" ,(origin (method url-fetch) - (uri (crate-uri "semver-parser" "0.6.1")) + (uri (crate-uri "serde_ignored" "0.0.4")) (sha256 - (base32 - "1s8s7a7yg8xhgci17y0xhyyncg229byivhpr0wbs3ljdlyjl73p8")))) - ("rust-semver" + (base16-string->bytevector + "190e9765dcedb56be63b6e0993a006c7e3b071a016a304736e4a315dc01f= b142")))) + ("rust-serde_json" ,(origin (method url-fetch) - (uri (crate-uri "semver" "0.5.1")) + (uri (crate-uri "serde_json" "1.0.3")) (sha256 - (base32 - "1xbiv8l72rmngb3lgbmk3vd4lalcbzxcnrn085c2b75irl7gcbxf")))) - ("rust-docopt" + (base16-string->bytevector + "d243424e06f9f9c39e3cd36147470fd340db785825e367625f79298a6ac6= b7ac")))) + ("rust-shell-escape" ,(origin (method url-fetch) - (uri (crate-uri "docopt" "0.6.86")) + (uri (crate-uri "shell-escape" "0.1.3")) (sha256 - (base32 - "1nf4f4zf5yk0d0l4kl7hkii4na22fhn0l2hgfb46yzv08l2g6zja")))) - ("rust-miniz-sys" + (base16-string->bytevector + "dd5cc96481d54583947bfe88bf30c23d53f883c6cd0145368b69989d97b8= 4ef8")))) + ("rust-socket2" ,(origin (method url-fetch) - (uri (crate-uri "miniz-sys" "0.1.7")) + (uri (crate-uri "socket2" "0.2.3")) (sha256 - (base32 - "0m7dlggsxash0k5jkx576p556g9r8vnhyl9244gjxhq1g8rls7wx")))) - ("rust-curl" + (base16-string->bytevector + "9e76b159741052c7deaa9fd0b5ca6b5f79cecf525ed665abfe5002086c6b= 2791")))) + ("rust-strsim" ,(origin (method url-fetch) - (uri (crate-uri "curl" "0.4.1")) + (uri (crate-uri "strsim" "0.6.0")) (sha256 - (base32 - "1b0y27b6vpqffgzm2kxc1s2i6bgdzxk3wn65g2asbcdxrvys3mcg")))) - ("rust-flate2" + (base16-string->bytevector + "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c= 3694")))) + ("rust-syn" ,(origin (method url-fetch) - (uri (crate-uri "flate2" "0.2.14")) + (uri (crate-uri "syn" "0.11.11")) (sha256 - (base32 - "1fx3zsls5bb1zfx87s5sxkgk853z4nhjsbvq5s6if13kjlg4isry")))) - ("rust-git2" + (base16-string->bytevector + "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b44= 1dad")))) + ("rust-synom" ,(origin (method url-fetch) - (uri (crate-uri "git2" "0.6.3")) + (uri (crate-uri "synom" "0.11.3")) (sha256 - (base32 - "06b1bw3pwszs8617xn8js6h0j983qjgfwsychw33lshccj3cld05")))) - ("rust-crates-io" + (base16-string->bytevector + "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b519= 45b6")))) + ("rust-tar" ,(origin (method url-fetch) - (uri (crate-uri "crates-io" "0.4.0")) + (uri (crate-uri "tar" "0.4.13")) (sha256 - (base32 - "0kk6abp1qbpv44hkq1yjp7xgpzjzafs83i1l26ycr0aph1gbwig9")))) - ("rust-git2-curl" + (base16-string->bytevector + "281285b717926caa919ad905ef89c63d75805c7d89437fb873100925a53f= 2b1b")))) + ("rust-tempdir" ,(origin (method url-fetch) - (uri (crate-uri "git2-curl" "0.7.0")) + (uri (crate-uri "tempdir" "0.3.5")) (sha256 - (base32 - "13mzqp4rd81zp78261rlq23iw9aaysdr56484y1yy2xzhk3nnrv8")))) - ("rust-bufstream" + (base16-string->bytevector + "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff6621= 32d6")))) + ("rust-termcolor" ,(origin (method url-fetch) - (uri (crate-uri "bufstream" "0.1.2")) + (uri (crate-uri "termcolor" "0.3.3")) (sha256 - (base32 - "0x6h27md1fwabbhbycfldj0wklrpjr520z9p0cpzm60fzzidnj3v")))) - ("rust-hamcrest" + (base16-string->bytevector + "9065bced9c3e43453aa3d56f1e98590b8455b341d2fa191a1090c0dd0b24= 2c75")))) + ("rust-termion" ,(origin (method url-fetch) - (uri (crate-uri "hamcrest" "0.1.1")) + (uri (crate-uri "termion" "1.5.1")) (sha256 - (base32 - "1m49rf7bnkx0qxja56slrjh44zi4z5bjz5x4pblqjw265828y25z")))) - ("rust-num" + (base16-string->bytevector + "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e9= 2096")))) + ("rust-thread-id" ,(origin (method url-fetch) - (uri (crate-uri "num" "0.1.36")) + (uri (crate-uri "thread-id" "2.0.0")) (sha256 - (base32 - "081i1r3mdz6jasqd7qwraqqfqa3sdpvdvxl1xq0s7ip714xw1rxx")))) - ("rust-num-traits" + (base16-string->bytevector + "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0= ff03")))) + ("rust-thread_local" ,(origin (method url-fetch) - (uri (crate-uri "num-traits" "0.1.36")) + (uri (crate-uri "thread_local" "0.2.7")) (sha256 - (base32 - "07688sp4z40p14lh5ywvrpm4zq8kcxzhjks8sg33jsr5da2l4sm1")))) - ("rust-num-integer" + (base16-string->bytevector + "8576dbbfcaef9641452d5cf0df9b0e7eeab7694956dd33bb61515fb8f18c= fdd5")))) + ("rust-thread_local-0.3.4" ,(origin (method url-fetch) - (uri (crate-uri "num-integer" "0.1.32")) + (uri (crate-uri "thread_local" "0.3.4")) (sha256 - (base32 - "14pvaaawl0pgdcgh4dfdd67lz58yxlfl95bry86h28pjnfzxj97v")))) - ("rust-num-bigint" + (base16-string->bytevector + "1697c4b57aeeb7a536b647165a2825faddffb1d3bad386d507709bd51a90= bb14")))) + ("rust-toml" ,(origin (method url-fetch) - (uri (crate-uri "num-bigint" "0.1.35")) + (uri (crate-uri "toml" "0.4.5")) (sha256 - (base32 - "0jayfkdm33p4zvcahlv46zdfhlzg053mpw32abf2lz0z8xw47cc8")))) - ("rust-num-rational" + (base16-string->bytevector + "a7540f4ffc193e0d3c94121edb19b055670d369f77d5804db11ae053a45b= 6e7e")))) + ("rust-unicode-bidi" ,(origin (method url-fetch) - (uri (crate-uri "num-rational" "0.1.35")) + (uri (crate-uri "unicode-bidi" "0.3.4")) (sha256 - (base32 - "1bwaygv64qg7i78yqg0v4d0amfhamj598rpy4yxjz9rlhcxn1zsl")))) - ("rust-num-iter" + (base16-string->bytevector + "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea= 54d5")))) + ("rust-unicode-normalization" ,(origin (method url-fetch) - (uri (crate-uri "num-iter" "0.1.32")) + (uri (crate-uri "unicode-normalization" "0.1.5")) (sha256 - (base32 - "0p74nj5c1mc33h9lx4wpmlmggmn5lnkhxv1225g0aix8d6ciqyi8")))) - ("rust-num-complex" + (base16-string->bytevector + "51ccda9ef9efa3f7ef5d91e8f9b83bbe6955f9bf86aec89d5cce2c874625= 920f")))) + ("rust-unicode-xid" ,(origin (method url-fetch) - (uri (crate-uri "num-complex" "0.1.35")) + (uri (crate-uri "unicode-xid" "0.0.4")) (sha256 - (base32 - "0bzrjfppnnzf9vmkpklhp2dw9sb1lqzydb8r6k83z76i9l2qxizh")))) - ("rust-shell-escape" + (base16-string->bytevector + "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074c= b4dc")))) + ("rust-unreachable" ,(origin (method url-fetch) - (uri (crate-uri "shell-escape" "0.1.3")) + (uri (crate-uri "unreachable" "1.0.0")) + (sha256 + (base16-string->bytevector + "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814= fa56")))) + ("rust-url" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) (sha256 - (base32 - "1y2fp2brv639icv4a0fdqs1zhlrxq8qbz27ygfa86ifmh5jcjp6x")))))) + (base16-string->bytevector + "71d28ea36bbd9192d75bd9fa9b39f96ddb986eaee824adae5d53b6e51919= b2f3")))) + ("rust-utf8-ranges" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e5512= 4122")))) + ("rust-vcpkg" + ,(origin + (method url-fetch) + (uri (crate-uri "vcpkg" "0.2.2")) + (sha256 + (base16-string->bytevector + "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd548= 7d0b")))) + ("rust-void" + ,(origin + (method url-fetch) + (uri (crate-uri "void" "1.0.2")) + (sha256 + (base16-string->bytevector + "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770= 887d")))) + ("rust-walkdir" + ,(origin + (method url-fetch) + (uri (crate-uri "walkdir" "1.0.7")) + (sha256 + (base16-string->bytevector + "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd2= 88ff")))) + ("rust-winapi" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc6= 99bc")))) + ("rust-wincolor" + ,(origin + (method url-fetch) + (uri (crate-uri "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")) + (sha256 + (base16-string->bytevector + "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63= fa5e")))))) (arguments `(#:cargo ,cargo-bootstrap - #:tests? #f ; FIXME + #:rustc ,rustc ; Force to use rustc from current file #:modules ((ice-9 match) (srfi srfi-1) ; 'every @@ -853,12 +1265,8 @@ safety and thread safety guarantees.") (guix build cargo-build-system)) #:phases (modify-phases %standard-phases - ;; Avoid cargo complaining about missmatched checksums. - (delete 'patch-source-shebangs) - (delete 'patch-generated-file-shebangs) - (delete 'patch-usr-bin-file) - (add-after 'unpack 'unpack-submodule-sources - (lambda* (#:key inputs #:allow-other-keys) + (add-after 'unpack 'unpack-dependencies + (lambda* (#:key inputs outputs #:allow-other-keys) (define (unpack source target) (mkdir-p target) (with-directory-excursion target @@ -871,37 +1279,58 @@ safety and thread safety guarantees.") (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))) + (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 'unpack 'set-environment-up + (mkdir "vendor") + (every install-rust-library inputs))) + (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums (lambda* (#:key inputs #:allow-other-keys) - (let* ((gcc (assoc-ref inputs "gcc")) - (cc (string-append gcc "/bin/gcc"))) - (mkdir ".cargo") - (call-with-output-file ".cargo/config" - (lambda (p) - (format p " + (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' =20 [source.vendored-sources] directory =3D 'vendor' -"))) - (setenv "CMAKE_C_COMPILER" cc) - (setenv "CC" cc)) - #t)) - (delete 'configure)))) +" 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 --=20 2.15.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 10 18:18:05 2017 Received: (at control) by debbugs.gnu.org; 10 Dec 2017 23:18:06 +0000 Received: from localhost ([127.0.0.1]:55743 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOArF-0004yh-PL for submit@debbugs.gnu.org; Sun, 10 Dec 2017 18:18:05 -0500 Received: from dd1012.kasserver.com ([85.13.128.8]:52424) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOArE-0004yX-0N for control@debbugs.gnu.org; Sun, 10 Dec 2017 18:18:04 -0500 Received: from localhost (77.118.172.247.wireless.dyn.drei.com [77.118.172.247]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 7A3A11CA03FF for ; Mon, 11 Dec 2017 00:18:02 +0100 (CET) Date: Mon, 11 Dec 2017 00:17:56 +0100 From: Danny Milosavljevic To: Message-ID: <20171211001751.00e7e22f@scratchpost.org> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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 29555 [...] 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.128.8 listed in list.dnswl.org] 1.8 MISSING_SUBJECT Missing Subject: header 0.2 NO_SUBJECT Extra score for no subject 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: 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 29555 [...] 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.128.8 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. close 29555