summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2018-06-07 20:47:36 +0100
committerGitHub <noreply@github.com>2018-06-07 20:47:36 +0100
commitca6569c96ae64d17fbab1483d6688922372aeedc (patch)
treefab8d1112383152f86f46bf5189dec56d7309e1c /pkgs
parent8272df7e1881fa67c52551b9eb290b4060588070 (diff)
parentc5d1f8f313433154b80753b46a5de7fb3738e4b3 (diff)
downloadnixlib-ca6569c96ae64d17fbab1483d6688922372aeedc.tar
nixlib-ca6569c96ae64d17fbab1483d6688922372aeedc.tar.gz
nixlib-ca6569c96ae64d17fbab1483d6688922372aeedc.tar.bz2
nixlib-ca6569c96ae64d17fbab1483d6688922372aeedc.tar.lz
nixlib-ca6569c96ae64d17fbab1483d6688922372aeedc.tar.xz
nixlib-ca6569c96ae64d17fbab1483d6688922372aeedc.tar.zst
nixlib-ca6569c96ae64d17fbab1483d6688922372aeedc.zip
Merge pull request #40356 from jD91mZM2/rust
rustc: 1.25.0 -> 1.26.2
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/compilers/rust/binaryBuild.nix2
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix14
-rw-r--r--pkgs/development/compilers/rust/default.nix13
-rw-r--r--pkgs/development/compilers/rust/patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch53
-rw-r--r--pkgs/development/compilers/rust/patches/grsec.patch24
-rw-r--r--pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch104
-rw-r--r--pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch20
-rw-r--r--pkgs/development/compilers/rust/rustc.nix9
8 files changed, 140 insertions, 99 deletions
diff --git a/pkgs/development/compilers/rust/binaryBuild.nix b/pkgs/development/compilers/rust/binaryBuild.nix
index 1904c12dfdc1..849917c4a0c4 100644
--- a/pkgs/development/compilers/rust/binaryBuild.nix
+++ b/pkgs/development/compilers/rust/binaryBuild.nix
@@ -14,7 +14,7 @@ let
 
   installComponents
     = "rustc,rust-std-${platform}"
-    + (optionalString bootstrapping ",rust-docs,cargo")
+    + (optionalString bootstrapping ",cargo")
     ;
 in
 
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index 44d96bc4ad1d..9d67dd8f8564 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -3,16 +3,16 @@
 let
   # Note: the version MUST be one version prior to the version we're
   # building
-  version = "1.24.1";
+  version = "1.26.1";
 
   # fetch hashes by running `print-hashes.sh 1.24.1`
   hashes = {
-    i686-unknown-linux-gnu = "a483576bb2ab237aa1ef62b66c0814f934afd8129d7c9748cb9a75da4a678c98";
-    x86_64-unknown-linux-gnu = "4567e7f6e5e0be96e9a5a7f5149b5452828ab6a386099caca7931544f45d5327";
-    armv7-unknown-linux-gnueabihf = "1169ab005b771c4befcdab536347a90242cae544b6b76eccd0f76796b61a534c";
-    aarch64-unknown-linux-gnu = "64bb25a9689b18ddadf025b90d9bdb150b809ebfb74432dc69cc2e46120adbb2";
-    i686-apple-darwin = "c96f7579e2406220895da80a989daaa194751c141e112ebe95761f2ed4ecb662";
-    x86_64-apple-darwin = "9d4aacdb5849977ea619d399903c9378163bd9c76ea11dac5ef6eca27849f501";
+    i686-unknown-linux-gnu = "d704ba5cbaaf93c5e2112d211630db0e460d5dc819a43464ba91581e5c821df3";
+    x86_64-unknown-linux-gnu = "b7e964bace1286696d511c287b945f3ece476ba77a231f0c31f1867dfa5080e0";
+    armv7-unknown-linux-gnueabihf = "34fbcebc8e60b6496f1ce7998cf0b50cd618770f039da529b65110fff1f25fa0";
+    aarch64-unknown-linux-gnu = "d4a369053c2dfd5f457de6853557dab563944579fa4bb55bc919bacf259bff6d";
+    i686-apple-darwin = "047c31a872161ebb1d21ef616f7658190403769a8734f84364a3cf15838b4708";
+    x86_64-apple-darwin = "ebf898b9fa7e2aafc53682a41f18af5ca6660ebe82dd78f28cd9799fe4dc189a";
   };
 
   platform =
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index f191515b745c..e6caebe88bfe 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -6,16 +6,18 @@
 
 let
   rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
-  version = "1.25.0";
-  cargoVersion = "0.26.0";
+  version = "1.26.2";
+  cargoVersion = "1.26.2";
   src = fetchurl {
     url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
-    sha256 = "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf";
+    sha256 = "0047ais0fvmqvngqkdsxgrzhb0kljg8wy85b01kbbjc88hqcz7pv";
   };
 in rec {
   rustc = callPackage ./rustc.nix {
     inherit stdenv llvm targets targetPatches targetToolchains rustPlatform version src;
 
+    patches = [ ./patches/net-tcp-disable-tests.patch ./patches/stdsimd-disable-doctest.patch ];
+
     forceBundledLLVM = true;
 
     configureFlags = [ "--release-channel=stable" ];
@@ -25,11 +27,6 @@ in rec {
     # So we do the same.
     # 2. Tests run out of memory for i686
     doCheck = !stdenv.isAarch64 && !stdenv.isi686;
-
-    patches = [
-      ./patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch
-    ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
-
   };
 
   cargo = callPackage ./cargo.nix rec {
diff --git a/pkgs/development/compilers/rust/patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch b/pkgs/development/compilers/rust/patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch
deleted file mode 100644
index f55d0badb823..000000000000
--- a/pkgs/development/compilers/rust/patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 26d3b70abec1adf773522643b31ce9c03439916a Mon Sep 17 00:00:00 2001
-From: Joerg Thalheim <joerg@thalheim.io>
-Date: Tue, 10 Oct 2017 00:40:20 +0100
-Subject: [PATCH] Disable fragile tests libstd::net::tcp on Darwin/Linux
-
-Signed-off-by: Joerg Thalheim <joerg@thalheim.io>
----
- src/libstd/net/tcp.rs | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs
-index 8d1e7882e5..2c223fb315 100644
---- a/src/libstd/net/tcp.rs
-+++ b/src/libstd/net/tcp.rs
-@@ -949,6 +949,7 @@ mod tests {
-         })
-     }
- 
-+    #[cfg_attr(target_os = "macos", ignore)]
-     #[test]
-     fn write_close() {
-         each_ip(&mut |addr| {
-@@ -1421,7 +1422,10 @@ mod tests {
- 
-     // FIXME: re-enabled bitrig/openbsd tests once their socket timeout code
-     //        no longer has rounding errors.
--    #[cfg_attr(any(target_os = "bitrig", target_os = "netbsd", target_os = "openbsd"), ignore)]
-+    #[cfg_attr(any(target_os = "bitrig",
-+                   target_os = "netbsd",
-+                   target_os = "openbsd",
-+                   target_os = "macos"), ignore)]
-     #[test]
-     fn timeouts() {
-         let addr = next_test_ip4();
-@@ -1500,6 +1504,7 @@ mod tests {
-         assert_eq!(false, t!(stream.nodelay()));
-     }
- 
-+    #[cfg_attr(target_os = "macos", ignore)]
-     #[test]
-     fn ttl() {
-         let ttl = 100;
-@@ -1568,6 +1573,7 @@ mod tests {
-         })
-     }
- 
-+    #[cfg_attr(target_os = "linux", ignore)]
-     #[test]
-     fn connect_timeout_unroutable() {
-         // this IP is unroutable, so connections should always time out,
--- 
-2.14.2
-
diff --git a/pkgs/development/compilers/rust/patches/grsec.patch b/pkgs/development/compilers/rust/patches/grsec.patch
deleted file mode 100644
index b97b40c24091..000000000000
--- a/pkgs/development/compilers/rust/patches/grsec.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/src/test/run-make/relocation-model/Makefile b/src/test/run-make/relocation-model/Makefile
-index b22f34f..c6489bd 100644
---- a/src/test/run-make/relocation-model/Makefile
-+++ b/src/test/run-make/relocation-model/Makefile
-@@ -2,9 +2,11 @@
- 
- all: others
- 	$(RUSTC) -C relocation-model=dynamic-no-pic foo.rs
-+	paxctl -czexm $(TMPDIR)/foo
- 	$(call RUN,foo)
- 
- 	$(RUSTC) -C relocation-model=default foo.rs
-+	paxctl -czexm $(TMPDIR)/foo
- 	$(call RUN,foo)
- 
- 	$(RUSTC) -C relocation-model=default --crate-type=dylib foo.rs
-@@ -16,6 +18,7 @@ others:
- else
- others:
- 	$(RUSTC) -C relocation-model=static foo.rs
-+	paxctl -czexm $(TMPDIR)/foo
- 	$(call RUN,foo)
- 	$(RUSTC) -C relocation-model=static --crate-type=dylib foo.rs
- endif
diff --git a/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch b/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch
new file mode 100644
index 000000000000..10713b6b7aa9
--- /dev/null
+++ b/pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch
@@ -0,0 +1,104 @@
+diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs
+index 0f60b5b3e..9b08415e7 100644
+--- a/src/libstd/net/tcp.rs
++++ b/src/libstd/net/tcp.rs
+@@ -962,6 +962,7 @@ mod tests {
+         }
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn listen_localhost() {
+         let socket_addr = next_test_ip4();
+@@ -1020,6 +1021,7 @@ mod tests {
+         })
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn read_eof() {
+         each_ip(&mut |addr| {
+@@ -1039,6 +1041,7 @@ mod tests {
+         })
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn write_close() {
+         each_ip(&mut |addr| {
+@@ -1065,6 +1068,7 @@ mod tests {
+         })
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn multiple_connect_serial() {
+         each_ip(&mut |addr| {
+@@ -1087,6 +1091,7 @@ mod tests {
+         })
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn multiple_connect_interleaved_greedy_schedule() {
+         const MAX: usize = 10;
+@@ -1123,6 +1128,7 @@ mod tests {
+     }
+ 
+     #[test]
++    #[cfg_attr(target_os = "macos", ignore)]
+     fn multiple_connect_interleaved_lazy_schedule() {
+         const MAX: usize = 10;
+         each_ip(&mut |addr| {
+@@ -1401,6 +1407,7 @@ mod tests {
+     }
+ 
+     #[test]
++    #[cfg_attr(target_os = "macos", ignore)]
+     fn clone_while_reading() {
+         each_ip(&mut |addr| {
+             let accept = t!(TcpListener::bind(&addr));
+@@ -1421,7 +1422,10 @@ mod tests {
+ 
+     // FIXME: re-enabled bitrig/openbsd tests once their socket timeout code
+     //        no longer has rounding errors.
+-    #[cfg_attr(any(target_os = "bitrig", target_os = "netbsd", target_os = "openbsd"), ignore)]
++    #[cfg_attr(any(target_os = "bitrig",
++                   target_os = "netbsd",
++                   target_os = "openbsd",
++                   target_os = "macos"), ignore)]
+     #[test]
+     fn timeouts() {
+         let addr = next_test_ip4();
+@@ -1596,6 +1603,7 @@ mod tests {
+         drop(listener);
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn nodelay() {
+         let addr = next_test_ip4();
+@@ -1610,6 +1618,7 @@ mod tests {
+         assert_eq!(false, t!(stream.nodelay()));
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn ttl() {
+         let ttl = 100;
+@@ -1647,6 +1656,7 @@ mod tests {
+         }
+     }
+ 
++    #[cfg_attr(target_os = "macos", ignore)]
+     #[test]
+     fn peek() {
+         each_ip(&mut |addr| {
+@@ -1679,6 +1689,7 @@ mod tests {
+     }
+ 
+     #[test]
++    #[cfg_attr(any(target_os = "linux", target_os = "macos"), ignore)]
+     fn connect_timeout_unroutable() {
+         // this IP is unroutable, so connections should always time out,
+         // provided the network is reachable to begin with.
diff --git a/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch b/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch
new file mode 100644
index 000000000000..6ef7fd0f7ce4
--- /dev/null
+++ b/pkgs/development/compilers/rust/patches/stdsimd-disable-doctest.patch
@@ -0,0 +1,20 @@
+diff --git a/src/stdsimd/coresimd/x86/mod.rs b/src/stdsimd/coresimd/x86/mod.rs
+index 32915c332..7cb54f31e 100644
+--- a/src/stdsimd/coresimd/x86/mod.rs
++++ b/src/stdsimd/coresimd/x86/mod.rs
+@@ -279,7 +279,6 @@ types! {
+     ///
+     /// # Examples
+     ///
+-    /// ```
+     /// # #![feature(cfg_target_feature, target_feature, stdsimd)]
+     /// # #![cfg_attr(not(dox), no_std)]
+     /// # #[cfg(not(dox))]
+@@ -301,7 +300,6 @@ types! {
+     /// # }
+     /// # if is_x86_feature_detected!("sse") { unsafe { foo() } }
+     /// # }
+-    /// ```
+     pub struct __m256(f32, f32, f32, f32, f32, f32, f32, f32);
+ 
+     /// 256-bit wide set of four `f64` types, x86-specific
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 277ffda20afd..d3dcc8e2f6c9 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -10,11 +10,7 @@
 , targets
 , targetPatches
 , targetToolchains
-
-# Tests frequently break on Darwin
-# See the rust issue: https://github.com/rust-lang/rust/issues/51006
-, doCheck ? (!stdenv.isDarwin)
-
+, doCheck ? true
 , broken ? false
 , buildPlatform, hostPlatform
 } @ args:
@@ -149,10 +145,11 @@ stdenv.mkDerivation {
   outputs = [ "out" "man" "doc" ];
   setOutputFlags = false;
 
-  # Disable codegen units for the tests.
+  # Disable codegen units and hardening for the tests.
   preCheck = ''
     export RUSTFLAGS=
     export TZDIR=${tzdata}/share/zoneinfo
+    export hardeningDisable=all
   '' +
   # Ensure TMPDIR is set, and disable a test that removing the HOME
   # variable from the environment falls back to another home