about summary refs log tree commit diff
diff options
context:
space:
mode:
-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/rustc.nix3
5 files changed, 14 insertions, 93 deletions
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index 44d96bc4ad1dd..589054ef4384e 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.0";
 
   # 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 = "2aef0709b1f2e93d396143b7a926f262ac6fd24dd8768bf2c9425255a4a401c1";
+    x86_64-unknown-linux-gnu = "13691d7782577fc9f110924b26603ade1990de0b691a3ce2dc324b4a72a64a68";
+    armv7-unknown-linux-gnueabihf = "d10c892cd3267010068930599e1e3835b50c6ba5261a912107dcba5ca1893ec5";
+    aarch64-unknown-linux-gnu = "e12dc84bdb569cdb382268a5fe6ae6a8e2e53810cb890ec3a7133c20ba8451ac";
+    i686-apple-darwin = "04dd24d7a5d5e02d5e992eaabd5952d39363885ce2a9980e3e96e5bc09dab2f0";
+    x86_64-apple-darwin = "38708803c3096b8f101d1919ee2d7e723b0adf1bc1bb986b060973b57d8c7c28";
   };
 
   platform =
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index f191515b745c7..8669af91a9a98 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.1";
+  cargoVersion = "1.26.1";
   src = fetchurl {
     url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
-    sha256 = "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf";
+    sha256 = "1w0da0cysvzxqyn0ap0aprzlm006185yk5lq3v0b4hzcv0drd9vh";
   };
 in rec {
   rustc = callPackage ./rustc.nix {
     inherit stdenv llvm targets targetPatches targetToolchains rustPlatform version src;
 
+    patches = [];
+
     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 f55d0badb8234..0000000000000
--- 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 b97b40c240912..0000000000000
--- 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/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 277ffda20afd3..72d0ee70782ad 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -149,10 +149,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