summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/rust/beta.nix40
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix30
-rw-r--r--pkgs/development/compilers/rust/cargo.nix13
-rw-r--r--pkgs/development/compilers/rust/default.nix15
-rw-r--r--pkgs/development/compilers/rust/nightly.nix37
-rw-r--r--pkgs/development/compilers/rust/nightlyBin.nix23
-rw-r--r--pkgs/development/compilers/rust/patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch (renamed from pkgs/development/compilers/rust/patches/darwin-disable-fragile-tcp-tests.patch)31
-rw-r--r--pkgs/development/compilers/rust/patches/disable-lockfile-check-beta.patch25
-rw-r--r--pkgs/development/compilers/rust/patches/disable-lockfile-check-nightly.patch25
-rwxr-xr-xpkgs/development/compilers/rust/print-hashes.sh30
-rw-r--r--pkgs/development/compilers/rust/rustc.nix5
-rw-r--r--pkgs/development/compilers/souffle/default.nix3
-rw-r--r--pkgs/development/coq-modules/QuickChick/default.nix6
-rw-r--r--pkgs/development/coq-modules/coq-ext-lib/default.nix1
-rw-r--r--pkgs/development/coq-modules/coquelicot/default.nix1
-rw-r--r--pkgs/development/coq-modules/dpdgraph/default.nix5
-rw-r--r--pkgs/development/coq-modules/fiat/HEAD.nix1
-rw-r--r--pkgs/development/libraries/gnu-efi/default.nix4
-rw-r--r--pkgs/development/libraries/iniparser/default.nix24
-rw-r--r--pkgs/development/libraries/iniparser/no-usr.patch15
-rw-r--r--pkgs/development/libraries/libbsd/default.nix4
-rw-r--r--pkgs/development/libraries/unibilium/default.nix4
-rw-r--r--pkgs/development/misc/loc/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix15
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/tools/analysis/massif-visualizer/default.nix26
-rw-r--r--pkgs/development/tools/clog-cli/default.nix2
-rw-r--r--pkgs/development/tools/git-series/default.nix18
-rw-r--r--pkgs/development/tools/misc/tokei/default.nix3
-rw-r--r--pkgs/development/tools/ocaml/merlin/default.nix10
-rw-r--r--pkgs/development/tools/rq/default.nix2
-rw-r--r--pkgs/development/tools/rust/bindgen/default.nix2
-rw-r--r--pkgs/development/tools/rust/racer/default.nix2
-rw-r--r--pkgs/development/tools/rust/racerd/default.nix2
-rw-r--r--pkgs/development/tools/rust/rainicorn/default.nix3
-rw-r--r--pkgs/development/tools/rust/rustfmt/default.nix2
-rw-r--r--pkgs/development/tools/rust/rustup/default.nix2
-rw-r--r--pkgs/development/web/nodejs/build-node-package.nix2
38 files changed, 179 insertions, 266 deletions
diff --git a/pkgs/development/compilers/rust/beta.nix b/pkgs/development/compilers/rust/beta.nix
deleted file mode 100644
index 876c54a298b4..000000000000
--- a/pkgs/development/compilers/rust/beta.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, callPackage, recurseIntoAttrs, makeRustPlatform, llvm, fetchurl
-, targets ? []
-, targetToolchains ? []
-, targetPatches ? []
-}:
-
-let
-  rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
-in
-rec {
-  rustc = callPackage ./rustc.nix {
-    inherit llvm targets targetPatches targetToolchains rustPlatform;
-
-    version = "beta-2017-05-27";
-
-    configureFlags = [ "--release-channel=beta" ];
-
-    src = fetchurl {
-      url = "https://static.rust-lang.org/dist/2017-05-27/rustc-beta-src.tar.gz";
-      sha256 = "9f3f92efef7fb2b4bf38e57e4ff1f416dc221880b90841c4bdaee350801c0b57";
-    };
-
-    patches = [
-      ./patches/darwin-disable-fragile-tcp-tests.patch
-    ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
-
-    doCheck = false;
-    broken = true;
-  };
-
-  cargo = callPackage ./cargo.nix rec {
-    version = "0.18.0";
-    srcRev = "fe7b0cdcf5ca7aab81630706ce40b70f6aa2e666";
-    srcSha = "164iywv1l3v87b0pznf5kkzxigd6w19myv9d7ka4c65zgrk9n9px";
-    depsSha256 = "1mrgd8ib48vxxbhkvsqqq4p19sc6b74x3cd8p6lhhlm6plrajrvm";
-
-    inherit rustc; # the rustc that will be wrapped by cargo
-    inherit rustPlatform; # used to build cargo
-  };
-}
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index ad49b1305706..fbcac09fc458 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -1,6 +1,18 @@
 { stdenv, fetchurl, makeWrapper, cacert, zlib, curl }:
 
 let
+  # Note: the version MUST be one version prior to the version we're
+  # building
+  version = "1.19.0";
+
+  # fetch hashes by running `print-hashes.sh 1.19.0`
+  hashes = {
+    i686-unknown-linux-gnu = "657b78f3c1a1b4412e12f7278e20cc318022fa276a58f0d38a0d15b515e39713";
+    x86_64-unknown-linux-gnu = "30ff67884464d32f6bbbde4387e7557db98868e87fb2afbb77c9b7716e3bff09";
+    i686-apple-darwin = "bdfd2189245dc5764c9f26bdba1429c2bf9d57477d8e6e3f0ba42ea0dc63edeb";
+    x86_64-apple-darwin = "5c668fb60a3ba3e97dc2cb8967fc4bb9422b629155284dcb89f94d116bb17820";
+  };
+
   platform =
     if stdenv.system == "i686-linux"
     then "i686-unknown-linux-gnu"
@@ -12,27 +24,11 @@ let
     then "x86_64-apple-darwin"
     else throw "missing bootstrap url for platform ${stdenv.system}";
 
-  # fetch hashes by patching print-hashes.sh to not use the "$DATE" variable
-  # then running `print-hashes.sh 1.16.0`
-  bootstrapHash =
-    if stdenv.system == "i686-linux"
-    then "b5859161ebb182d3b75fa14a5741e5de87b088146fb0ef4a30f3b2439c6179c5"
-    else if stdenv.system == "x86_64-linux"
-    then "48621912c242753ba37cad5145df375eeba41c81079df46f93ffb4896542e8fd"
-    else if stdenv.system == "i686-darwin"
-    then "26356b14164354725bd0351e8084f9b164abab134fb05cddb7758af35aad2065"
-    else if stdenv.system == "x86_64-darwin"
-    then "2d08259ee038d3a2c77a93f1a31fc59e7a1d6d1bbfcba3dba3c8213b2e5d1926"
-    else throw "missing bootstrap hash for platform ${stdenv.system}";
-
   src = fetchurl {
      url = "https://static.rust-lang.org/dist/rust-${version}-${platform}.tar.gz";
-     sha256 = bootstrapHash;
+     sha256 = hashes."${platform}";
   };
 
-  # Note: the version  MUST be one version prior to the version we're
-  # building
-  version = "1.16.0";
 in import ./binaryBuild.nix
   { inherit stdenv fetchurl makeWrapper cacert zlib curl;
     buildRustPackage = null;
diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix
index 97977ba3ed3a..ec890b3bf7a2 100644
--- a/pkgs/development/compilers/rust/cargo.nix
+++ b/pkgs/development/compilers/rust/cargo.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchgit, file, curl, pkgconfig, python, openssl, cmake, zlib
+{ stdenv, fetchFromGitHub, file, curl, pkgconfig, python, openssl, cmake, zlib
 , makeWrapper, libiconv, cacert, rustPlatform, rustc, libgit2
-, version, srcRev, srcSha, depsSha256
+, version, srcSha, cargoSha256
 , patches ? []}:
 
 rustPlatform.buildRustPackage rec {
   name = "cargo-${version}";
   inherit version;
 
-  src = fetchgit {
-    url = "https://github.com/rust-lang/cargo";
-    rev = srcRev;
+  src = fetchFromGitHub {
+    owner  = "rust-lang";
+    repo   = "cargo";
+    rev    = version;
     sha256 = srcSha;
   };
 
-  inherit depsSha256;
+  inherit cargoSha256;
   inherit patches;
 
   passthru.rustc = rustc;
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index 0d7e26e06f47..c42c958b170c 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -6,30 +6,31 @@
 
 let
   rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
-  version = "1.17.0";
+  version = "1.20.0";
 in
 rec {
   rustc = callPackage ./rustc.nix {
     inherit llvm targets targetPatches targetToolchains rustPlatform version;
 
+    forceBundledLLVM = true;
+
     configureFlags = [ "--release-channel=stable" ];
 
     src = fetchurl {
       url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
-      sha256 = "4baba3895b75f2492df6ce5a28a916307ecd1c088dc1fd02dbfa8a8e86174f87";
+      sha256 = "0542y4rnzlsrricai130mqyxl8r6rd991frb4qsnwb27yigqg91a";
     };
 
     patches = [
-      ./patches/darwin-disable-fragile-tcp-tests.patch
+      ./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 {
-    version = "0.18.0";
-    srcRev = "fe7b0cdcf5ca7aab81630706ce40b70f6aa2e666";
-    srcSha = "164iywv1l3v87b0pznf5kkzxigd6w19myv9d7ka4c65zgrk9n9px";
-    depsSha256 = "1mrgd8ib48vxxbhkvsqqq4p19sc6b74x3cd8p6lhhlm6plrajrvm";
+    version = "0.22.0";
+    srcSha = "0x9pm73hkkd1hq4qrmz8iv91djgpdsxzwll7jari0h77vpwajmw4";
+    cargoSha256 = "0xd0rb8gcqy6xngsx9l30jg3fqrcwccgv904ksqs9c4d44hga0gd";
 
     inherit rustc; # the rustc that will be wrapped by cargo
     inherit rustPlatform; # used to build cargo
diff --git a/pkgs/development/compilers/rust/nightly.nix b/pkgs/development/compilers/rust/nightly.nix
deleted file mode 100644
index 37a234ea129e..000000000000
--- a/pkgs/development/compilers/rust/nightly.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, callPackage, rustPlatform, llvm, fetchurl
-, targets ? []
-, targetToolchains ? []
-, targetPatches ? []
-}:
-
-rec {
-  rustc = callPackage ./rustc.nix {
-    inherit llvm targets targetPatches targetToolchains rustPlatform;
-
-    version = "nightly-2017-05-30";
-
-    configureFlags = [ "--release-channel=nightly" ];
-
-    src = fetchurl {
-      url = "https://static.rust-lang.org/dist/2017-05-30/rustc-nightly-src.tar.gz";
-      sha256 = "90ce76db56a93f1b4532f2e62bbf12c243c4d156662b0d80c25319211ee7d0e0";
-    };
-
-    patches = [
-      ./patches/darwin-disable-fragile-tcp-tests.patch
-    ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
-
-    doCheck = false;
-    broken = true;
-  };
-
-  cargo = callPackage ./cargo.nix rec {
-    version = "0.18.0";
-    srcRev = "fe7b0cdcf5ca7aab81630706ce40b70f6aa2e666";
-    srcSha = "164iywv1l3v87b0pznf5kkzxigd6w19myv9d7ka4c65zgrk9n9px";
-    depsSha256 = "1mrgd8ib48vxxbhkvsqqq4p19sc6b74x3cd8p6lhhlm6plrajrvm";
-
-    inherit rustc; # the rustc that will be wrapped by cargo
-    inherit rustPlatform; # used to build cargo
-  };
-}
diff --git a/pkgs/development/compilers/rust/nightlyBin.nix b/pkgs/development/compilers/rust/nightlyBin.nix
deleted file mode 100644
index af06835c5def..000000000000
--- a/pkgs/development/compilers/rust/nightlyBin.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, cacert, zlib, buildRustPackage, curl }:
-
-let
-  platform = if stdenv.system == "x86_64-linux"
-    then "x86_64-unknown-linux-gnu"
-    else throw "missing bootstrap url for platform ${stdenv.system}";
-
-  bootstrapHash =
-    if stdenv.system == "x86_64-linux"
-    then "0svlm4bxsdhdn4jsv46f278kid23a9w978q2137qrba4xnyb06kf"
-    else throw "missing bootstrap hash for platform ${stdenv.system}";
-
-  src = fetchurl {
-     url = "https://static.rust-lang.org/dist/${version}/rust-nightly-${platform}.tar.gz";
-     sha256 = bootstrapHash;
-  };
-
-  version = "2017-06-26";
-in import ./binaryBuild.nix
-  { inherit stdenv fetchurl makeWrapper cacert zlib buildRustPackage curl;
-    inherit version src platform;
-    versionType = "nightly";
-  }
diff --git a/pkgs/development/compilers/rust/patches/darwin-disable-fragile-tcp-tests.patch b/pkgs/development/compilers/rust/patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch
index da550f0327d3..f55d0badb823 100644
--- a/pkgs/development/compilers/rust/patches/darwin-disable-fragile-tcp-tests.patch
+++ b/pkgs/development/compilers/rust/patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch
@@ -1,17 +1,18 @@
-From 1d8a91d5b09cb762fe890d04bfb61b9eefd0624a Mon Sep 17 00:00:00 2001
-From: Moritz Ulrich <moritz@tarn-vedra.de>
-Date: Sun, 8 Jan 2017 10:28:17 +0100
-Subject: [PATCH] Disable libstd::net::tcp::{ttl, timeouts} on Darwin
+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 | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
+ 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 0e7c5b0671..d42fd26267 100644
+index 8d1e7882e5..2c223fb315 100644
 --- a/src/libstd/net/tcp.rs
 +++ b/src/libstd/net/tcp.rs
-@@ -551,6 +551,7 @@ mod tests {
+@@ -949,6 +949,7 @@ mod tests {
          })
      }
  
@@ -19,7 +20,7 @@ index 0e7c5b0671..d42fd26267 100644
      #[test]
      fn write_close() {
          each_ip(&mut |addr| {
-@@ -1022,7 +1023,10 @@ mod tests {
+@@ -1421,7 +1422,10 @@ mod tests {
  
      // FIXME: re-enabled bitrig/openbsd tests once their socket timeout code
      //        no longer has rounding errors.
@@ -31,7 +32,7 @@ index 0e7c5b0671..d42fd26267 100644
      #[test]
      fn timeouts() {
          let addr = next_test_ip4();
-@@ -1101,6 +1105,7 @@ mod tests {
+@@ -1500,6 +1504,7 @@ mod tests {
          assert_eq!(false, t!(stream.nodelay()));
      }
  
@@ -39,6 +40,14 @@ index 0e7c5b0671..d42fd26267 100644
      #[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.11.0
+2.14.2
 
diff --git a/pkgs/development/compilers/rust/patches/disable-lockfile-check-beta.patch b/pkgs/development/compilers/rust/patches/disable-lockfile-check-beta.patch
deleted file mode 100644
index a6fe3413fd21..000000000000
--- a/pkgs/development/compilers/rust/patches/disable-lockfile-check-beta.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5702d7cdb2bed7ac3af3c01087b181da35f6e108 Mon Sep 17 00:00:00 2001
-From: joachim schiele <js@lastlog.de>
-Date: Thu, 24 Nov 2016 22:25:48 +0100
-Subject: [PATCH 2/2] asdf
-
----
- src/tools/tidy/src/main.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/tools/tidy/src/main.rs b/src/tools/tidy/src/main.rs
-index cabaee5..685df94 100644
---- a/src/tools/tidy/src/main.rs
-+++ b/src/tools/tidy/src/main.rs
-@@ -48,7 +48,7 @@ fn main() {
-     errors::check(&path, &mut bad);
-     cargo::check(&path, &mut bad);
-     features::check(&path, &mut bad);
--    cargo_lock::check(&path, &mut bad);
-+    //cargo_lock::check(&path, &mut bad);
-     pal::check(&path, &mut bad);
- 
-     if bad {
--- 
-2.10.0
-
diff --git a/pkgs/development/compilers/rust/patches/disable-lockfile-check-nightly.patch b/pkgs/development/compilers/rust/patches/disable-lockfile-check-nightly.patch
deleted file mode 100644
index c89d22dcb1ea..000000000000
--- a/pkgs/development/compilers/rust/patches/disable-lockfile-check-nightly.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From ac204f8be95cdb2350a1dd893641e38528aaf01d Mon Sep 17 00:00:00 2001
-From: joachim schiele <js@lastlog.de>
-Date: Fri, 25 Nov 2016 02:17:02 +0100
-Subject: [PATCH] asdf
-
----
- src/tools/tidy/src/main.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/tools/tidy/src/main.rs b/src/tools/tidy/src/main.rs
-index cb11fe2..c9b7d2a 100644
---- a/src/tools/tidy/src/main.rs
-+++ b/src/tools/tidy/src/main.rs
-@@ -45,7 +45,7 @@ fn main() {
-     bins::check(&path, &mut bad);
-     style::check(&path, &mut bad);
-     errors::check(&path, &mut bad);
--    cargo::check(&path, &mut bad);
-+    //cargo::check(&path, &mut bad);
-     features::check(&path, &mut bad);
-     pal::check(&path, &mut bad);
- 
--- 
-2.10.0
-
diff --git a/pkgs/development/compilers/rust/print-hashes.sh b/pkgs/development/compilers/rust/print-hashes.sh
index da52ac37ab30..f3d094d65a8a 100755
--- a/pkgs/development/compilers/rust/print-hashes.sh
+++ b/pkgs/development/compilers/rust/print-hashes.sh
@@ -1,4 +1,5 @@
 #!/usr/bin/env bash
+set -euo pipefail
 
 # All rust-related downloads can be found at
 # https://static.rust-lang.org/dist/index.html.  To find the date on
@@ -6,25 +7,30 @@
 # file, e.g.
 # https://static.rust-lang.org/dist/channel-rust-beta-date.txt
 
-PLATFORMS="i686-unknown-linux-gnu x86_64-unknown-linux-gnu i686-apple-darwin x86_64-apple-darwin"
-BASEURL="https://static.rust-lang.org/dist"
-DATE=$1
-VERSION=$2
+PLATFORMS=(
+  i686-unknown-linux-gnu
+  x86_64-unknown-linux-gnu
+  i686-apple-darwin
+  x86_64-apple-darwin
+)
+BASEURL=https://static.rust-lang.org/dist
+VERSION=${1:-}
+DATE=${2:-}
 
-if [[ -z  $DATE ]]
+if [[ -z $VERSION ]]
 then
-    echo "No date supplied"
+    echo "No version supplied"
     exit -1
 fi
 
-if [[ -z  $VERSION ]]
+if [[ -n $DATE ]]
 then
-    echo "No version supplied"
-    exit -1
+    BASEURL=$BASEURL/$DATE
 fi
 
-for PLATFORM in $PLATFORMS
+for PLATFORM in "${PLATFORMS[@]}"
 do
-    URL="$BASEURL/$DATE/rust-$VERSION-$PLATFORM.tar.gz.sha256"
-    curl $URL
+    URL="$BASEURL/rust-$VERSION-$PLATFORM.tar.gz.sha256"
+    SHA256=$(curl -sSfL $URL | cut -d ' ' -f 1)
+    echo "$PLATFORM = \"$SHA256\";"
 done
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 73d78319b8c7..6eb160add26e 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -48,15 +48,18 @@ stdenv.mkDerivation {
   configureFlags = configureFlags
                 ++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" ]
                 ++ [ "--enable-vendor" "--disable-locked-deps" ]
-                ++ [ "--enable-llvm-link-shared" ]
                 # ++ [ "--jemalloc-root=${jemalloc}/lib"
                 ++ [ "--default-linker=${stdenv.cc}/bin/cc" "--default-ar=${binutils.out}/bin/ar" ]
+                ++ optional (!forceBundledLLVM) [ "--enable-llvm-link-shared" ]
                 ++ optional (stdenv.cc.cc ? isClang) "--enable-clang"
                 ++ optional (targets != []) "--target=${target}"
                 ++ optional (!forceBundledLLVM) "--llvm-root=${llvmShared}";
 
   patches = patches ++ targetPatches;
 
+  # the rust build system complains that nix alters the checksums
+  dontFixLibtool = true;
+
   passthru.target = target;
 
   postPatch = ''
diff --git a/pkgs/development/compilers/souffle/default.nix b/pkgs/development/compilers/souffle/default.nix
index 217b2aecd334..c56ea8cc6495 100644
--- a/pkgs/development/compilers/souffle/default.nix
+++ b/pkgs/development/compilers/souffle/default.nix
@@ -29,7 +29,8 @@ stdenv.mkDerivation rec {
 
   preConfigure = "./bootstrap";
 
-  enableParallelBuilding = true;
+  # in 1.0.0: parser.hh:40:0: error: unterminated #ifndef
+  enableParallelBuilding = false;
 
   # See https://github.com/souffle-lang/souffle/issues/176
   hardeningDisable = [ "fortify" ];
diff --git a/pkgs/development/coq-modules/QuickChick/default.nix b/pkgs/development/coq-modules/QuickChick/default.nix
index 1ce559b325e7..688182f4e5eb 100644
--- a/pkgs/development/coq-modules/QuickChick/default.nix
+++ b/pkgs/development/coq-modules/QuickChick/default.nix
@@ -19,6 +19,12 @@ let param =
       rev = "366ee3f8e599b5cab438a63a09713f44ac544c5a";
       sha256 = "06kwnrfndnr6w8bmaa2s0i0rkqyv081zj55z3vcyn0wr6x6mlsz9";
     };
+
+    "8.7" = {
+      version = "20170616";
+      rev = "366ee3f8e599b5cab438a63a09713f44ac544c5a";
+      sha256 = "06kwnrfndnr6w8bmaa2s0i0rkqyv081zj55z3vcyn0wr6x6mlsz9";
+    };
   }."${coq.coq-version}"
 ; in
 
diff --git a/pkgs/development/coq-modules/coq-ext-lib/default.nix b/pkgs/development/coq-modules/coq-ext-lib/default.nix
index ed9312b5c57e..5ebf07922776 100644
--- a/pkgs/development/coq-modules/coq-ext-lib/default.nix
+++ b/pkgs/development/coq-modules/coq-ext-lib/default.nix
@@ -5,6 +5,7 @@ let param =
     "8.4" = { version = "0.9.0"; sha256 = "1n3bk003vvbghbrxkhal6drnc0l65jv9y77wd56is3jw9xgiif0w"; };
     "8.5" = { version = "0.9.4"; sha256 = "1y66pamgsdxlq2w1338lj626ln70cwj7k53hxcp933g8fdsa4hp0"; };
     "8.6" = { version = "0.9.5"; sha256 = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg"; };
+    "8.7" = { version = "0.9.5"; sha256 = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg"; };
   }."${coq.coq-version}";
 in
 
diff --git a/pkgs/development/coq-modules/coquelicot/default.nix b/pkgs/development/coq-modules/coquelicot/default.nix
index 6f58c387586a..84f95d4ddea3 100644
--- a/pkgs/development/coq-modules/coquelicot/default.nix
+++ b/pkgs/development/coq-modules/coquelicot/default.nix
@@ -16,6 +16,7 @@ let param =
   "8.4" = v2_1_1;
   "8.5" = v3_0_1;
   "8.6" = v3_0_1;
+  "8.7" = v3_0_1;
 }."${coq.coq-version}"; in
 
 stdenv.mkDerivation {
diff --git a/pkgs/development/coq-modules/dpdgraph/default.nix b/pkgs/development/coq-modules/dpdgraph/default.nix
index 65be1f4e0667..aec3828f323e 100644
--- a/pkgs/development/coq-modules/dpdgraph/default.nix
+++ b/pkgs/development/coq-modules/dpdgraph/default.nix
@@ -1,6 +1,11 @@
 { stdenv, fetchFromGitHub, autoreconfHook, coq, ocamlPackages }:
 
 let param = {
+  "8.7" = {
+    version = "0.6.1";
+    rev = "c3b87af6bfa338e18b83f014ebd0e56e1f611663";
+    sha256 = "1jaafkwsb5450378nprjsds1illgdaq60gryi8kspw0i25ykz2c9";
+  };
   "8.6" = {
     version = "0.6.1";
     rev = "c3b87af6bfa338e18b83f014ebd0e56e1f611663";
diff --git a/pkgs/development/coq-modules/fiat/HEAD.nix b/pkgs/development/coq-modules/fiat/HEAD.nix
index fe9f3307b7aa..dc411763da5c 100644
--- a/pkgs/development/coq-modules/fiat/HEAD.nix
+++ b/pkgs/development/coq-modules/fiat/HEAD.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
     description = "A library for the Coq proof assistant for synthesizing efficient correct-by-construction programs from declarative specifications";
     maintainers = with maintainers; [ jwiegley ];
     platforms = coq.meta.platforms;
+    broken = stdenv.lib.versionAtLeast coq.coq-version "8.6";
   };
 
 }
diff --git a/pkgs/development/libraries/gnu-efi/default.nix b/pkgs/development/libraries/gnu-efi/default.nix
index e3b345b31ee9..6691928c021e 100644
--- a/pkgs/development/libraries/gnu-efi/default.nix
+++ b/pkgs/development/libraries/gnu-efi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnu-efi-${version}";
-  version = "3.0.5";
+  version = "3.0.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnu-efi/${name}.tar.bz2";
-    sha256 = "08hb2gpzcj5p743wcagm0j2m4gh100xv12llpbjc13zi2icwv3xx";
+    sha256 = "149cyadpn2jm4zxfn1qmpm520iqssp9p07d650rs5ghgv015jl91";
   };
 
   buildInputs = [ pciutils ];
diff --git a/pkgs/development/libraries/iniparser/default.nix b/pkgs/development/libraries/iniparser/default.nix
index 256d7cbdc878..a09bcd6f039c 100644
--- a/pkgs/development/libraries/iniparser/default.nix
+++ b/pkgs/development/libraries/iniparser/default.nix
@@ -1,18 +1,24 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub }:
 
 let
   inherit (stdenv.lib) optional;
-in
-stdenv.mkDerivation rec{
-  name = "iniparser-3.1";
 
-  src = fetchurl {
-    url = "${meta.homepage}/iniparser-3.1.tar.gz";
-    sha256 = "1igmxzcy0s25zcy9vmcw0kd13lh60r0b4qg8lnp1jic33f427pxf";
+in stdenv.mkDerivation rec {
+  name = "iniparser-${version}";
+  version = "4.0";
+
+  src = fetchFromGitHub {
+    owner = "ndevilla";
+    repo = "iniparser";
+    rev = "v${version}";
+    sha256 = "0339qa0qxa5z02xjcs5my8v91v0r9jm4piswrl1sa29kwyxgv5nb";
   };
 
   patches = ./no-usr.patch;
 
+  doCheck = true;
+  preCheck = "patchShebangs test/make-tests.sh";
+
   # TODO: Build dylib on Darwin
   buildFlags = (if stdenv.isDarwin then [ "libiniparser.a" ] else [ "libiniparser.so" ]) ++ [ "CC=cc" ];
 
@@ -23,7 +29,7 @@ stdenv.mkDerivation rec{
     cp src/*.h $out/include
 
     mkdir -p $out/share/doc/${name}
-    for i in AUTHORS INSTALL LICENSE README; do
+    for i in AUTHORS INSTALL LICENSE README.md; do
       bzip2 -c -9 $i > $out/share/doc/${name}/$i.bz2;
     done;
     cp -r html $out/share/doc/${name}
@@ -36,7 +42,7 @@ stdenv.mkDerivation rec{
   '');
 
   meta = {
-    homepage = http://ndevilla.free.fr/iniparser;
+    inherit (src.meta) homepage;
     description = "Free standalone ini file parsing library";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/iniparser/no-usr.patch b/pkgs/development/libraries/iniparser/no-usr.patch
index 28be099b8eec..a3c568cdde43 100644
--- a/pkgs/development/libraries/iniparser/no-usr.patch
+++ b/pkgs/development/libraries/iniparser/no-usr.patch
@@ -1,14 +1,13 @@
-diff -urN iniparser3.0b.orig/Makefile iniparser3.0b/Makefile
---- iniparser3.0b.orig/Makefile	2008-01-16 19:56:08.000000000 +0100
-+++ iniparser3.0b/Makefile	2008-01-16 19:56:49.000000000 +0100
-@@ -11,8 +11,8 @@
+--- a/Makefile	2017-10-20 20:30:41.494608284 +0200
++++ b/Makefile	2017-10-20 20:33:22.279212026 +0200
+@@ -20,8 +20,8 @@
  ARFLAGS = rcv
  
  SHLD = ${CC} ${CFLAGS}
--LDSHFLAGS = -shared -Wl,-Bsymbolic  -Wl,-rpath -Wl,/usr/lib -Wl,-rpath,/usr/lib
--LDFLAGS = -Wl,-rpath -Wl,/usr/lib -Wl,-rpath,/usr/lib
+-LDSHFLAGS = -shared -Wl,-Bsymbolic
+-LDFLAGS += -Wl,-rpath -Wl,/usr/lib -Wl,-rpath,/usr/lib
 +LDSHFLAGS = -shared
 +LDFLAGS =
  
- # Set RANLIB to ranlib on systems that require it (Sun OS < 4, Mac OSX)
- # RANLIB  = ranlib
+ # .so.0 is for version 3.x, .so.1 is 4.x
+ SO_TARGET ?= libiniparser.so.1
diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix
index 5e906c7ac5de..c73096d1eeb5 100644
--- a/pkgs/development/libraries/libbsd/default.nix
+++ b/pkgs/development/libraries/libbsd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libbsd-${version}";
-  version = "0.8.5";
+  version = "0.8.6";
 
   src = fetchurl {
     url = "http://libbsd.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "0a2vq0xdhs3yyj91b0612f19fakg7a9xlqy2f993128kyhjd0ivn";
+    sha256 = "11wnkzims5grprvhb1ssmq9pc2lcgh2r2rk8gwgz36ply6fvyzs6";
   };
 
   # darwin changes configure.ac which means we need to regenerate
diff --git a/pkgs/development/libraries/unibilium/default.nix b/pkgs/development/libraries/unibilium/default.nix
index 4742e2170131..53207f855418 100644
--- a/pkgs/development/libraries/unibilium/default.nix
+++ b/pkgs/development/libraries/unibilium/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "unibilium-${version}";
 
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "mauke";
     repo = "unibilium";
     rev = "v${version}";
-    sha256 = "1qsw19irg70l29j7qv403f32l4rrzn53w7881a6h874j9gisl51s";
+    sha256 = "11mbfijdrvbmdlmxs8j4vij78ki0vna89yg3r9n9g1i6j45hiq2r";
   };
 
   makeFlags = [ "PREFIX=$(out)" ]
diff --git a/pkgs/development/misc/loc/default.nix b/pkgs/development/misc/loc/default.nix
index 681e6fcc528a..fd5796276f7a 100644
--- a/pkgs/development/misc/loc/default.nix
+++ b/pkgs/development/misc/loc/default.nix
@@ -3,17 +3,17 @@
 with rustPlatform;
 
 buildRustPackage rec {
-  version = "0.3.4";
+  version = "2017-06-23";
   name = "loc-${version}";
 
   src = fetchFromGitHub {
     owner = "cgag";
     repo = "loc";
-    rev = "9f3590f6299a1be3560f00de7f4f8bef61a02642";
-    sha256 = "0dga8prwnnmsa616jh64wzic957ff0491xghm0bjlns35ajc8lif";
+    rev = "bbea575f56879ef614d57a42a6b79fd45b9a8b38";
+    sha256 = "0agyhi55rh248fmlsip4fi1iw4xv3433q7bcb2lpjfnjpzxxlvfn";
   };
 
-  depsSha256 = "1xcfhbnz208dk7xb748v8kv28zbhyr7wqg9gsgbiw3lnvc2a3nn6";
+  cargoSha256 = "0f3i8av9g19r2nhr9m8ca8s23kq294c5kqyvx155l6p76r7a9kvb";
 
   meta = {
     homepage = http://github.com/cgag/loc;
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index ab949f4f1f22..2ce2faa7e8d6 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -1,15 +1,22 @@
 { stdenv, fetchzip, ocaml, findlib, cppo, easy-format, biniou }:
 let
   pname = "yojson";
-  version = "1.2.3";
+  param =
+  if stdenv.lib.versionAtLeast ocaml.version "4.01" then {
+    version = "1.3.3";
+    sha256 = "02l11facbr6bxrxq95vrcp1dxapp02kv7g4gq8rm62pb3dj5c6g7";
+  } else {
+    version = "1.2.3";
+    sha256 = "10dvkndgwanvw4agbjln7kgb1n9s6lii7jw82kwxczl5rd1sgmvl";
+  };
 in
 stdenv.mkDerivation {
 
-  name = "ocaml-${pname}-${version}";
+  name = "ocaml${ocaml.version}-${pname}-${param.version}";
 
   src = fetchzip {
-    url = "https://github.com/mjambon/${pname}/archive/v${version}.tar.gz";
-    sha256 = "10dvkndgwanvw4agbjln7kgb1n9s6lii7jw82kwxczl5rd1sgmvl";
+    url = "https://github.com/mjambon/${pname}/archive/v${param.version}.tar.gz";
+    inherit (param) sha256;
   };
 
   buildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index 5f54fb12ec23..9fb16bb03021 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.8.2";
+  version = "8.8.4";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xwis5hvp2wmnzqxax8896vhyb3q2fs9l9ilvyr44jdh3342dxpx";
+    sha256 = "01kim7mwgm97wysclhyxcwvd2a8ifinaidkskglx7b2k0r7ji5sj";
   };
 
   meta = {
diff --git a/pkgs/development/tools/analysis/massif-visualizer/default.nix b/pkgs/development/tools/analysis/massif-visualizer/default.nix
index f3195a23f883..99958a416c39 100644
--- a/pkgs/development/tools/analysis/massif-visualizer/default.nix
+++ b/pkgs/development/tools/analysis/massif-visualizer/default.nix
@@ -1,22 +1,30 @@
-{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig
-, kdelibs4, kgraphviewer }:
+{
+  mkDerivation, lib, fetchurl,
+  extra-cmake-modules, shared_mime_info,
+  qtsvg, qtxmlpatterns, karchive, kconfig, kcoreaddons, kparts, kio, ki18n,
+  kdiagram, kgraphviewer
+}:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   name = "massif-visualizer-${version}";
-  version = "0.4.0";
+  version = "0.7.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/massif-visualizer/${version}/src/${name}.tar.xz";
-    sha256 = "0yawzp5lw7ryjcpqkhz70q4hc5hwq5imq5lgqnwgss057zcln7z8";
+    sha256 = "0v8z6r9gngzckvqyxjm9kp7hilwfqibyk2f9vag9l98ar0iwr97q";
   };
 
-  nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
-  buildInputs = [ kdelibs4 kgraphviewer ];
+  nativeBuildInputs = [ extra-cmake-modules shared_mime_info ];
 
-  meta = with stdenv.lib; {
+  buildInputs = [
+    qtsvg qtxmlpatterns karchive kconfig kcoreaddons kparts kio ki18n
+    kdiagram kgraphviewer
+  ];
+
+  meta = with lib; {
     description = "Tool that visualizes massif data generated by valgrind";
     license = licenses.gpl2;
     platforms = platforms.linux;
-    maintainers = [ maintainers.lethalman ];
+    maintainers = with maintainers; [ lethalman zraexy ];
   };
 }
diff --git a/pkgs/development/tools/clog-cli/default.nix b/pkgs/development/tools/clog-cli/default.nix
index f64ead3e1078..1cd8f7757f96 100644
--- a/pkgs/development/tools/clog-cli/default.nix
+++ b/pkgs/development/tools/clog-cli/default.nix
@@ -13,7 +13,7 @@ buildRustPackage rec {
     sha256 = "1wxglc4n1dar5qphhj5pab7ps34cjr7jy611fwn72lz0f6c7jp3z";
   };
 
-  depsSha256 = "0gkg3bxx7nxsvff33n7pif731djfvlzk0msia27h0wq0mazq7kw3";
+  cargoSha256 = "1pi8fh6vz6m5hr38wm0v0hxp1yxm1ma8yzish3b78zkv8f90kmv0";
 
   meta = {
     description = "Generate changelogs from local git metadata";
diff --git a/pkgs/development/tools/git-series/default.nix b/pkgs/development/tools/git-series/default.nix
index b792cfe8c994..44120ad023ae 100644
--- a/pkgs/development/tools/git-series/default.nix
+++ b/pkgs/development/tools/git-series/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, rustPlatform, openssl, cmake, perl, pkgconfig, zlib }:
+{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform, openssl, cmake, perl, pkgconfig, zlib }:
 
 with rustPlatform;
 
@@ -13,14 +13,24 @@ buildRustPackage rec {
     sha256 = "07mgq5h6r1gf3jflbv2khcz32bdazw7z1s8xcsafdarnm13ps014";
   };
 
-  depsSha256 = "1xypk9ck7znca0nqm61m5ngpz6q7c0wydlpwxq4mnkd1np27xn53";
+  cargoSha256 = "06w864f73kijq24xzljfaf47d97aqyg4md3crzbq8hns157m3sv2";
+
+  cargoDepsHook = ''
+    (
+      cd ${name}-src
+      # see https://github.com/git-series/git-series/pull/56
+      patch -p1 < ${fetchpatch {
+        url = "https://github.com/Mic92/git-series/commit/3aa30a47d74ebf90b444dccdf8c153f07f119483.patch";
+        sha256 = "06v8br9skvy75kcw2zgbswxyk82sqzc8smkbqpzmivxlc2i9rnh0";
+      }}
+    )
+  '';
 
   nativeBuildInputs = [ cmake pkgconfig perl ];
   buildInputs = [ openssl zlib ];
 
   postBuild = ''
-    mkdir -p "$out/man/man1"
-    cp "$src/git-series.1" "$out/man/man1"
+    install -D "$src/git-series.1" "$out/man/man1/git-series.1"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/misc/tokei/default.nix b/pkgs/development/tools/misc/tokei/default.nix
index c0a56648db97..b44548c8ffd3 100644
--- a/pkgs/development/tools/misc/tokei/default.nix
+++ b/pkgs/development/tools/misc/tokei/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "1bzs3mr6f9bna39b9ddwwq0raas07nbn106mnq3widxg59i0gxhd";
   };
 
-  depsSha256 = "1cz93mrpxmyrza0ipdyg2a6mynl66plpsb446wxnmmy7y7zd6xbf";
+  cargoSha256 = "0y0rkxhkv31v5sa0425dwskd80i6srwbqhqkrw1g1kbmbs9y0vxz";
 
   installPhase = ''
     mkdir -p $out/bin
@@ -19,6 +19,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with stdenv.lib; {
+    broken = true;
     description = "Count code, quickly";
     homepage = https://github.com/Aaronepower/tokei;
     license = licenses.mit;
diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
index a6252a5c729d..904e070e5115 100644
--- a/pkgs/development/tools/ocaml/merlin/default.nix
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchzip, ocaml, findlib, yojson, lib
+{ stdenv, fetchzip, ocaml, findlib, yojson
 , withEmacsMode ? false, emacs }:
 
-assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.00";
+assert stdenv.lib.versionAtLeast ocaml.version "4.02";
 
 let
-  version = "3.0.2";
+  version = "3.0.3";
 in
 
 stdenv.mkDerivation {
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchzip {
     url = "https://github.com/ocaml/merlin/archive/v${version}.tar.gz";
-    sha256 = "0lcgafs5ip8vhvrp1d7yv6mzjsirmayd83cj4wwq6zxcrl7yv4x8";
+    sha256 = "19gz9vcdna84xcm2b53m6b5g4c7ppb61j05fnvry3shvjiz2p58p";
   };
 
   buildInputs = [ ocaml findlib yojson ]
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "An editor-independent tool to ease the development of programs in OCaml";
-    homepage = http://the-lambda-church.github.io/merlin/;
+    homepage = "https://github.com/ocaml/merlin";
     license = licenses.mit;
     maintainers = [ maintainers.vbgl ];
   };
diff --git a/pkgs/development/tools/rq/default.nix b/pkgs/development/tools/rq/default.nix
index eef8b660c41d..ca2aea2399f0 100644
--- a/pkgs/development/tools/rq/default.nix
+++ b/pkgs/development/tools/rq/default.nix
@@ -13,7 +13,7 @@ buildRustPackage rec {
     sha256 = "066f6sdy0vrp113wlg18q9p0clyrg9iqbj17ly0yn8dxr5iar002";
   };
 
-  depsSha256 = "138h0q2a2gghfjpwfi11zw4rkipvmglb7srqz56ibbw2xliid2wl";
+  cargoSha256 = "0c4awm1d87b396d3g3mp1md5p92i5a64a9jdawpr8mwjd0bly05m";
 
   buildInputs = [ llvmPackages.clang-unwrapped v8 ];
 
diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix
index 78a327c9ea15..1240e7cc38f4 100644
--- a/pkgs/development/tools/rust/bindgen/default.nix
+++ b/pkgs/development/tools/rust/bindgen/default.nix
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
     wrapProgram $out/bin/bindgen --set LIBCLANG_PATH "${llvmPackages.clang-unwrapped}/lib"
   '';
 
-  depsSha256 = "06b5zyw9p7h73h30c1nlnwjb0zmkfx52wqsl9b14y9hx51g9bw0r";
+  cargoSha256 = "128skg31lc9v8i7ghfb3wyiazivqfvzhi1mvmjcl0gkx1hi5006v";
 
   doCheck = false; # A test fails because it can't find standard headers in NixOS
 
diff --git a/pkgs/development/tools/rust/racer/default.nix b/pkgs/development/tools/rust/racer/default.nix
index 89c384eb6eca..57b685e946d0 100644
--- a/pkgs/development/tools/rust/racer/default.nix
+++ b/pkgs/development/tools/rust/racer/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "06k50f2vj2w08afh3nrlhs0amcvw2i45bhfwr70sgs395xicjswp";
   };
 
-  depsSha256 = "1gywnjbjl9jalbq6wkfmbczav4qbhgw2h8lyxkyppnhw9y4j0nc1";
+  cargoSha256 = "1w5imxyqlyv24dvzncq6dy01zn2x8p1aciyvzh8ac1x1wdjcacjc";
 
   buildInputs = [ makeWrapper ];
 
diff --git a/pkgs/development/tools/rust/racerd/default.nix b/pkgs/development/tools/rust/racerd/default.nix
index b2340e01c1a5..f3cb4e789502 100644
--- a/pkgs/development/tools/rust/racerd/default.nix
+++ b/pkgs/development/tools/rust/racerd/default.nix
@@ -14,7 +14,7 @@ buildRustPackage rec {
 
   doCheck = false;
 
-  depsSha256 = "0db18m0vxzvg821gb5g8njhlnxw7im81m089i4982n8hmnhm1497";
+  cargoSha256 = "1h7hm7vkk1grah6pn5ydfi5pzc2kd48lh2kxim5jlvrxhd2dingg";
 
   buildInputs = [ makeWrapper ];
 
diff --git a/pkgs/development/tools/rust/rainicorn/default.nix b/pkgs/development/tools/rust/rainicorn/default.nix
index b6cbeb88402b..370318d1ff29 100644
--- a/pkgs/development/tools/rust/rainicorn/default.nix
+++ b/pkgs/development/tools/rust/rainicorn/default.nix
@@ -13,9 +13,10 @@ buildRustPackage rec {
     sha256 = "07vh4g120sx569wkzclq91blkkd7q7z582pl8vz0li1l9ij8md01";
   };
 
-  depsSha256 = "1ckrf77s1glrqi0gvrv9wqmip4i97dk0arn0iz87jg4q2wfss85k";
+  cargoSha256 = "14kd25mw6m20blqcr221cclcqxw0j229zxq8hsaay6q7jgv0c7a0";
 
   meta = with stdenv.lib; {
+    broken = true;
     description = "Rust IDEs.  parse-analysis";
     homepage = https://github.com/RustDT/Rainicorn;
     license = with licenses; [ mit asl20 ];
diff --git a/pkgs/development/tools/rust/rustfmt/default.nix b/pkgs/development/tools/rust/rustfmt/default.nix
index 0e3802a214f1..b8585dace544 100644
--- a/pkgs/development/tools/rust/rustfmt/default.nix
+++ b/pkgs/development/tools/rust/rustfmt/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "12l3ff0s0pzhcf5jbs8wqawjk4jghhhz8j6dq1n5201yvny12jlr";
   };
 
-  depsSha256 = "1nnb2lpzjf6hv1a7cw3cbkc22fb54rsp6h87wzmqi4hsy1csff7a";
+  cargoSha256 = "0gppki9mgx99xipapg36ydwk1bplygnz6sbyzbg46vhn10iggfwm";
 
   meta = with stdenv.lib; {
     description = "A tool for formatting Rust code according to style guidelines";
diff --git a/pkgs/development/tools/rust/rustup/default.nix b/pkgs/development/tools/rust/rustup/default.nix
index 59cdf443f4ab..65599ad8d18f 100644
--- a/pkgs/development/tools/rust/rustup/default.nix
+++ b/pkgs/development/tools/rust/rustup/default.nix
@@ -6,7 +6,7 @@ rustPlatform.buildRustPackage rec {
   name = "rustup-${version}";
   version = "1.3.0";
 
-  depsSha256 = "078hssgffgpakv735p1xg60kic151r2dvpdr9sipb63lwqr4dxfb";
+  cargoSha256 = "1yd7k0jpx78p5bp6iyzgbyj7pjz8vyjg9g7fmf1bl60jsbdpgv3g";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix
index 679716d33c70..5ce324e7a60f 100644
--- a/pkgs/development/web/nodejs/build-node-package.nix
+++ b/pkgs/development/web/nodejs/build-node-package.nix
@@ -145,7 +145,7 @@ let
         function replaceImpureVersionSpec(versionSpec) {
             var parsedUrl = url.parse(versionSpec);
 
-            if(versionSpec == "latest" || versionSpec == "unstable" ||
+            if(versionSpec == "" || versionSpec == "latest" || versionSpec == "unstable" ||
                 versionSpec.substr(0, 2) == ".." || dependency.substr(0, 2) == "./" || dependency.substr(0, 2) == "~/" || dependency.substr(0, 1) == '/' || /^[^/]+\/[^/]+$/.test(versionSpec))
                 return '*';
             else if(parsedUrl.protocol == "git:" || parsedUrl.protocol == "git+ssh:" || parsedUrl.protocol == "git+http:" || parsedUrl.protocol == "git+https:" ||