From 146f230a0cd3bc3ed04b975246f1a7d4a681459f Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Fri, 2 Dec 2016 14:22:03 -0800 Subject: [PATCH] Statically linked the MSVC CRT This PR updates a few dependencies for support with `-C target-feature=+crt-static` and then updates CI to produce those relevant binaries on Windows. This should produce binaries that don't require the MSVC redistributables and instead work standalone. --- Cargo.lock | 132 ++++++++++++-------------------- appveyor.yml | 19 +++-- ci/run-docker.sh | 4 +- src/download/Cargo.toml | 11 +-- src/download/src/lib.rs | 14 ++-- src/rustup-mock/src/clitools.rs | 5 +- 6 files changed, 76 insertions(+), 109 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 45a31100ea..04ed6544cb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -56,7 +56,7 @@ name = "backtrace-sys" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.39 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -76,7 +76,7 @@ version = "0.1.0" dependencies = [ "crypt32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -137,24 +137,25 @@ dependencies = [ [[package]] name = "curl" -version = "0.3.9" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "curl-sys 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "curl-sys 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-probe 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "curl-sys" -version = "0.2.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.39 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "libz-sys 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", + "libz-sys 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -173,13 +174,13 @@ name = "download" version = "0.3.0" dependencies = [ "ca-loader 0.1.0", - "curl 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "curl 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "env_proxy 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "native-tls 0.1.0 (git+https://github.com/sfackler/rust-native-tls.git)", - "openssl-sys 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", + "native-tls 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-probe 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -219,7 +220,7 @@ dependencies = [ [[package]] name = "gcc" -version = "0.3.32" +version = "0.3.39" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -326,20 +327,12 @@ name = "libc" version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "libressl-pnacl-sys" -version = "2.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "pnacl-build-helper 1.4.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "libz-sys" -version = "1.0.4" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.39 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -384,19 +377,20 @@ name = "miniz-sys" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.39 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "native-tls" version = "0.1.0" -source = "git+https://github.com/sfackler/rust-native-tls.git#d49d9d964e2c18e4898424aa8afa0226f083ed79" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "openssl 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-verify 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "schannel 0.0.2 (git+https://github.com/sfackler/schannel-rs?branch=rewrite)", - "security-framework 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", + "schannel 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "tempdir 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -418,47 +412,31 @@ dependencies = [ [[package]] name = "openssl" -version = "0.7.14" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gcc 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys-extras 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "openssl-probe" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "openssl-sys" -version = "0.7.14" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "libressl-pnacl-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "openssl-sys-extras" -version = "0.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "gcc 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "openssl-verify" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "openssl 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "pipeline" version = "0.5.0" @@ -469,14 +447,6 @@ name = "pkg-config" version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "pnacl-build-helper" -version = "1.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "tempdir 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "rand" version = "0.3.14" @@ -549,7 +519,7 @@ dependencies = [ "clap 2.18.0 (registry+https://github.com/rust-lang/crates.io-index)", "download 0.3.0", "error-chain 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "gcc 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.39 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)", "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", @@ -643,15 +613,16 @@ dependencies = [ [[package]] name = "schannel" -version = "0.0.2" -source = "git+https://github.com/sfackler/schannel-rs?branch=rewrite#0a7c50cc31229bb302c6175977b27d62b2b21fc0" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "advapi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "crypt32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", "secur32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -670,18 +641,18 @@ dependencies = [ [[package]] name = "security-framework" -version = "0.1.5" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", - "security-framework-sys 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "security-framework-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "security-framework-sys" -version = "0.1.5" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -990,14 +961,14 @@ dependencies = [ "checksum core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "20a6d0448d3a99d977ae4a2aa5a98d886a923e863e81ad9ff814645b6feb3bbd" "checksum core-foundation-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "05eed248dc504a5391c63794fe4fb64f46f071280afaa1b73308f3c0ce4574c5" "checksum crypt32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e34988f7e069e0b2f3bfc064295161e489b2d4e04a2e4248fb94360cdf00b4ec" -"checksum curl 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "faf54d927c752b092d3e99ea227d9c7c9b4a3e885a3368ac9bfa28958f215100" -"checksum curl-sys 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4f198d10378a3bc1f1b0e3bc3a2de5c9bb9e08938460dec57ba6667d9a65fbc3" +"checksum curl 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fd5a1fdcebdb1a59578c5583e66ffed2d13850eac4f51ff730edf6dd6111eac" +"checksum curl-sys 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f8d9bdbfab1cb053cdd87f1c3063c5b228cdb72890dbf01340e4f0604756fe27" "checksum dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850" "checksum env_proxy 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f190d9208c08f9f0f608d9ba2530620b351d10e4bf2a62ac2292fe63380fbfb7" "checksum error-chain 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1cd681735364a04cd5d69f01a4f6768e70473941f8d86d8c224faf6955a75799" "checksum filetime 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "5363ab8e4139b8568a6237db5248646e5a8a2f89bd5ccb02092182b11fd3e922" "checksum flate2 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "3eeb481e957304178d2e782f2da1257f1434dfecbae883bafb61ada2a9fea3bb" -"checksum gcc 0.3.32 (registry+https://github.com/rust-lang/crates.io-index)" = "dcb000abd6df9df4c637f75190297ebe56c1d7e66b56bbf3b4aa7aece15f61a2" +"checksum gcc 0.3.39 (registry+https://github.com/rust-lang/crates.io-index)" = "771e4a97ff6f237cf0f7d5f5102f6e28bb9743814b6198d684da5c58b76c11e0" "checksum gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0912515a8ff24ba900422ecda800b52f4016a56251922d397c576bf92c690518" "checksum hpack 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d2da7d3a34cf6406d9d700111b8eafafe9a251de41ae71d8052748259343b58" "checksum httparse 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "46534074dbb80b070d60a5cb8ecadd8963a00a438ae1a95268850a7ef73b67ae" @@ -1011,24 +982,21 @@ dependencies = [ "checksum lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "cf186d1a8aa5f5bee5fd662bc9c1b949e0259e1bcc379d1f006847b0080c7417" "checksum lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "49247ec2a285bb3dcb23cbd9c35193c025e7251bfce77c1d5da97e6362dffe7f" "checksum libc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "a51822fc847e7a8101514d1d44e354ba2ffa7d4c194dcab48870740e327cac70" -"checksum libressl-pnacl-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "cbc058951ab6a3ef35ca16462d7642c4867e6403520811f28537a4e2f2db3e71" -"checksum libz-sys 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c9795a8a0498b3abab873f8f063816fcc2e002388e89df87da065628dd5a8ed2" +"checksum libz-sys 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "c18b5826abbfafb0160b37e1991e2d327c1fe38c955e496ea306f72c06d7570c" "checksum log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ab83497bf8bf4ed2a74259c1c802351fcd67a65baa86394b6ba73c36f4838054" "checksum markdown 0.1.2 (git+https://github.com/Diggsey/markdown.rs.git)" = "" "checksum matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "15305656809ce5a4805b1ff2946892810992197ce1270ff79baded852187942e" "checksum memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20" "checksum mime 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf93a79c700c9df8227ec6a4f0f27a8948373c079312bac24549d944cef85f64" "checksum miniz-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9d1f4d337a01c32e1f2122510fed46393d53ca35a7f429cb0450abaedfa3ed54" -"checksum native-tls 0.1.0 (git+https://github.com/sfackler/rust-native-tls.git)" = "" +"checksum native-tls 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aa4e52995154bb6f0b41e4379a279482c9387c1632e3798ba4e511ef8c54ee09" "checksum num_cpus 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "cee7e88156f3f9e19bdd598f8d6c9db7bf4078f99f8381f43a55b09648d1a6e3" "checksum ole32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2c49021782e5233cd243168edfa8037574afed4eba4bbaf538b3d8d1789d8c" -"checksum openssl 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)" = "c4117b6244aac42ed0150a6019b4d953d28247c5dd6ae6f46ae469b5f2318733" -"checksum openssl-sys 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ac5e9d911dd4c3202bbf4139b73bc7a1231f7d0a39432c6f893745f0e04120" -"checksum openssl-sys-extras 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)" = "11c5e1dba7d3d03d80f045bf0d60111dc69213b67651e7c889527a3badabb9fa" -"checksum openssl-verify 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ed86cce894f6b0ed4572e21eb34026f1dc8869cb9ee3869029131bc8c3feb2d" +"checksum openssl 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c368aec980860439ea434b98dd622b1e09f720c6762308854ef4b9e2e82771ad" +"checksum openssl-probe 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "756d49c8424483a3df3b5d735112b4da22109ced9a8294f1f5cdf80fb3810919" +"checksum openssl-sys 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "58acf9d02ba8903c7c664df3037f4c04935e968d9f3932232400fa60364de62a" "checksum pipeline 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d15b6607fa632996eb8a17c9041cb6071cb75ac057abd45dece578723ea8c7c0" "checksum pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8cee804ecc7eaf201a4a207241472cc870e825206f6c031e3ee2a72fa425f2fa" -"checksum pnacl-build-helper 1.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "61c9231d31aea845007443d62fcbb58bb6949ab9c18081ee1e09920e0cf1118b" "checksum rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "2791d88c6defac799c3f20d74f094ca33b9332612d9aef9078519c82e4fe04a5" "checksum regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)" = "56b7ee9f764ecf412c6e2fff779bca4b22980517ae335a21aeaf4e32625a5df2" "checksum regex-syntax 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "31040aad7470ad9d8c46302dcffba337bb4289ca5da2e3cd6e37b64109a85199" @@ -1037,11 +1005,11 @@ dependencies = [ "checksum rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)" = "6159e4e6e559c81bd706afe9c8fd68f547d3e851ce12e76b1de7914bab61691b" "checksum rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084" "checksum rustls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "be63398fa4474942eff3dd0d06413848d73a0a9c988b3984cca41e4f2f2bb18c" -"checksum schannel 0.0.2 (git+https://github.com/sfackler/schannel-rs?branch=rewrite)" = "" +"checksum schannel 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "167852e03fcd0029c3ddebb5afb0715b2996f6e262b2c2aceaa7cd84edd4b158" "checksum scopeguard 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "59a076157c1e2dc561d8de585151ee6965d910dd4dcb5dabb7ae3e83981a6c57" "checksum secur32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3f412dfa83308d893101dd59c10d6fda8283465976c28c287c5c855bf8d216bc" -"checksum security-framework 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "cfedce48443fbd8a9be6e152c2840da13f81e792e806b94ba983c55bc5c9afe7" -"checksum security-framework-sys 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "7bcfb1d5ef7f96a097c58d4766d7395c2b74f9ef6ca1f0dc10d6f84f80817a98" +"checksum security-framework 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "52186fcf3b391c9f0ccdce9a2ac708f7cc81b3f89e149b34bd9279fb1b23f9fa" +"checksum security-framework-sys 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c84067e6297c1f09514a8666d8bbc1268817ec4a6c0f30f12f6201e1f34bd2a1" "checksum semver 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)" = "d4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac" "checksum semver 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ca1c06afc03e8a202bc5c1db01524cceb7e1b1ca062d959d83a61b20d76e394e" "checksum semver-parser 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e88e43a5a74dd2a11707f9c21dfd4a423c66bd871df813227bb0a3e78f3a1ae9" diff --git a/appveyor.yml b/appveyor.yml index 1949efce58..45025450c9 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,9 +1,10 @@ environment: + RUSTFLAGS: -Zunstable-options -Ctarget-feature=+crt-static matrix: - TARGET: i686-pc-windows-msvc BUILD_MSI: 1 - TARGET: i686-pc-windows-gnu - MINGW_URL: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.2/threads-win32/dwarf/i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z/download + MINGW_URL: https://s3.amazonaws.com/rust-lang-ci MINGW_ARCHIVE: i686-4.9.2-release-win32-dwarf-rt_v4-rev4.7z MINGW_DIR: mingw32 - TARGET: x86_64-pc-windows-gnu @@ -20,9 +21,8 @@ branches: install: # Install rust, x86_64-pc-windows-msvc host - # FIXME: switch back to win.rustup.rs - - curl -sSf -o rustup-init.exe https://dev-static.rust-lang.org/rustup/dist/i686-pc-windows-gnu/rustup-init.exe - - rustup-init.exe -y --default-toolchain=nightly-2016-11-06-x86_64-pc-windows-msvc + - curl -sSf -o rustup-init.exe https://win.rustup.rs/ + - rustup-init.exe -y --default-toolchain=nightly-x86_64-pc-windows-msvc - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin # Install the target we're compiling for @@ -32,19 +32,18 @@ install: - if defined MSYS_BITS set PATH=C:\msys64\mingw%MSYS_BITS%\bin;C:\msys64\usr\bin;%PATH% # download a custom compiler otherwise - - if defined MINGW_ARCHIVE curl -L --retry 4 "%MINGW_URL%" -o "%MINGW_ARCHIVE%" - - if defined MINGW_ARCHIVE 7z x -y "%MINGW_ARCHIVE%" > nul - - if defined MINGW_ARCHIVE set PATH=%CD%\%MINGW_DIR%\bin;C:\msys64\usr\bin;%PATH% - + - if defined MINGW_URL appveyor DownloadFile %MINGW_URL%/%MINGW_ARCHIVE% + - if defined MINGW_URL 7z x -y %MINGW_ARCHIVE% > nul + - if defined MINGW_URL set PATH=%CD%\%MINGW_DIR%\bin;C:\msys64\usr\bin;%PATH% + # set cargo features for MSI if requested (otherwise empty string) - - set FEATURES= + - set FEATURES= - if defined BUILD_MSI set FEATURES=--features msi-installed # let's see what we got - where gcc rustc cargo - rustc -vV - cargo -vV - - set CARGO_TARGET_DIR=%CD%\target build: false diff --git a/ci/run-docker.sh b/ci/run-docker.sh index 7dc319edd3..a975c2c301 100644 --- a/ci/run-docker.sh +++ b/ci/run-docker.sh @@ -104,9 +104,7 @@ tar xf $out -C target/$TARGET/openssl # Variables to the openssl-sys crate to link statically against the OpenSSL we # just compiled above export OPENSSL_STATIC=1 -export OPENSSL_ROOT_DIR=$install -export OPENSSL_LIB_DIR=$install/lib -export OPENSSL_INCLUDE_DIR=$install/include +export OPENSSL_DIR=$install # ============================================================================== # Actually delgate to the test script itself diff --git a/src/download/Cargo.toml b/src/download/Cargo.toml index 78d7e84a00..264c764a22 100644 --- a/src/download/Cargo.toml +++ b/src/download/Cargo.toml @@ -11,14 +11,15 @@ license = "MIT/Apache-2.0" default = ["hyper-backend"] curl-backend = ["curl"] -hyper-backend = ["hyper", "env_proxy", "native-tls", "openssl-sys"] +hyper-backend = ["hyper", "env_proxy", "native-tls", "openssl-probe"] rustls-backend = ["hyper", "env_proxy", "rustls", "lazy_static", "ca-loader"] [dependencies] error-chain = "0.7.1" url = "1.1" -curl = { version = "0.3", optional = true } +curl = { version = "0.4", optional = true } lazy_static = { version = "0.2", optional = true } +native-tls = { version = "0.1", optional = true } [dependencies.hyper] version = "0.9.8" @@ -29,12 +30,8 @@ optional = true version = "0.1.1" optional = true -[dependencies.native-tls] -git = "https://github.com/sfackler/rust-native-tls.git" -optional = true - [target.'cfg(not(any(target_os = "windows", target_os = "macos")))'.dependencies] -openssl-sys = { version = "0.7.11", optional = true } +openssl-probe = { version = "0.1", optional = true } [dependencies.rustls] version = "0.1.2" diff --git a/src/download/src/lib.rs b/src/download/src/lib.rs index 7d53a019e6..5265bdfa90 100644 --- a/src/download/src/lib.rs +++ b/src/download/src/lib.rs @@ -225,7 +225,7 @@ pub mod hyper { extern crate hyper; #[cfg(not(any(target_os = "windows", target_os = "macos")))] - extern crate openssl_sys; + extern crate openssl_probe; extern crate native_tls; use super::Event; @@ -259,12 +259,14 @@ pub mod hyper { type Stream = NativeSslStream; fn wrap_client(&self, stream: T, host: &str) -> HyperResult { - use self::native_tls::ClientBuilder as TlsClientBuilder; + use self::native_tls::TlsConnector; use self::hyper::error::Error as HyperError; - let mut ssl_builder = try!(TlsClientBuilder::new() - .map_err(|e| HyperError::Ssl(Box::new(e)))); - let ssl_stream = try!(ssl_builder.handshake(host, stream) + let builder = try!(TlsConnector::builder() + .map_err(|e| HyperError::Ssl(Box::new(e)))); + let cx = try!(builder.build() + .map_err(|e| HyperError::Ssl(Box::new(e)))); + let ssl_stream = try!(cx.connect(host, stream) .map_err(|e| HyperError::Ssl(Box::new(e)))); Ok(NativeSslStream(Arc::new(Mutex::new(ssl_stream)))) @@ -344,7 +346,7 @@ pub mod hyper { use std::sync::{Once, ONCE_INIT}; static INIT: Once = ONCE_INIT; INIT.call_once(|| { - openssl_sys::probe::init_ssl_cert_env_vars(); + openssl_probe::init_ssl_cert_env_vars(); }); } diff --git a/src/rustup-mock/src/clitools.rs b/src/rustup-mock/src/clitools.rs index 75eb860a5c..76b65cdcfd 100644 --- a/src/rustup-mock/src/clitools.rs +++ b/src/rustup-mock/src/clitools.rs @@ -85,7 +85,10 @@ pub fn setup(s: Scenario, f: &Fn(&Config)) { create_mock_dist_server(&config.distdir, s); let current_exe_path = env::current_exe().map(PathBuf::from).unwrap(); - let exe_dir = current_exe_path.parent().unwrap(); + let mut exe_dir = current_exe_path.parent().unwrap(); + if exe_dir.ends_with("deps") { + exe_dir = exe_dir.parent().unwrap(); + } let ref build_path = exe_dir.join(format!("rustup-init{}", EXE_SUFFIX)); let ref rustup_path = config.exedir.join(format!("rustup{}", EXE_SUFFIX));