summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2017-01-26 16:49:41 +0100
committerVladimír Čunát <vcunat@gmail.com>2017-01-26 16:49:41 +0100
commit6973c7739ea1581595931e8c8b3b76241083b2df (patch)
treef56826492e0e260f24aeeedd2e47d36785ba3519 /pkgs/development
parent5dacc53af3f4537fab693952b5f13b6cafcde6d4 (diff)
parentbca9bcb3c3dd3b2e46f8e07db9a8326de01697c7 (diff)
downloadnixlib-6973c7739ea1581595931e8c8b3b76241083b2df.tar
nixlib-6973c7739ea1581595931e8c8b3b76241083b2df.tar.gz
nixlib-6973c7739ea1581595931e8c8b3b76241083b2df.tar.bz2
nixlib-6973c7739ea1581595931e8c8b3b76241083b2df.tar.lz
nixlib-6973c7739ea1581595931e8c8b3b76241083b2df.tar.xz
nixlib-6973c7739ea1581595931e8c8b3b76241083b2df.tar.zst
nixlib-6973c7739ea1581595931e8c8b3b76241083b2df.zip
Merge branch 'master' into staging
There were some larger rebuilds because of security.
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/aspectj/default.nix6
-rw-r--r--pkgs/development/compilers/crystal/default.nix10
-rw-r--r--pkgs/development/compilers/ghc/8.0.2.nix7
-rw-r--r--pkgs/development/compilers/ghc/head.nix7
-rw-r--r--pkgs/development/compilers/go/1.4.nix23
-rw-r--r--pkgs/development/compilers/go/1.6.nix2
-rw-r--r--pkgs/development/compilers/jikes/default.nix2
-rw-r--r--pkgs/development/compilers/meta-environment/meta-build-env/default.nix2
-rw-r--r--pkgs/development/compilers/ocaml/4.04.nix6
-rw-r--r--pkgs/development/compilers/ocaml/generic.nix4
-rw-r--r--pkgs/development/compilers/zulu/default.nix67
-rw-r--r--pkgs/development/coq-modules/mathcomp/default.nix45
-rw-r--r--pkgs/development/coq-modules/mathcomp/generic.nix4
-rw-r--r--pkgs/development/coq-modules/ssreflect/default.nix45
-rw-r--r--pkgs/development/coq-modules/ssreflect/generic.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix74
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix6
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1056
-rw-r--r--pkgs/development/interpreters/php/default.nix15
-rw-r--r--pkgs/development/libraries/cil-aterm/cil-aterm-1.3.6.patch600
-rw-r--r--pkgs/development/libraries/cil-aterm/default.nix13
-rw-r--r--pkgs/development/libraries/fdk-aac/default.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/2.8.nix4
-rw-r--r--pkgs/development/libraries/freealut/default.nix9
-rw-r--r--pkgs/development/libraries/gd/default.nix4
-rw-r--r--pkgs/development/libraries/gtkmozembed-sharp/builder.sh11
-rw-r--r--pkgs/development/libraries/gtkmozembed-sharp/default.nix21
-rw-r--r--pkgs/development/libraries/hunspell/dictionaries.nix230
-rw-r--r--pkgs/development/libraries/java/jjtraveler/default.nix14
-rw-r--r--pkgs/development/libraries/java/lucene/default.nix10
-rw-r--r--pkgs/development/libraries/java/mockobjects/default.nix2
-rw-r--r--pkgs/development/libraries/libav/default.nix4
-rw-r--r--pkgs/development/libraries/libfm/default.nix8
-rw-r--r--pkgs/development/libraries/libjpeg/62.nix33
-rw-r--r--pkgs/development/libraries/liburcu/default.nix2
-rw-r--r--pkgs/development/libraries/nss/85_security_load.patch64
-rw-r--r--pkgs/development/libraries/nss/default.nix18
-rw-r--r--pkgs/development/libraries/nss/nss-3.21-gentoo-fixups.patch243
-rw-r--r--pkgs/development/libraries/opencv/3.x.nix157
-rw-r--r--pkgs/development/libraries/openssl/default.nix18
-rw-r--r--pkgs/development/libraries/postgis/default.nix8
-rw-r--r--pkgs/development/libraries/sqlite/default.nix6
-rw-r--r--pkgs/development/libraries/t1lib/default.nix1
-rw-r--r--pkgs/development/mobile/titaniumenv/build-app.nix2
-rw-r--r--pkgs/development/mobile/titaniumenv/default.nix5
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/default.nix6
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix4
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix2
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-6.0.nix39
-rw-r--r--pkgs/development/mobile/xcodeenv/build-app.nix10
-rw-r--r--pkgs/development/mobile/xcodeenv/default.nix2
-rw-r--r--pkgs/development/mobile/xcodeenv/simulate-app.nix5
-rw-r--r--pkgs/development/mobile/xcodeenv/xcodewrapper.nix2
-rw-r--r--pkgs/development/ocaml-modules/apron/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/mlgmpidl/default.nix36
-rw-r--r--pkgs/development/ocaml-modules/mtime/default.nix29
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-deriving/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/optcomp/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppx_tools/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/spacetime_lib/default.nix27
-rw-r--r--pkgs/development/python-modules/django_guardian.nix26
-rw-r--r--pkgs/development/python-modules/pytest/2_7.nix28
-rw-r--r--pkgs/development/python-modules/pytest/2_8.nix28
-rw-r--r--pkgs/development/python-modules/pytest/2_9.nix28
-rw-r--r--pkgs/development/python-modules/pytest/default.nix24
-rw-r--r--pkgs/development/python-modules/pytestdjango.nix21
-rw-r--r--pkgs/development/tools/ammonite/default.nix6
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix17
-rw-r--r--pkgs/development/tools/analysis/frama-c/dynamic.diff12
-rw-r--r--pkgs/development/tools/apktool/default.nix21
-rw-r--r--pkgs/development/tools/build-managers/drake/Gemfile2
-rw-r--r--pkgs/development/tools/build-managers/drake/Gemfile.lock15
-rw-r--r--pkgs/development/tools/build-managers/drake/default.nix18
-rw-r--r--pkgs/development/tools/build-managers/drake/gemset.nix18
-rw-r--r--pkgs/development/tools/build-managers/gup/build.nix30
-rwxr-xr-xpkgs/development/tools/build-managers/gup/build.nix.gup6
-rw-r--r--pkgs/development/tools/build-managers/gup/default.nix26
-rw-r--r--pkgs/development/tools/build-managers/gup/src.json17
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/guile/g-wrap/default.nix5
-rw-r--r--pkgs/development/tools/java/jclasslib/default.nix2
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix4
-rw-r--r--pkgs/development/tools/msgpack-tools/default.nix23
-rw-r--r--pkgs/development/tools/ocaml/camlidl/default.nix1
-rw-r--r--pkgs/development/tools/ocaml/camlp4/default.nix3
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/default.nix4
-rw-r--r--pkgs/development/tools/parsing/antlr/default.nix24
-rw-r--r--pkgs/development/tools/rtags/default.nix11
-rw-r--r--pkgs/development/tools/vagrant/default.nix3
-rw-r--r--pkgs/development/tools/valadoc/default.nix6
90 files changed, 1709 insertions, 1820 deletions
diff --git a/pkgs/development/compilers/aspectj/default.nix b/pkgs/development/compilers/aspectj/default.nix
index 264e76d038ca..f9e792260335 100644
--- a/pkgs/development/compilers/aspectj/default.nix
+++ b/pkgs/development/compilers/aspectj/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, jre}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "aspectj-1.5.2";
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/technology/aspectj/aspectj-1.5.2.jar;
-    md5 = "64245d451549325147e3ca1ec4c9e57c";
+    url = "http://archive.eclipse.org/tools/aspectj/${name}.jar";
+    sha256 = "1b3mx248dc1xka1vgsl0jj4sm0nfjsqdcj9r9036mvixj1zj3nmh";
   };
 
   inherit jre;
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
index 7162f85e05d3..6202a8e968b3 100644
--- a/pkgs/development/compilers/crystal/default.nix
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm_39, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "0.20.4";
+  version = "0.20.5";
   name = "crystal-${version}-1";
   arch =
     {
@@ -14,15 +14,15 @@ stdenv.mkDerivation rec {
     url = "https://github.com/crystal-lang/crystal/releases/download/${version}/crystal-${version}-1-${arch}.tar.gz";
     sha256 =
       {
-        "x86_64-linux" = "cdc11c30235f8bd3b89e1fc13b56838f99d585715fb66563d6599026f5393e37";
-        "i686-linux" = "93e7df2bea3220728987a49a2f93d1c615e2ccae63843e0259a5d891c53a0b80";
-        "x86_64-darwin" = "3fd291a4a5c9eccdea933a9df25446c90d80660a17e89f83503fcb5b6deba03e";
+        "x86_64-linux" = "fd077c0a727419e131b1be6198a5aa5820ecbdaafd2d2bb38be5716ba75b5100";
+        "i686-linux" = "e3a890f11833c57c9004655d108f981c7c630cd7a939f828d9a6c571705bc3e7";
+        "x86_64-darwin" = "79462c8ff994b36cff219c356967844a17e8cb2817bb24a196a960a08b8c9e47";
       }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
   };
 
   src = fetchurl {
     url = "https://github.com/crystal-lang/crystal/archive/${version}.tar.gz";
-    sha256 = "fd099f278b71bbb5cad1927c93933d1feba554fbf8f6f4ab9165f535765f5e31";
+    sha256 = "ee1e5948c6e662ccb1e62671cf2c91458775b559b23d74ab226dc2a2d23f7707";
   };
 
   # crystal on Darwin needs libiconv to build
diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix
index 5979eba3e100..ba8401b9b092 100644
--- a/pkgs/development/compilers/ghc/8.0.2.nix
+++ b/pkgs/development/compilers/ghc/8.0.2.nix
@@ -4,13 +4,6 @@
 
 let
   inherit (bootPkgs) ghc;
-
-  fetchFilteredPatch = args: fetchurl (args // {
-    downloadToTemp = true;
-    postFetch = ''
-      ${patchutils}/bin/filterdiff --clean --strip-match=1 -x 'testsuite/*' "$downloadedFile" > "$out"
-    ''; # fix syntax highlighting: */
-  });
 in
 stdenv.mkDerivation rec {
   version = "8.0.2";
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 971365eda48f..e7f4335d6f6e 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils
-, autoconf, automake, happy, alex, python3, crossSystem, selfPkgs, cross ? null
+, autoconf, automake, happy, alex, python3, buildPlatform, targetPlatform
+, selfPkgs, cross ? null
 }:
 
 let
@@ -68,9 +69,9 @@ in stdenv.mkDerivation (rec {
 
   passthru = {
     inherit bootPkgs;
-  } // stdenv.lib.optionalAttrs (crossSystem != null) {
+  } // stdenv.lib.optionalAttrs (targetPlatform != buildPlatform) {
     crossCompiler = selfPkgs.ghc.override {
-      cross = crossSystem;
+      cross = targetPlatform;
       bootPkgs = selfPkgs;
     };
   };
diff --git a/pkgs/development/compilers/go/1.4.nix b/pkgs/development/compilers/go/1.4.nix
index eb4c64ed3340..b703a92f3ea5 100644
--- a/pkgs/development/compilers/go/1.4.nix
+++ b/pkgs/development/compilers/go/1.4.nix
@@ -77,6 +77,29 @@ stdenv.mkDerivation rec {
     # fails when running inside tmux
     sed -i '/TestNohup/areturn' src/os/signal/signal_test.go
 
+    # unix socket tests fail on darwin
+    sed -i '/TestConnAndListener/areturn' src/net/conn_test.go
+    sed -i '/TestPacketConn/areturn' src/net/conn_test.go
+    sed -i '/TestPacketConn/areturn' src/net/packetconn_test.go
+    sed -i '/TestConnAndPacketConn/areturn' src/net/packetconn_test.go
+    sed -i '/TestUnixListenerSpecificMethods/areturn' src/net/packetconn_test.go
+    sed -i '/TestUnixConnSpecificMethods/areturn' src/net/packetconn_test.go
+    sed -i '/TestUnixListenerSpecificMethods/areturn' src/net/protoconn_test.go
+    sed -i '/TestUnixConnSpecificMethods/areturn' src/net/protoconn_test.go
+    sed -i '/TestStreamConnServer/areturn' src/net/server_test.go
+    sed -i '/TestReadUnixgramWithUnnamedSocket/areturn' src/net/unix_test.go
+    sed -i '/TestReadUnixgramWithZeroBytesBuffer/areturn' src/net/unix_test.go
+    sed -i '/TestUnixgramWrite/areturn' src/net/unix_test.go
+    sed -i '/TestUnixConnLocalAndRemoteNames/areturn' src/net/unix_test.go
+    sed -i '/TestUnixgramConnLocalAndRemoteNames/areturn' src/net/unix_test.go
+    sed -i '/TestWithSimulated/areturn' src/log/syslog/syslog_test.go
+    sed -i '/TestFlap/areturn' src/log/syslog/syslog_test.go
+    sed -i '/TestNew/areturn' src/log/syslog/syslog_test.go
+    sed -i '/TestNewLogger/areturn' src/log/syslog/syslog_test.go
+    sed -i '/TestDial/areturn' src/log/syslog/syslog_test.go
+    sed -i '/TestWrite/areturn' src/log/syslog/syslog_test.go
+    sed -i '/TestConcurrentWrite/areturn' src/log/syslog/syslog_test.go
+    sed -i '/TestConcurrentReconnect/areturn' src/log/syslog/syslog_test.go
 
     # remove IP resolving tests, on darwin they can find fe80::1%lo while expecting ::1
     sed -i '/TestResolveIPAddr/areturn' src/net/ipraw_test.go
diff --git a/pkgs/development/compilers/go/1.6.nix b/pkgs/development/compilers/go/1.6.nix
index 982446f4fdb1..7d78f5efd104 100644
--- a/pkgs/development/compilers/go/1.6.nix
+++ b/pkgs/development/compilers/go/1.6.nix
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
     sed -i '/TestChdirAndGetwd/areturn' src/os/os_test.go
     sed -i '/TestRead0/areturn' src/os/os_test.go
     sed -i '/TestNohup/areturn' src/os/signal/signal_test.go
-    sed -i '/TestSystemRoots/areturn' src/crypto/x509/root_darwin_test.go
+    rm src/crypto/x509/root_darwin_test.go src/crypto/x509/verify_test.go
 
     sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/areturn' src/cmd/go/go_test.go
     sed -i '/TestBuildDashIInstallsDependencies/areturn' src/cmd/go/go_test.go
diff --git a/pkgs/development/compilers/jikes/default.nix b/pkgs/development/compilers/jikes/default.nix
index 1423bc8d51ef..1e202160b3c5 100644
--- a/pkgs/development/compilers/jikes/default.nix
+++ b/pkgs/development/compilers/jikes/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "jikes-1.22";
   src = fetchurl {
     url = mirror://sourceforge/jikes/jikes-1.22.tar.bz2;
-    md5 = "cda958c7fef6b43b803e1d1ef9afcb85";
+    sha256 = "1qqldrp74pzpy5ly421srqn30qppmm9cvjiqdngk8hf47dv2rc0c";
   };
 
   meta = {
diff --git a/pkgs/development/compilers/meta-environment/meta-build-env/default.nix b/pkgs/development/compilers/meta-environment/meta-build-env/default.nix
index 105844887f1d..3869bdad84f6 100644
--- a/pkgs/development/compilers/meta-environment/meta-build-env/default.nix
+++ b/pkgs/development/compilers/meta-environment/meta-build-env/default.nix
@@ -2,7 +2,7 @@
   name = "meta-build-env-0.1";
   src = fetchurl {
     url = http://www.meta-environment.org/releases/meta-build-env-0.1.tar.gz ;
-    md5 = "827b54ace4e2d3c8e7605ea149b34293";
+    sha256 = "1imn1gaan4fv73v8w3k3lgyjzkcn7bdp69k6hlz0vqdg17ysd1x3";
   };
 
   meta = {
diff --git a/pkgs/development/compilers/ocaml/4.04.nix b/pkgs/development/compilers/ocaml/4.04.nix
new file mode 100644
index 000000000000..7e35c9e1aa80
--- /dev/null
+++ b/pkgs/development/compilers/ocaml/4.04.nix
@@ -0,0 +1,6 @@
+import ./generic.nix {
+  major_version = "4";
+  minor_version = "04";
+  patch_version = "0";
+  sha256 = "1d2nk3kq4dyzz8dls45r13jprq5by3q8kshc8kvxzm8n4fnnvvb4";
+}
diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix
index abded4b66900..17b3033c31df 100644
--- a/pkgs/development/compilers/ocaml/generic.nix
+++ b/pkgs/development/compilers/ocaml/generic.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation (args // rec {
   buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
   buildInputs = [ncurses] ++ optionals useX11 [ libX11 xproto ];
   installTargets = "install" + optionalString useNativeCompilers " installopt";
-  preConfigure = ''
+  preConfigure = optionalString (!stdenv.lib.versionAtLeast version "4.04") ''
     CAT=$(type -tp cat)
     sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
   '';
@@ -56,7 +56,7 @@ stdenv.mkDerivation (args // rec {
 
   meta = with stdenv.lib; {
     homepage = http://caml.inria.fr/ocaml;
-    branch = "4.03";
+    branch = versionNoPatch;
     license = with licenses; [
       qpl /* compiler */
       lgpl2 /* library */
diff --git a/pkgs/development/compilers/zulu/default.nix b/pkgs/development/compilers/zulu/default.nix
new file mode 100644
index 000000000000..657f5274d000
--- /dev/null
+++ b/pkgs/development/compilers/zulu/default.nix
@@ -0,0 +1,67 @@
+{ stdenv, pkgs, fetchurl, unzip, makeWrapper, setJavaClassPath, swingSupport ? true }:
+
+with pkgs;
+
+let
+  version = "8.19.0.1";
+  openjdk = "8.0.112";
+
+  sha256_linux = "1icb6in1197n44wk2cqnrxr7w0bd5abxxysfrhbg56jlb9nzmp4x";
+  sha256_darwin = "0kxwh62a6kckc9l9jkgakf86lqkqazp3dwfwaxqc4cg5zczgbhmd";
+
+  platform = if stdenv.isDarwin then "macosx" else "linux";
+  hash = if stdenv.isDarwin then sha256_darwin else sha256_linux;
+  extension = if stdenv.isDarwin then "zip" else "tar.gz";
+in stdenv.mkDerivation rec {
+  inherit version openjdk platform hash extension;
+
+  name = "zulu-${version}";
+
+  src = fetchurl {
+    url = "https://cdn.azul.com/zulu/bin/zulu${version}-jdk${openjdk}-${platform}_x64.${extension}";
+    sha256 = hash;
+  };
+
+  buildInputs = [ makeWrapper ] ++ stdenv.lib.optional stdenv.isDarwin [ unzip ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r ./* "$out/"
+
+    jrePath="$out/jre"
+
+    rpath=$rpath''${rpath:+:}$jrePath/lib/amd64/jli
+    rpath=$rpath''${rpath:+:}$jrePath/lib/amd64/server
+    rpath=$rpath''${rpath:+:}$jrePath/lib/amd64/xawt
+    rpath=$rpath''${rpath:+:}$jrePath/lib/amd64
+
+    # set all the dynamic linkers
+    find $out -type f -perm -0100 \
+        -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath "$rpath" {} \;
+
+    find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
+
+    mkdir -p $out/nix-support
+    echo -n "${setJavaClassPath}" > $out/nix-support/propagated-native-build-inputs
+
+    # Set JAVA_HOME automatically.
+    cat <<EOF >> $out/nix-support/setup-hook
+    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    EOF
+  '';
+
+  libraries = [ stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg libxslt mesa_noglu xorg.libXxf86vm alsaLib fontconfig freetype gnome2.pango gnome2.gtk cairo gdk_pixbuf atk ]
+      ++ (if swingSupport then [ xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt xorg.libXrender stdenv.cc.cc ] else [ ]);
+
+  rpath = stdenv.lib.strings.makeLibraryPath libraries;
+
+  meta = with stdenv.lib; {
+    homepage = https://www.azul.com/products/zulu/;
+    license = licenses.gpl2;
+    description = "Certified builds of OpenJDK";
+    longDescription = "Certified builds of OpenJDK that can be deployed across multiple operating systems, containers, hypervisors and Cloud platforms";
+    maintainers = with maintainers; [ nequissimus ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix
index 81cfdecdfffb..dba6a3abbea5 100644
--- a/pkgs/development/coq-modules/mathcomp/default.nix
+++ b/pkgs/development/coq-modules/mathcomp/default.nix
@@ -1,39 +1,22 @@
 { callPackage, fetchurl, coq }:
 
-if coq.coq-version == "8.4" then
-
-callPackage ./generic.nix {
-
-  name = "coq-mathcomp-1.6-${coq.coq-version}";
-  src = fetchurl {
+let param =
+  let v16 = {
+    version = "1.6";
     url = http://ssr.msr-inria.inria.fr/FTP/mathcomp-1.6.tar.gz;
     sha256 = "0adr556032r1jkvphbpfvrrv041qk0yqb7a1xnbam52ji0mdl2w8";
-  };
-
-}
-
-else if coq.coq-version == "8.5" then
-
-callPackage ./generic.nix {
-
-  name = "coq-mathcomp-1.6-${coq.coq-version}";
-  src = fetchurl {
-    url = http://ssr.msr-inria.inria.fr/FTP/mathcomp-1.6.tar.gz;
-    sha256 = "0adr556032r1jkvphbpfvrrv041qk0yqb7a1xnbam52ji0mdl2w8";
-  };
-
-}
-
-else if coq.coq-version == "8.6" then
-
-callPackage ./generic.nix {
-
-  name = "coq-mathcomp-1.6.1-${coq.coq-version}";
-  src = fetchurl {
+  }; v161 = {
+    version = "1.6.1";
     url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.1.tar.gz;
     sha256 = "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw";
-  };
+  }; in
+{
+  "8.4" = v16;
+  "8.5" = v16;
+  "8.6" = v161;
+}."${coq.coq-version}"; in
 
+callPackage ./generic.nix {
+  name = "coq${coq.coq-version}-mathcomp-${param.version}";
+  src = fetchurl { inherit (param) url sha256; };
 }
-
-else throw "No ssreflect package for Coq version ${coq.coq-version}"
diff --git a/pkgs/development/coq-modules/mathcomp/generic.nix b/pkgs/development/coq-modules/mathcomp/generic.nix
index 9a6a98609d29..1c150c9e69fa 100644
--- a/pkgs/development/coq-modules/mathcomp/generic.nix
+++ b/pkgs/development/coq-modules/mathcomp/generic.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, coq, ssreflect, ncurses, which
-, graphviz, ocamlPackages, withDoc ? false
+, graphviz, withDoc ? false
 , src, name
 }:
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   inherit src;
 
   nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
-  buildInputs = [ coq.ocaml coq.camlp5 ncurses which ];
+  buildInputs = [ coq.ocaml coq.findlib coq.camlp5 ncurses which ];
   propagatedBuildInputs = [ coq ssreflect ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/coq-modules/ssreflect/default.nix b/pkgs/development/coq-modules/ssreflect/default.nix
index 16147c4dc2ae..18eafe5e9c2c 100644
--- a/pkgs/development/coq-modules/ssreflect/default.nix
+++ b/pkgs/development/coq-modules/ssreflect/default.nix
@@ -1,39 +1,22 @@
 { callPackage, fetchurl, coq }:
 
-if coq.coq-version == "8.4" then
-
-callPackage ./generic.nix {
-
-  name = "coq-ssreflect-1.6-${coq.coq-version}";
-  src = fetchurl {
+let param =
+  let v16 = {
+    version = "1.6";
     url = http://ssr.msr-inria.inria.fr/FTP/mathcomp-1.6.tar.gz;
     sha256 = "0adr556032r1jkvphbpfvrrv041qk0yqb7a1xnbam52ji0mdl2w8";
-  };
-
-}
-
-else if coq.coq-version == "8.5" then
-
-callPackage ./generic.nix {
-
-  name = "coq-ssreflect-1.6-${coq.coq-version}";
-  src = fetchurl {
-    url = http://ssr.msr-inria.inria.fr/FTP/mathcomp-1.6.tar.gz;
-    sha256 = "0adr556032r1jkvphbpfvrrv041qk0yqb7a1xnbam52ji0mdl2w8";
-  };
-
-}
-
-else if coq.coq-version == "8.6" then
-
-callPackage ./generic.nix {
-
-  name = "coq-ssreflect-1.6.1-${coq.coq-version}";
-  src = fetchurl {
+  }; v161 = {
+    version = "1.6.1";
     url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.1.tar.gz;
     sha256 = "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw";
-  };
+  }; in
+{
+  "8.4" = v16;
+  "8.5" = v16;
+  "8.6" = v161;
+}."${coq.coq-version}"; in
 
+callPackage ./generic.nix {
+  name = "coq${coq.coq-version}-ssreflect-${param.version}";
+  src = fetchurl { inherit (param) url sha256; };
 }
-
-else throw "No ssreflect package for Coq version ${coq.coq-version}"
diff --git a/pkgs/development/coq-modules/ssreflect/generic.nix b/pkgs/development/coq-modules/ssreflect/generic.nix
index 3362e8839a75..c598345403db 100644
--- a/pkgs/development/coq-modules/ssreflect/generic.nix
+++ b/pkgs/development/coq-modules/ssreflect/generic.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   inherit src;
 
   nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
-  buildInputs = [ coq.ocaml coq.camlp5 ncurses which ];
+  buildInputs = [ coq.ocaml coq.findlib coq.camlp5 ncurses which ];
   propagatedBuildInputs = [ coq ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 90e80e21406d..a30829898550 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -57,14 +57,7 @@ self: super: {
       sha256 = "1vy6bj7f8zyj4n1r0gpi0r7mxapsrjvhwmsi5sbnradfng5j3jya";
       rev = drv.version;
     };
-  })).overrideScope (self: super: {
-    # https://github.com/bitemyapp/esqueleto/issues/8
-    esqueleto = self.esqueleto_2_4_3;
-    # https://github.com/prowdsponsor/esqueleto/issues/137
-    persistent = self.persistent_2_2_4_1;
-    persistent-template = self.persistent-template_2_1_8_1;
-    persistent-sqlite = self.persistent-sqlite_2_2_1;
-  })).override {
+  }))).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
     fdo-notify = if pkgs.stdenv.isLinux then self.fdo-notify else null;
     hinotify = if pkgs.stdenv.isLinux then self.hinotify else self.fsnotify;
@@ -516,7 +509,7 @@ self: super: {
 
   # https://ghc.haskell.org/trac/ghc/ticket/9625
   vty = dontCheck super.vty;
-  vty_5_14 = dontCheck super.vty_5_14;
+  vty_5_15 = dontCheck super.vty_5_15;
 
   # https://github.com/vincenthz/hs-crypto-pubkey/issues/20
   crypto-pubkey = dontCheck super.crypto-pubkey;
@@ -675,8 +668,38 @@ self: super: {
     '';
   }));
 
-  # Requires optparse-applicative 0.13.0.0
+  # Packages of the diagrams ecosystem that require:
+  #   diagrams-core ==1.4.*
+  #   diagrams-lib ==1.4.*
+  #   optparse-applicative ==0.13.*
+  diagrams_1_4 = super.diagrams_1_4.overrideScope (self: super: {
+    diagrams-contrib = self.diagrams-contrib_1_4_0_1;
+    diagrams-core = self.diagrams-core_1_4;
+    diagrams-lib = self.diagrams-lib_1_4_0_1;
+    diagrams-svg = self.diagrams-svg_1_4_1;
+    optparse-applicative = self.optparse-applicative_0_13_0_0;
+  });
+  diagrams-contrib_1_4_0_1 = super.diagrams-contrib_1_4_0_1.overrideScope (self: super: {
+    diagrams-core = self.diagrams-core_1_4;
+    diagrams-lib = self.diagrams-lib_1_4_0_1;
+  });
+  diagrams-lib_1_4_0_1 = super.diagrams-lib_1_4_0_1.overrideScope (self: super: {
+    diagrams-core = self.diagrams-core_1_4;
+    optparse-applicative = self.optparse-applicative_0_13_0_0;
+  });
   diagrams-pgf = super.diagrams-pgf.overrideScope (self: super: {
+    diagrams-core = self.diagrams-core_1_4;
+    diagrams-lib = self.diagrams-lib_1_4_0_1;
+    optparse-applicative = self.optparse-applicative_0_13_0_0;
+  });
+  diagrams-rasterific_1_4 = super.diagrams-rasterific_1_4.overrideScope (self: super: {
+    diagrams-core = self.diagrams-core_1_4;
+    diagrams-lib = self.diagrams-lib_1_4_0_1;
+    optparse-applicative = self.optparse-applicative_0_13_0_0;
+  });
+  diagrams-svg_1_4_1 = super.diagrams-svg_1_4_1.overrideScope (self: super: {
+    diagrams-core = self.diagrams-core_1_4;
+    diagrams-lib = self.diagrams-lib_1_4_0_1;
     optparse-applicative = self.optparse-applicative_0_13_0_0;
   });
 
@@ -693,6 +716,9 @@ self: super: {
   # https://github.com/nushio3/doctest-prop/issues/1
   doctest-prop = dontCheck super.doctest-prop;
 
+  # Depends on itself for testing
+  doctest-discover = addBuildTool super.doctest-discover (dontCheck super.doctest-discover);
+
   # https://github.com/bos/aeson/issues/253
   aeson = dontCheck super.aeson;
 
@@ -808,14 +834,6 @@ self: super: {
 
   # Fine-tune the build.
   structured-haskell-mode = (overrideCabal super.structured-haskell-mode (drv: {
-    # Bump version to latest git-version to get support for Emacs 25.x.
-    version = "1.0.20-28-g1ffb4db";
-    src = pkgs.fetchFromGitHub {
-      owner = "chrisdone";
-      repo = "structured-haskell-mode";
-      rev = "dde5104ee28e1c63ca9fbc37c969f8e319b4b903";
-      sha256 = "0g5qpnxzr9qmgzvsld5mg94rb28xb8kd1a02q045r6zlmv1zx7lp";
-    };
     # Statically linked Haskell libraries make the tool start-up much faster,
     # which is important for use in Emacs.
     enableSharedExecutables = false;
@@ -1123,8 +1141,7 @@ self: super: {
   # https://github.com/pontarius/pontarius-xmpp/issues/105
   pontarius-xmpp = dontCheck super.pontarius-xmpp;
 
-  # https://github.com/fpco/store/issues/77
-  store = dontCheck super.store;
+  # Use proper store-core version.
   store_0_3 = super.store_0_3.overrideScope (self: super: { store-core = self.store-core_0_3; });
 
   # https://github.com/bmillwood/applicative-quoters/issues/6
@@ -1133,9 +1150,6 @@ self: super: {
   # https://github.com/roelvandijk/terminal-progress-bar/issues/13
   terminal-progress-bar = doJailbreak super.terminal-progress-bar;
 
-  # https://github.com/vshabanov/HsOpenSSL/issues/11
-  HsOpenSSL = doJailbreak super.HsOpenSSL;
-
   # https://github.com/NixOS/nixpkgs/issues/19612
   wai-app-file-cgi = (dontCheck super.wai-app-file-cgi).overrideScope (self: super: {
     http-client = self.http-client_0_5_5;
@@ -1169,18 +1183,8 @@ self: super: {
 
   socket_0_7_0_0 = super.socket_0_7_0_0.overrideScope (self: super: { QuickCheck = self.QuickCheck_2_9_2; });
 
-  # Encountered missing dependencies: hspec >=1.3 && <2.1
-  # https://github.com/rampion/ReadArgs/issues/8
-  ReadArgs = doJailbreak super.ReadArgs;
-
-  # https://github.com/philopon/barrier/issues/3
-  barrier = doJailbreak super.barrier;
-
-  # requires vty 5.13
-  brick = super.brick.overrideScope (self: super: { vty = self.vty_5_14; });
-
-  # https://github.com/krisajenkins/elm-export/pull/22
-  elm-export = doJailbreak super.elm-export;
+  # requires most recent vty
+  brick = super.brick.overrideScope (self: super: { vty = self.vty_5_15; });
 
   turtle_1_3_1 = super.turtle_1_3_1.overrideScope (self: super: {
     optparse-applicative = self.optparse-applicative_0_13_0_0;
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index a7696dfc2e31..7a421e4f7b68 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -148,8 +148,10 @@ let
 
   setupBuilder = if isCross || isGhcjs then "${nativeGhc}/bin/ghc" else ghcCommand;
   setupCommand = "./Setup";
-  ghcCommand = if isGhcjs then "ghcjs" else if isCross then "${ghc.cross.config}-ghc" else "ghc";
-  ghcCommandCaps = toUpper ghcCommand;
+  ghcCommand' = if isGhcjs then "ghcjs" else "ghc";
+  crossPrefix = if (ghc.cross or null) != null then "${ghc.cross.config}-" else "";
+  ghcCommand = "${crossPrefix}${ghcCommand'}";
+  ghcCommandCaps= toUpper ghcCommand';
 
 in
 
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 056a98727c12..276965d28d26 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -1676,8 +1676,8 @@ self: {
      }:
      mkDerivation {
        pname = "BitStringRandomMonad";
-       version = "0.1.1.1";
-       sha256 = "496715852ecfd5651fee81eba635b88865ef6dbc87792e56ea47eeac36fd9c36";
+       version = "0.1.1.2";
+       sha256 = "96a5bb1cb04427a64be71f83d1a09abb950d3023ae80e3811a304748ace16dbf";
        libraryHaskellDepends = [
          base bitstring bytestring mtl parallel primitive transformers
          vector
@@ -4992,6 +4992,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "FastPush" = callPackage
+    ({ mkDerivation, base, STMonadTrans, vector }:
+     mkDerivation {
+       pname = "FastPush";
+       version = "0.1.0.2";
+       sha256 = "301cf0552dc14adc8865038b7d7f5aac7dc791f4039c790c28262603b129c674";
+       libraryHaskellDepends = [ base STMonadTrans vector ];
+       homepage = "https://github.com/wyager/FastPush/";
+       description = "A monad and monad transformer for pushing things onto a stack very fast";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "FastxPipe" = callPackage
     ({ mkDerivation, attoparsec, base, blaze-builder, bytestring, pipes
      , pipes-attoparsec, pipes-bytestring
@@ -6273,6 +6285,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "GoogleCodeJam" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, parallel, safe
+     , split, transformers
+     }:
+     mkDerivation {
+       pname = "GoogleCodeJam";
+       version = "0.0.3";
+       sha256 = "e08209b95b264757ce8c4fc1422059c09910b38a4bdd22f6d4e51b24ab1cabdc";
+       libraryHaskellDepends = [
+         array base containers mtl parallel safe split transformers
+       ];
+       homepage = "http://johannesgerer.com/GoogleCodeJam";
+       description = "A monad for flexible parsing of Google Code Jam input files with automatic parallelization";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "GoogleDirections" = callPackage
     ({ mkDerivation, AttoJson, base, bytestring, containers, dataenc
      , download-curl
@@ -9422,6 +9450,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) openssl;};
 
+  "HsOpenSSL_0_11_4" = callPackage
+    ({ mkDerivation, base, bytestring, integer-gmp, network, openssl
+     , time
+     }:
+     mkDerivation {
+       pname = "HsOpenSSL";
+       version = "0.11.4";
+       sha256 = "6326b9b1fb07e05a72f8435cc3ae777d696251e43e93b25ec2ff513f7f2bed07";
+       libraryHaskellDepends = [
+         base bytestring integer-gmp network time
+       ];
+       librarySystemDepends = [ openssl ];
+       testHaskellDepends = [ base bytestring ];
+       homepage = "https://github.com/vshabanov/HsOpenSSL";
+       description = "Partial OpenSSL binding for Haskell";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) openssl;};
+
   "HsOpenSSL-x509-system" = callPackage
     ({ mkDerivation, base, bytestring, HsOpenSSL, unix }:
      mkDerivation {
@@ -14047,8 +14094,8 @@ self: {
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "QuickCheckVariant";
-       version = "0.1.1.0";
-       sha256 = "3d29e3b03f3908b04db06d3912e65e4370f752d57296e509bbf7e17db949c2f8";
+       version = "0.2.0.0";
+       sha256 = "5ad8557a69793d00facc27a8f3eb9edd7bfde8cd923ea51465a9bfa0a7e7d682";
        libraryHaskellDepends = [ base QuickCheck ];
        homepage = "https://github.com/sanjorgek/QuickCheckVariant";
        description = "Generator of \"valid\" and \"invalid\" data in a type class";
@@ -14558,21 +14605,20 @@ self: {
   "Redmine" = callPackage
     ({ mkDerivation, aeson, base, bytestring, connection, containers
      , HTTP, http-client-tls, http-conduit, http-types, HUnit, MissingH
-     , network, old-locale, old-time, resourcet, text, time
-     , transformers
+     , network, resourcet, text, time, transformers
      }:
      mkDerivation {
        pname = "Redmine";
-       version = "0.0.6";
-       sha256 = "e81f23501fc58456db77b9797a196200f20a81013da3b8f89fdffbf1214d9882";
+       version = "0.0.8";
+       sha256 = "0f0460459b9293b95f55ea966891daf04552de4c8d950da79963fe8b9552acd2";
        libraryHaskellDepends = [
          aeson base bytestring connection containers HTTP http-client-tls
-         http-conduit http-types MissingH network old-locale old-time
-         resourcet text time transformers
+         http-conduit http-types MissingH network resourcet text time
+         transformers
        ];
        testHaskellDepends = [
-         aeson base bytestring connection containers http-client-tls
-         http-conduit HUnit MissingH network old-locale resourcet text time
+         aeson base bytestring connection containers HTTP http-client-tls
+         http-conduit http-types HUnit MissingH network resourcet text time
          transformers
        ];
        homepage = "https://github.com/lookunder/RedmineHs";
@@ -16408,8 +16454,8 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "THEff";
-       version = "0.1.1.0";
-       sha256 = "545725746fa7ea7d77cdb1447a1f2564ddfe36624c8a3118a7e8d0b009ef2462";
+       version = "0.1.4";
+       sha256 = "4857093c5be0c15557a5c1b06d6dd16e65ff6da0a9362b1d6ee3614d476af266";
        libraryHaskellDepends = [ base template-haskell ];
        description = "TH implementation of effects";
        license = stdenv.lib.licenses.bsd3;
@@ -27830,8 +27876,8 @@ self: {
      }:
      mkDerivation {
        pname = "async-pool";
-       version = "0.9.0";
-       sha256 = "3083cc4a45ebda8d44d25ed143f670cbdc877603ba1d37353a7dee088c172581";
+       version = "0.9.0.1";
+       sha256 = "54c7cc38f00e85978c59569744ca11802a28a93d9a7bbfc83d87c72158bee28b";
        libraryHaskellDepends = [
          async base containers fgl monad-control stm transformers
          transformers-base
@@ -28901,8 +28947,8 @@ self: {
        pname = "avers";
        version = "0.0.17.1";
        sha256 = "1b45d8aa036b3c2ec7ea180327ff3cdce28dc1e1ef319c062be79f0ffa7626f5";
-       revision = "5";
-       editedCabalFile = "319f1526093b829e5cbb6fe1591f77f3f5be25da83df7790e37741272e711b24";
+       revision = "6";
+       editedCabalFile = "4fdb981cfedcc58b8b64a823d826fafd32c7b0fce7e01bd816db1474994d6018";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring clock containers cryptonite
          filepath inflections memory MonadRandom mtl network network-uri
@@ -33338,30 +33384,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "bitcoin-payment-channel_0_6_0_1" = callPackage
+  "bitcoin-payment-channel_1_0_0_0" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, base64-bytestring
-     , bytestring, cereal, errors, haskoin-core, hexstring, QuickCheck
-     , scientific, string-conversions, tagged, test-framework
-     , test-framework-quickcheck2, text, time
+     , bytestring, cereal, errors, haskell-rbpcp-api, haskoin-core
+     , hexstring, hspec, monad-time, mtl, QuickCheck, random, scientific
+     , semigroups, string-conversions, tagged, test-framework
+     , test-framework-quickcheck2, text, tf-random, time
      }:
      mkDerivation {
        pname = "bitcoin-payment-channel";
-       version = "0.6.0.1";
-       sha256 = "10085ef9254d88a4494986f372b07d4109d1767196cc6d230c02ffe18f5f1abd";
+       version = "1.0.0.0";
+       sha256 = "3858a212258099aed8361bbaeef5a251c5d12d7b222c027290d963571e1f7698";
        libraryHaskellDepends = [
-         aeson base base16-bytestring bytestring cereal errors haskoin-core
-         hexstring QuickCheck scientific string-conversions tagged text time
+         aeson base base16-bytestring bytestring cereal errors
+         haskell-rbpcp-api haskoin-core hexstring hspec monad-time
+         QuickCheck scientific semigroups string-conversions tagged text
+         time
        ];
        testHaskellDepends = [
          aeson base base16-bytestring base64-bytestring bytestring cereal
-         haskoin-core hexstring QuickCheck string-conversions test-framework
-         test-framework-quickcheck2 text time
+         errors haskell-rbpcp-api haskoin-core hexstring hspec monad-time
+         mtl QuickCheck random scientific semigroups string-conversions
+         tagged test-framework test-framework-quickcheck2 text tf-random
+         time
        ];
        homepage = "https://github.com/runeksvendsen/bitcoin-payment-channel";
-       description = "Library for working with Bitcoin payment channels";
+       description = "Instant, two-party Bitcoin payments";
        license = stdenv.lib.licenses.publicDomain;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
+       broken = true;
+     }) {haskell-rbpcp-api = null;};
 
   "bitcoin-rpc" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, cereal
@@ -35136,8 +35188,8 @@ self: {
     ({ mkDerivation, base, gtk, transformers, X11 }:
      mkDerivation {
        pname = "boring-window-switcher";
-       version = "0.1.0.2";
-       sha256 = "e7e568de0b410fd878c6cd6ce9eae66f51e3e98c83090ad5dec23b5738c9721f";
+       version = "0.1.0.3";
+       sha256 = "ac8273d978973b9424ce195ab48b6f599d06bb1af1af6abf94305b35ffed2748";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base gtk transformers X11 ];
@@ -35480,26 +35532,6 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "brick_0_15_2" = callPackage
-    ({ mkDerivation, base, containers, contravariant, data-default
-     , deepseq, microlens, microlens-mtl, microlens-th, template-haskell
-     , text, text-zipper, transformers, vector, vty
-     }:
-     mkDerivation {
-       pname = "brick";
-       version = "0.15.2";
-       sha256 = "7407473d133588df46c43480a2b41a50a04a7f0e63a996c6422a07592b8ca85e";
-       libraryHaskellDepends = [
-         base containers contravariant data-default deepseq microlens
-         microlens-mtl microlens-th template-haskell text text-zipper
-         transformers vector vty
-       ];
-       homepage = "https://github.com/jtdaugherty/brick/";
-       description = "A declarative terminal user interface library";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
   "brick" = callPackage
     ({ mkDerivation, base, containers, contravariant, data-default
      , deepseq, dlist, microlens, microlens-mtl, microlens-th, stm
@@ -35517,6 +35549,7 @@ self: {
        homepage = "https://github.com/jtdaugherty/brick/";
        description = "A declarative terminal user interface library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "brillig" = callPackage
@@ -36957,6 +36990,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cabal-dependency-licenses_0_2_0_0" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath }:
+     mkDerivation {
+       pname = "cabal-dependency-licenses";
+       version = "0.2.0.0";
+       sha256 = "1731299d3764dd56fe93da2df0b32ce6d4e794e9a68a3dff96cf84a63fb5341e";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base Cabal containers directory filepath
+       ];
+       homepage = "http://github.com/jaspervdj/cabal-dependency-licenses";
+       description = "Compose a list of a project's transitive dependencies with their licenses";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cabal-dev" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cabal-install, containers
      , directory, filepath, HTTP, mtl, network, pretty, process, setenv
@@ -37838,15 +37888,15 @@ self: {
      }) {};
 
   "cached-io" = callPackage
-    ({ mkDerivation, base, stm, time }:
+    ({ mkDerivation, base, stm, time, transformers }:
      mkDerivation {
        pname = "cached-io";
-       version = "0.1.1.0";
-       sha256 = "b43e7b329aff4a1f96daff221b6e68b7124d35cef3331034b452d794c8b03546";
+       version = "1.1.0.0";
+       sha256 = "353267bfc4de538ed0811cc4ce9d77683dc7c92654519a29e483d582ba781f30";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base stm time ];
-       executableHaskellDepends = [ base stm time ];
+       libraryHaskellDepends = [ base stm time transformers ];
+       executableHaskellDepends = [ base ];
        description = "A simple library to cache a single IO action with timeout";
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -38393,8 +38443,8 @@ self: {
     ({ mkDerivation, aeson, base }:
      mkDerivation {
        pname = "canteven-listen-http";
-       version = "0.1.0.0";
-       sha256 = "b7a750e3cf9c1aa7bac89c631714546aea477f3b5a5672dd3df7bb1e2513e168";
+       version = "1.0.0.1";
+       sha256 = "80035ba4bd16e308dd27008aa989efcbd9bedb96c6a84ca651ebef6fbeb781c5";
        libraryHaskellDepends = [ aeson base ];
        description = "data types to describe HTTP services";
        license = stdenv.lib.licenses.asl20;
@@ -41736,6 +41786,38 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "classy-prelude_1_2_0" = callPackage
+    ({ mkDerivation, async, base, basic-prelude, bifunctors, bytestring
+     , chunked-data, containers, deepseq, dlist, exceptions, ghc-prim
+     , hashable, hspec, lifted-async, lifted-base, monad-unlift
+     , mono-traversable, mono-traversable-instances, mtl
+     , mutable-containers, primitive, QuickCheck, safe-exceptions, say
+     , semigroups, stm, stm-chans, text, time, time-locale-compat
+     , transformers, transformers-base, unordered-containers, vector
+     , vector-instances
+     }:
+     mkDerivation {
+       pname = "classy-prelude";
+       version = "1.2.0";
+       sha256 = "74ca864563ae2b6e048f86ec3be256192e81d12fbef0723d2aa2ee3d1d71fd70";
+       libraryHaskellDepends = [
+         async base basic-prelude bifunctors bytestring chunked-data
+         containers deepseq dlist exceptions ghc-prim hashable lifted-async
+         lifted-base monad-unlift mono-traversable
+         mono-traversable-instances mtl mutable-containers primitive
+         safe-exceptions say semigroups stm stm-chans text time
+         time-locale-compat transformers transformers-base
+         unordered-containers vector vector-instances
+       ];
+       testHaskellDepends = [
+         base containers hspec QuickCheck transformers unordered-containers
+       ];
+       homepage = "https://github.com/snoyberg/mono-traversable";
+       description = "A typeclass-based Prelude";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "classy-prelude-conduit" = callPackage
     ({ mkDerivation, base, bytestring, classy-prelude, conduit
      , conduit-combinators, hspec, monad-control, QuickCheck, resourcet
@@ -41758,6 +41840,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "classy-prelude-conduit_1_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, classy-prelude, conduit
+     , conduit-combinators, hspec, monad-control, QuickCheck, resourcet
+     , transformers, void
+     }:
+     mkDerivation {
+       pname = "classy-prelude-conduit";
+       version = "1.2.0";
+       sha256 = "24090dd042cd74d2663a5870482a60746b9096754f598b5171b800511230ec7f";
+       libraryHaskellDepends = [
+         base bytestring classy-prelude conduit conduit-combinators
+         monad-control resourcet transformers void
+       ];
+       testHaskellDepends = [
+         base bytestring conduit hspec QuickCheck transformers
+       ];
+       homepage = "https://github.com/snoyberg/mono-traversable";
+       description = "classy-prelude together with conduit functions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "classy-prelude-yesod" = callPackage
     ({ mkDerivation, aeson, base, classy-prelude
      , classy-prelude-conduit, data-default, http-conduit, http-types
@@ -41778,15 +41882,15 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "classy-prelude-yesod_1_1_0" = callPackage
+  "classy-prelude-yesod_1_2_0" = callPackage
     ({ mkDerivation, aeson, base, classy-prelude
      , classy-prelude-conduit, data-default, http-conduit, http-types
      , persistent, yesod, yesod-newsfeed, yesod-static
      }:
      mkDerivation {
        pname = "classy-prelude-yesod";
-       version = "1.1.0";
-       sha256 = "2b7672093e16850dba4c118c56d8626d8049e3c29b163c8389619bfc265f5b58";
+       version = "1.2.0";
+       sha256 = "01cfe84ab5de0b803dc68a2bee5f5bfa4b9daf948974113ef9af9dd99c003fd5";
        libraryHaskellDepends = [
          aeson base classy-prelude classy-prelude-conduit data-default
          http-conduit http-types persistent yesod yesod-newsfeed
@@ -42281,6 +42385,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "clif" = callPackage
+    ({ mkDerivation, base, containers, QuickCheck, tasty
+     , tasty-quickcheck, tasty-th
+     }:
+     mkDerivation {
+       pname = "clif";
+       version = "0.1.0.0";
+       sha256 = "5c39d33787674c4452fab56f8166920525254e0dd095bdd64e3e51a97285d9c6";
+       libraryHaskellDepends = [ base containers QuickCheck ];
+       testHaskellDepends = [
+         base containers QuickCheck tasty tasty-quickcheck tasty-th
+       ];
+       description = "A Clifford algebra number type for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "clifford" = callPackage
     ({ mkDerivation, base, cereal, Chart, Chart-cairo, colour, converge
      , criterion, data-default-class, data-ordlist, deepseq, derive
@@ -43807,17 +43927,18 @@ self: {
 
   "commodities" = callPackage
     ({ mkDerivation, base, comonad, containers, directory, distributive
-     , doctest, filepath, hspec, hspec-expectations, keys, lens, linear
-     , mtl, numbers, PSQueue, QuickCheck, semigroupoids, semigroups
-     , text, thyme, transformers
+     , doctest, failure, filepath, hspec, hspec-expectations, keys, lens
+     , linear, mtl, numbers, parsers, PSQueue, QuickCheck, semigroupoids
+     , semigroups, split, text, thyme, transformers, trifecta
      }:
      mkDerivation {
        pname = "commodities";
-       version = "0.2.0";
-       sha256 = "093df899954134b657ac338384342f64a4f71dbe9841cef2ec138fc5cfddc275";
+       version = "0.2.0.1";
+       sha256 = "fa58f2c3c5acf6f14d0079d8cd2d944c6e35c4bd12c128904021094e8c059130";
        libraryHaskellDepends = [
-         base comonad containers distributive keys lens linear mtl numbers
-         PSQueue semigroupoids semigroups text thyme transformers
+         base comonad containers distributive failure keys lens linear mtl
+         numbers parsers PSQueue semigroupoids semigroups split text thyme
+         transformers trifecta
        ];
        testHaskellDepends = [
          base containers directory doctest filepath hspec hspec-expectations
@@ -44996,6 +45117,35 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "conduit-combinators_1_1_0" = callPackage
+    ({ mkDerivation, base, base16-bytestring, base64-bytestring
+     , bytestring, chunked-data, conduit, conduit-extra, containers
+     , directory, filepath, hspec, monad-control, mono-traversable, mtl
+     , mwc-random, primitive, QuickCheck, resourcet, safe, silently
+     , text, transformers, transformers-base, unix, unix-compat, vector
+     , void
+     }:
+     mkDerivation {
+       pname = "conduit-combinators";
+       version = "1.1.0";
+       sha256 = "ff1f16f24e2c186ce5d61f079b318e2f58c4bc3a4a2c8d9011d001512786335a";
+       libraryHaskellDepends = [
+         base base16-bytestring base64-bytestring bytestring chunked-data
+         conduit conduit-extra filepath monad-control mono-traversable
+         mwc-random primitive resourcet text transformers transformers-base
+         unix unix-compat vector void
+       ];
+       testHaskellDepends = [
+         base base16-bytestring base64-bytestring bytestring chunked-data
+         conduit containers directory filepath hspec mono-traversable mtl
+         mwc-random QuickCheck safe silently text transformers vector
+       ];
+       homepage = "https://github.com/snoyberg/mono-traversable";
+       description = "Commonly used conduit functions, for both chunked and unchunked data";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "conduit-connection" = callPackage
     ({ mkDerivation, base, bytestring, conduit, connection, HUnit
      , network, resourcet, test-framework, test-framework-hunit
@@ -45578,8 +45728,8 @@ self: {
      }:
      mkDerivation {
        pname = "consistent";
-       version = "0.0.1";
-       sha256 = "a57d5872c68de93d5f2cf9aaa45c091559ed3877d26eab2b025fae6a60b57b00";
+       version = "0.1.0";
+       sha256 = "f8d983c3c3bc4f0928681c98dac459c18d4dbe64c575d260ac4576e8866a0833";
        libraryHaskellDepends = [
          base lifted-async lifted-base monad-control stm transformers
          transformers-base unordered-containers
@@ -47462,12 +47612,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "crackNum_1_8" = callPackage
+  "crackNum_1_9" = callPackage
     ({ mkDerivation, base, data-binary-ieee754, FloatingHex, ieee754 }:
      mkDerivation {
        pname = "crackNum";
-       version = "1.8";
-       sha256 = "26a592d71d6290c1acda8a8acc72f1e5e2be0461236ac9369ab4bc25647b3dc4";
+       version = "1.9";
+       sha256 = "a5a78b774e17837513b7c6048856c375457095898a59b7f3bbb7f49abb1639c5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -47930,6 +48080,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "criu-rpc-types" = callPackage
+    ({ mkDerivation, base, proto-lens, proto-lens-protoc }:
+     mkDerivation {
+       pname = "criu-rpc-types";
+       version = "0.0.0.1";
+       sha256 = "eb5cbe012507a81ede156858b262f69270308592ba1faf097e00b90eff496aad";
+       setupHaskellDepends = [ base proto-lens-protoc ];
+       libraryHaskellDepends = [ base proto-lens proto-lens-protoc ];
+       homepage = "https://github.com/wayofthepie/haskell-criu-rpc-types";
+       description = "Criu RPC protocol buffer types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "crockford" = callPackage
     ({ mkDerivation, base, digits, QuickCheck, safe }:
      mkDerivation {
@@ -53840,10 +54003,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.0.1";
-       sha256 = "4bc7a6e0de32900ac64b58024ea989c3afaeab0f9a3e1256a04090eb6233b428";
-       revision = "1";
-       editedCabalFile = "a149e10771a65c573ffb2c9ed1c6694f11392590a36d60a9b1c48f02d0e9e77c";
+       version = "1.0.2";
+       sha256 = "75816f0ca8c8c4bd764cc5d55654656839e72179bd047491ad7f9b7826fda845";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -53857,6 +54018,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall-nix" = callPackage
+    ({ mkDerivation, base, containers, data-fix, dhall, hnix
+     , neat-interpolation, optparse-generic, text, trifecta, vector
+     }:
+     mkDerivation {
+       pname = "dhall-nix";
+       version = "1.0.0";
+       sha256 = "a3331f9fd1fb35cbd9aa4690fe755e85d89a3f66f28430108dd4f29f3a994e4e";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers data-fix dhall hnix neat-interpolation text vector
+       ];
+       executableHaskellDepends = [
+         base dhall hnix optparse-generic text trifecta
+       ];
+       description = "Dhall to Nix compiler";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "dia-base" = callPackage
     ({ mkDerivation, base, deepseq }:
      mkDerivation {
@@ -56963,6 +57144,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "doi" = callPackage
+    ({ mkDerivation, async, base, bibtex, directory, filepath
+     , haskeline, MissingH, optparse-applicative, parsec, process
+     , regex-base, regex-compat, regex-tdfa, safe, strict, tagsoup
+     , temporary, time, transformers, urlencoded, utility-ht
+     }:
+     mkDerivation {
+       pname = "doi";
+       version = "0.0.2";
+       sha256 = "202c7a5bf7b49077a287f6d73d55620684c3cbe8c6b0e30f66d333151bb259a5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base bibtex directory filepath haskeline MissingH
+         optparse-applicative parsec process regex-base regex-compat
+         regex-tdfa safe strict tagsoup temporary time transformers
+         urlencoded utility-ht
+       ];
+       executableHaskellDepends = [
+         async base bibtex directory filepath haskeline MissingH
+         optparse-applicative parsec process regex-base regex-compat
+         regex-tdfa safe strict tagsoup temporary time transformers
+         urlencoded utility-ht
+       ];
+       homepage = "http://johannesgerer.com/doi";
+       description = "Automatic Bibtex and fulltext of scientific articles";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "dom-lt" = callPackage
     ({ mkDerivation, array, base, containers }:
      mkDerivation {
@@ -61357,8 +61567,8 @@ self: {
      }:
      mkDerivation {
        pname = "escape-artist";
-       version = "1.0.0";
-       sha256 = "50bd3a9b1e8773abff8d2a863c014978a74f3d4cd17a0c14cd8f4fdfb5740c7e";
+       version = "1.1.0";
+       sha256 = "e2ccea8bfb7e5d6d094b70a47b1449affcffc3e94044351b6a1addcaaad451fe";
        libraryHaskellDepends = [ base bytestring text ];
        testHaskellDepends = [
          base bytestring hspec QuickCheck silently text
@@ -61429,8 +61639,8 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "2.5.0";
-       sha256 = "2cba54c813bb506024889b29ceb75079e31e4172dc79cfa1e48c84337e064fa2";
+       version = "2.5.1";
+       sha256 = "76a75c84c4b4e0d41b28d8f8e73cc746282f5e7e50cfb11fcc252286950c87d9";
        libraryHaskellDepends = [
          base blaze-html bytestring conduit monad-logger persistent
          resourcet tagged text transformers unordered-containers
@@ -61957,7 +62167,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "eventstore_0_14_0_0" = callPackage
+  "eventstore_0_14_0_1" = callPackage
     ({ mkDerivation, aeson, array, base, cereal, classy-prelude
      , connection, containers, dns, dotnet-timespan, http-client, mtl
      , protobuf, random, semigroups, stm, tasty, tasty-hunit, text, time
@@ -61965,8 +62175,8 @@ self: {
      }:
      mkDerivation {
        pname = "eventstore";
-       version = "0.14.0.0";
-       sha256 = "0855c29baa25f14da74804bd324a4e4fb4f51f7609df3d0c6fbb0ef09d81552d";
+       version = "0.14.0.1";
+       sha256 = "0daf1e7c51405053cbcb35ab53f8b1eaaa4e937b985c49762e9e6814f9b380d0";
        libraryHaskellDepends = [
          aeson array base cereal classy-prelude connection containers dns
          dotnet-timespan http-client mtl protobuf random semigroups stm time
@@ -64727,8 +64937,8 @@ self: {
      }:
      mkDerivation {
        pname = "filestore";
-       version = "0.6.2";
-       sha256 = "a545e54c70bd12b5a2dfd9a303784d7eccd1db6a074860263f40fd0dd092d3d7";
+       version = "0.6.3";
+       sha256 = "b1f3ea70bdecb17281c65b14c8f5c6c52e189a30ad102d87a8f9c2fe08d92d57";
        libraryHaskellDepends = [
          base bytestring containers Diff directory filepath old-locale
          parsec process split time utf8-string xml
@@ -66027,8 +66237,8 @@ self: {
      }:
      mkDerivation {
        pname = "fltkhs";
-       version = "0.5.0.2";
-       sha256 = "a8f848eb6d47d1ce3e6d102ec61137737371fb68a112155696629d53f81e2cab";
+       version = "0.5.0.3";
+       sha256 = "6c90ce6d51ebba82fc3148b6a60d0665f941be04f12328ace8ac69ad825bdeec";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal ];
@@ -66270,6 +66480,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fold-debounce_0_2_0_5" = callPackage
+    ({ mkDerivation, base, data-default-class, hspec, stm, stm-delay
+     , time
+     }:
+     mkDerivation {
+       pname = "fold-debounce";
+       version = "0.2.0.5";
+       sha256 = "78c0ff60d8a69193fbd298ece7a20351566c0a5a9adadfae96ff15e902fa594d";
+       libraryHaskellDepends = [
+         base data-default-class stm stm-delay time
+       ];
+       testHaskellDepends = [ base hspec stm time ];
+       homepage = "https://github.com/debug-ito/fold-debounce";
+       description = "Fold multiple events that happen in a given period of time";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fold-debounce-conduit" = callPackage
     ({ mkDerivation, base, conduit, fold-debounce, hspec, resourcet
      , stm, transformers, transformers-base
@@ -66290,6 +66518,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fold-debounce-conduit_0_1_0_5" = callPackage
+    ({ mkDerivation, base, conduit, fold-debounce, hspec, resourcet
+     , stm, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "fold-debounce-conduit";
+       version = "0.1.0.5";
+       sha256 = "253e73bcf6e1cb281acce2c9e39b00b2419032e4f1e0234bd19a473d210f84cc";
+       libraryHaskellDepends = [
+         base conduit fold-debounce resourcet stm transformers
+         transformers-base
+       ];
+       testHaskellDepends = [
+         base conduit hspec resourcet stm transformers
+       ];
+       homepage = "https://github.com/debug-ito/fold-debounce-conduit";
+       description = "Regulate input traffic from conduit Source with Control.FoldDebounce";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "foldl" = callPackage
     ({ mkDerivation, base, bytestring, comonad, containers
      , contravariant, mwc-random, primitive, profunctors, text
@@ -67502,8 +67751,8 @@ self: {
      }:
      mkDerivation {
        pname = "free-vector-spaces";
-       version = "0.1.1.0";
-       sha256 = "fa4066b3cb1e6e58ca471e953154acaca9f978cfc81d3987552da79c4805f1b4";
+       version = "0.1.2.0";
+       sha256 = "68aed93d6e73e9d4e68fceb63e5b276b79558474d66cf44df34be667db1ba4ce";
        libraryHaskellDepends = [
          base lens linear MemoTrie vector vector-space
        ];
@@ -69122,8 +69371,8 @@ self: {
      }:
      mkDerivation {
        pname = "gegl";
-       version = "0.0.0.2";
-       sha256 = "475adb9ff07a1e8cc314e441c76e76e46919e842c77ec092b9ed8d7847549e95";
+       version = "0.0.0.4";
+       sha256 = "cd938dcc3042980669f01186cc4d0a52d03a5b8cf14553598ef6c04e0748f822";
        libraryHaskellDepends = [
          babl base containers glib inline-c monad-loops random split
          template-haskell
@@ -69859,8 +70108,8 @@ self: {
        pname = "genvalidity-hspec";
        version = "0.3.0.0";
        sha256 = "0d25376307b9bbbf8a7d438f0e9252e86f1f3227c356a2979f002ebb711d612d";
-       revision = "1";
-       editedCabalFile = "cd36781a3c2aa0a77ed801ae246560f8e04901bfae7cf88139fa68eb3c5e0e25";
+       revision = "2";
+       editedCabalFile = "dc8f7ce63cb185436f09ee5ff581a6b6430576a9e1053849321cd4d4ad653719";
        libraryHaskellDepends = [
          base genvalidity hspec QuickCheck validity
        ];
@@ -77725,17 +77974,19 @@ self: {
      }) {};
 
   "graflog" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, hspec, mtl, test-fixture
-     , text, text-conversions
+    ({ mkDerivation, aeson, base, bytestring, containers, hspec, mtl
+     , test-fixture, text, text-conversions
      }:
      mkDerivation {
        pname = "graflog";
-       version = "1.0.0";
-       sha256 = "fcc205034be28055c3f6550e09a94bec4561530926151d7710001b53293c17c0";
+       version = "3.0.0";
+       sha256 = "4f1022278257fb078ba136050f4f919047bdc0f9a9a3e4d97b9cdcd2740feaf6";
        libraryHaskellDepends = [
-         aeson base bytestring text text-conversions
+         aeson base bytestring containers text text-conversions
+       ];
+       testHaskellDepends = [
+         aeson base containers hspec mtl test-fixture text
        ];
-       testHaskellDepends = [ base hspec mtl test-fixture ];
        homepage = "https://github.com/m-arnold/graflog#readme";
        description = "Monadic correlated log events";
        license = stdenv.lib.licenses.bsd3;
@@ -81590,8 +81841,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll";
-       version = "4.9.3.0";
-       sha256 = "f15c6cd2118501fa6be44e3cb3d9f37a22fced0fd1ebd64236277e2daf622e7a";
+       version = "4.9.5.0";
+       sha256 = "47cb6b1859911f638a69ff7cc4fb3ca837be56c51a98b5ff98e43f638ac406d7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -83749,8 +84000,8 @@ self: {
     ({ mkDerivation, base, bytestring, containers, split }:
      mkDerivation {
        pname = "hashids";
-       version = "1.0.2.2";
-       sha256 = "989d7d1f50738c664230629b3e43340c929d5995ab978837748a5cc22aaaf308";
+       version = "1.0.2.3";
+       sha256 = "ecd74235e8f729514214715b828bf479701aa4b777e4f104ea07534a30822534";
        libraryHaskellDepends = [ base bytestring containers split ];
        testHaskellDepends = [ base bytestring containers split ];
        homepage = "http://hashids.org/";
@@ -88585,8 +88836,8 @@ self: {
        pname = "heist";
        version = "1.0.1.0";
        sha256 = "fd4ff3c1bfc1473feb9e913a5cdecaf56bc9db022abc27a76768cb6345c68bcb";
-       revision = "3";
-       editedCabalFile = "35bff91163943a30b86f87edf1873568e88b12ebe70a66d3f5fc146c6af4d84f";
+       revision = "4";
+       editedCabalFile = "d6925d28dee1606c73a16d86ce362e5e6faace458e1dff1fded52c0deac590eb";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder blaze-html bytestring
          containers directory directory-tree dlist filepath hashable
@@ -89339,8 +89590,8 @@ self: {
      }:
      mkDerivation {
        pname = "heterocephalus";
-       version = "1.0.2.3";
-       sha256 = "653de3568644936d8e011bb329efd763d3b9d9f03101b9cf6486c45532453046";
+       version = "1.0.3.0";
+       sha256 = "df5bece7cd4a03df21e82a195b030b59608b991b16b1d7771569d542bbb7ee0b";
        libraryHaskellDepends = [
          base blaze-html blaze-markup containers dlist parsec shakespeare
          template-haskell text
@@ -90345,10 +90596,8 @@ self: {
      }:
      mkDerivation {
        pname = "hierarchy";
-       version = "0.3.1";
-       sha256 = "4ff6dcb89691dbf20de993964ad32904508f5b6569af1e83eaaaf73a271c9c5f";
-       revision = "1";
-       editedCabalFile = "d5f57b7a5087193876ddccfb410a297bcc4d0babb0b7b8233a4bb591d6d0e5eb";
+       version = "0.3.1.2";
+       sha256 = "d0ac3d7099930278da265c1f4fd384e061636834243eb1cf935530bdf66d541d";
        libraryHaskellDepends = [
          base exceptions free mmorph monad-control mtl pipes semigroups
          transformers transformers-base transformers-compat
@@ -90380,6 +90629,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hifi" = callPackage
+    ({ mkDerivation, base, directory, filepath, mustache, parsec
+     , process, text, unix
+     }:
+     mkDerivation {
+       pname = "hifi";
+       version = "0.1.0.0";
+       sha256 = "6afe6184c86e888a56452a1593830d8fb9514a74d943d9abec7fbc4164fe20de";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base directory filepath mustache parsec process text unix
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       homepage = "https://gitlab.com/gonz/hifi";
+       description = "Initial project template from stack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "highWaterMark" = callPackage
     ({ mkDerivation, base, ghc }:
      mkDerivation {
@@ -90903,20 +91172,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "hip_1_4_0_1" = callPackage
+  "hip_1_5_0_0" = callPackage
     ({ mkDerivation, base, bytestring, Chart, Chart-diagrams, colour
      , deepseq, directory, filepath, hspec, JuicyPixels, netpbm
      , primitive, process, QuickCheck, repa, temporary, vector
      }:
      mkDerivation {
        pname = "hip";
-       version = "1.4.0.1";
-       sha256 = "960a4f964e5a7e82e5948b05da5a0b17122b50afabea86f451475b0c58a9a4c0";
+       version = "1.5.0.0";
+       sha256 = "b8d04faecd4b6adaaa3b0625eef17f0658794ee6fcfa64c522104a0df30206b9";
        libraryHaskellDepends = [
          base bytestring Chart Chart-diagrams colour deepseq directory
          filepath JuicyPixels netpbm primitive process repa temporary vector
        ];
-       testHaskellDepends = [ base hspec QuickCheck ];
+       testHaskellDepends = [ base bytestring hspec QuickCheck ];
        homepage = "https://github.com/lehins/hip";
        description = "Haskell Image Processing (HIP) Library";
        license = stdenv.lib.licenses.bsd3;
@@ -91939,15 +92208,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hlint_1_9_39" = callPackage
+  "hlint_1_9_40" = callPackage
     ({ mkDerivation, ansi-terminal, base, cmdargs, containers, cpphs
      , directory, extra, filepath, haskell-src-exts, hscolour, process
      , refact, transformers, uniplate
      }:
      mkDerivation {
        pname = "hlint";
-       version = "1.9.39";
-       sha256 = "66cffc12e38c0dfbbab61219381c0af6b41a48462a71e3810612ff2bbdc0b38f";
+       version = "1.9.40";
+       sha256 = "68ff63ac4686ac5b09ff71be811af57a2e640af49e3e606f389901b6388594a1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -94939,6 +95208,27 @@ self: {
        hydraPlatforms = [ "x86_64-linux" ];
      }) {inherit (pkgs) ruby;};
 
+  "hruby_0_3_4_3" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, QuickCheck
+     , ruby, scientific, stm, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hruby";
+       version = "0.3.4.3";
+       sha256 = "a1fe68e20ffeae12b12a0f156e58c020c4d2da85dcd773ae4350f7b79aacf9cc";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring scientific stm text
+         unordered-containers vector
+       ];
+       librarySystemDepends = [ ruby ];
+       testHaskellDepends = [
+         aeson attoparsec base QuickCheck text vector
+       ];
+       description = "Embed a Ruby intepreter in your Haskell program !";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) ruby;};
+
   "hs-GeoIP" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, GeoIP }:
      mkDerivation {
@@ -96869,8 +97159,8 @@ self: {
     ({ mkDerivation, base, hslogger, mtl, template-haskell }:
      mkDerivation {
        pname = "hslogger-template";
-       version = "2.0.3";
-       sha256 = "b324e500ee3e05e653ff1ca427895195a53c56ee0c0bc1f2da5f7ad29f14afe0";
+       version = "2.0.4";
+       sha256 = "e8a251f7d50d1bd9a095062e9a8783f140b6f3a995e05257bccb0e36ccb7e7b9";
        libraryHaskellDepends = [ base hslogger mtl template-haskell ];
        description = "Automatic generation of hslogger functions";
        license = stdenv.lib.licenses.publicDomain;
@@ -97283,15 +97573,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hspec_2_3_2" = callPackage
+  "hspec_2_4_0" = callPackage
     ({ mkDerivation, base, call-stack, directory, hspec-core
      , hspec-discover, hspec-expectations, hspec-meta, HUnit, QuickCheck
      , stringbuilder, transformers
      }:
      mkDerivation {
        pname = "hspec";
-       version = "2.3.2";
-       sha256 = "e852f69cd585cc945c2a9aa191ae6f8894f2e7e10685d60bfed29b521f032fb4";
+       version = "2.4.0";
+       sha256 = "8c8119027bb7c6529bb513b53dca1b55d1df3b7c8f083de0c513d993594a873b";
        libraryHaskellDepends = [
          base call-stack hspec-core hspec-discover hspec-expectations HUnit
          QuickCheck transformers
@@ -97377,25 +97667,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hspec-core_2_3_2" = callPackage
-    ({ mkDerivation, ansi-terminal, async, base, call-stack, deepseq
-     , hspec-expectations, hspec-meta, HUnit, process, QuickCheck
-     , quickcheck-io, random, setenv, silently, tf-random, time
-     , transformers
+  "hspec-core_2_4_0" = callPackage
+    ({ mkDerivation, ansi-terminal, array, async, base, call-stack
+     , deepseq, directory, filepath, hspec-expectations, hspec-meta
+     , HUnit, process, QuickCheck, quickcheck-io, random, setenv
+     , silently, temporary, tf-random, time, transformers
      }:
      mkDerivation {
        pname = "hspec-core";
-       version = "2.3.2";
-       sha256 = "1c6d5d07475a4de72837b1739e0e94cfa2896e762af403d1978ee4df683541b9";
+       version = "2.4.0";
+       sha256 = "0703c133b0f85df86c9b0b9bf00fa9ef1c51ca914ac6aef8b15ec6b9db78c353";
        libraryHaskellDepends = [
-         ansi-terminal async base call-stack deepseq hspec-expectations
-         HUnit QuickCheck quickcheck-io random setenv tf-random time
-         transformers
+         ansi-terminal array async base call-stack deepseq directory
+         filepath hspec-expectations HUnit QuickCheck quickcheck-io random
+         setenv tf-random time transformers
        ];
        testHaskellDepends = [
-         ansi-terminal async base call-stack deepseq hspec-expectations
-         hspec-meta HUnit process QuickCheck quickcheck-io random setenv
-         silently tf-random time transformers
+         ansi-terminal array async base call-stack deepseq directory
+         filepath hspec-expectations hspec-meta HUnit process QuickCheck
+         quickcheck-io random setenv silently temporary tf-random time
+         transformers
        ];
        homepage = "http://hspec.github.io/";
        description = "A Testing Framework for Haskell";
@@ -97419,12 +97710,12 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hspec-discover_2_3_2" = callPackage
+  "hspec-discover_2_4_0" = callPackage
     ({ mkDerivation, base, directory, filepath, hspec-meta }:
      mkDerivation {
        pname = "hspec-discover";
-       version = "2.3.2";
-       sha256 = "fd36c9b91d417d0bb9041e0c2f148fa593dd752d4d62a8ca156fb3d8f88fe35f";
+       version = "2.4.0";
+       sha256 = "563d0b596cac68f5c0dcb8f361cd017bed32f817835e8c6b5858d1902e743bb3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory filepath ];
@@ -98029,8 +98320,8 @@ self: {
     ({ mkDerivation, base, hspec, QuickCheckVariant }:
      mkDerivation {
        pname = "hspecVariant";
-       version = "0.1.0.0";
-       sha256 = "2ca22b48d9535b9099a38df0d26dc7bd694632e5ba0b50791450fdf540912d0c";
+       version = "0.1.0.1";
+       sha256 = "d54fcc1e543c718732088e6579401cba5b62e01f1b9021429e958e3e2ba2866e";
        libraryHaskellDepends = [ base hspec QuickCheckVariant ];
        homepage = "https://github.com/sanjorgek/hspecVariant";
        description = "Spec for testing properties for variant types";
@@ -98043,8 +98334,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspkcs11";
-       version = "0.2";
-       sha256 = "c66b9527f152d5ed29d5de18883905863a3b87fa177514ad0728cb56ae172f98";
+       version = "0.3";
+       sha256 = "c95ba5b7a560b0e1d2b1e11fec7dca72a253232ba9def3081b2313c8b103f7b1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -98055,6 +98346,7 @@ self: {
          base bytestring cipher-aes cprng-aes crypto-api RSA testpack unix
          utf8-string
        ];
+       executableToolDepends = [ c2hs ];
        homepage = "https://github.com/denisenkom/hspkcs11";
        description = "Wrapper for PKCS #11 interface";
        license = stdenv.lib.licenses.mit;
@@ -98834,8 +99126,8 @@ self: {
     ({ mkDerivation, base, bytestring, com_err, mtl, time, zephyr }:
      mkDerivation {
        pname = "hszephyr";
-       version = "0.1";
-       sha256 = "593b213b298bdda179bd97b013e4e7ad52ddab1ae9f18c7595710bdc58ccff51";
+       version = "0.2";
+       sha256 = "9175c7cdae7e37f86cd28b38c213b00c458b789758bb675e2012c2b68e91f418";
        libraryHaskellDepends = [ base bytestring mtl time ];
        librarySystemDepends = [ com_err zephyr ];
        description = "Simple libzephyr bindings";
@@ -105061,12 +105353,14 @@ self: {
        pname = "integer-logarithms";
        version = "1";
        sha256 = "9a34b7a9ea6cf0e760159913f41305f786fd027efce3c4e4fe700c2a46cf103c";
+       revision = "2";
+       editedCabalFile = "ee7f145ff4250ef4babd7e0b679b1a26c79da0897da2453cc12281a78f992a04";
        libraryHaskellDepends = [ array base ghc-prim integer-gmp ];
        testHaskellDepends = [
          base QuickCheck smallcheck tasty tasty-hunit tasty-quickcheck
          tasty-smallcheck
        ];
-       homepage = "https://github.com/phadej/integer-logarithms";
+       homepage = "https://github.com/Bodigrim/integer-logarithms";
        description = "Integer logarithms";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -105454,8 +105748,8 @@ self: {
      }:
      mkDerivation {
        pname = "intro";
-       version = "0.1.0.4";
-       sha256 = "a8475b8a72bbd9ef8b712defc8206c3eac6dbb3917d52a57e4175b363acf1f84";
+       version = "0.1.0.5";
+       sha256 = "0803d38f425d8f338d7ce5ae5e0755b59f39ae54a7ccc44a381a2840f3d48cb0";
        libraryHaskellDepends = [
          base bifunctors binary bytestring containers deepseq dlist extra
          hashable mtl safe string-conversions tagged text transformers
@@ -110229,7 +110523,7 @@ self: {
      }) {};
 
   "keysafe" = callPackage
-    ({ mkDerivation, aeson, argon2, async, base, binary, bloomfilter
+    ({ mkDerivation, aeson, argon2, async, base, bloomfilter
      , bytestring, containers, deepseq, directory, disk-free-space
      , exceptions, fast-logger, filepath, http-client, lifted-base
      , MonadRandom, network, optparse-applicative, process, raaz, random
@@ -110240,20 +110534,20 @@ self: {
      }:
      mkDerivation {
        pname = "keysafe";
-       version = "0.20161107";
-       sha256 = "ded1fd52ede4c574a4dd85ff60296f0e1bfe9b248857ee83025247790a03dfe7";
+       version = "0.20170122";
+       sha256 = "39349c641898e77e340d171263a9b2d860089a4ae7a6068a563e8e6647a1fd7e";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         aeson argon2 async base binary bloomfilter bytestring containers
-         deepseq directory disk-free-space exceptions fast-logger filepath
+         aeson argon2 async base bloomfilter bytestring containers deepseq
+         directory disk-free-space exceptions fast-logger filepath
          http-client lifted-base MonadRandom network optparse-applicative
          process raaz random random-shuffle readline SafeSemaphore
          secret-sharing servant servant-client servant-server socks split
          stm text time token-bucket transformers unbounded-delays unix
          unix-compat utf8-string wai warp zxcvbn-c
        ];
-       homepage = "https://joeyh.name/code/keysafe/";
+       homepage = "https://keysafe.branchable.com/";
        description = "back up a secret key securely to the cloud";
        license = stdenv.lib.licenses.agpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -111625,8 +111919,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdacube-gl";
-       version = "0.5.2.0";
-       sha256 = "6552d8dc5aa3d1639155d42890934aeaa19afe6c5feafee041199ad98cfbd165";
+       version = "0.5.2.2";
+       sha256 = "9dda0c70df5caddee65ca89cabb4e7b169f413f7bf54cab15ec66b3df9154c5e";
        libraryHaskellDepends = [
          base bytestring containers JuicyPixels lambdacube-ir mtl OpenGLRaw
          vector vector-algorithms
@@ -113783,6 +114077,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lens-family-th_0_4_1_0" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "lens-family-th";
+       version = "0.4.1.0";
+       sha256 = "084yng26xyhw6c6hij3p70zvjpvm1dlw6klphw51car9gi6dqkvm";
+       libraryHaskellDepends = [ base template-haskell ];
+       homepage = "http://github.com/DanBurton/lens-family-th#readme";
+       description = "Generate lens-family style lenses";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "lens-family-th" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
@@ -113976,8 +114282,8 @@ self: {
      }:
      mkDerivation {
        pname = "lentil";
-       version = "1.0.7.0";
-       sha256 = "582a1191b8ac60a4a50fa9361a48f0fe58686ab94db7dbc13bee07e57a20e615";
+       version = "1.0.8.0";
+       sha256 = "108af2057f56b74a8a42e8f1bbb47e7af64cff612bb90f886e93f6118651154e";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -118111,6 +118417,8 @@ self: {
        pname = "lrucaching";
        version = "0.3.1";
        sha256 = "2f287ea60d721f58474dc105dec953f98ce9a41dd1897647ef68a48605b132d6";
+       revision = "1";
+       editedCabalFile = "d6cfaad57c507189c9c63c24c96b551ce36f8bd035baceda4b9d187a98fef060";
        libraryHaskellDepends = [
          base base-compat deepseq hashable psqueues vector
        ];
@@ -119077,8 +119385,8 @@ self: {
      }:
      mkDerivation {
        pname = "madlang";
-       version = "0.1.0.2";
-       sha256 = "8ce44a28bff7b1c22554719aa94adb529482745a2ddc0efd5e06bff4f77ad53c";
+       version = "0.1.0.3";
+       sha256 = "da323b35826c891860b6d93a79cc4d83c53ab7d4f558fab23bc706ac8fb58d43";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -120750,6 +121058,8 @@ self: {
        pname = "mcm";
        version = "0.6.5.0";
        sha256 = "35dd7823314ff88d64fc533429a188f455c9dc3dc55abe12f37d791fbf22c5ed";
+       revision = "1";
+       editedCabalFile = "f80a81b16f1133ff0d7ba1468633a76ffb28dde2b1b2edf6f14718856886d0aa";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -124543,6 +124853,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "monadoid" = callPackage
+    ({ mkDerivation, base, monad-control, mtl, transformers-base }:
+     mkDerivation {
+       pname = "monadoid";
+       version = "0.0.2";
+       sha256 = "26c2e9fb0456dbec761c6d9723ad33cbb9fcd3a1318ff4197859d766e14ec877";
+       libraryHaskellDepends = [
+         base monad-control mtl transformers-base
+       ];
+       description = "A monoid for monads";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "monadplus" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -125130,6 +125453,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "more-extensible-effects" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "more-extensible-effects";
+       version = "0.1.0.0";
+       sha256 = "e7d3dfd5e6982f7a071acca3180d2968c621fb91b50fa44aaa64f22734b46357";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/qzchenwl/more-extensible-effects#readme";
+       description = "Initial project template from stack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "morfette" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , directory, filepath, mtl, pretty, QuickCheck, text, utf8-string
@@ -130205,6 +130540,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "non-empty-zipper" = callPackage
+    ({ mkDerivation, base, checkers, QuickCheck }:
+     mkDerivation {
+       pname = "non-empty-zipper";
+       version = "0.1.0.5";
+       sha256 = "196e30fd12ce74458a62b8b61ea7c1f6cec4d5999f465d2ccb11b394c3ed77b4";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base checkers QuickCheck ];
+       description = "The Zipper for NonEmpty";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "non-negative" = callPackage
     ({ mkDerivation, base, QuickCheck, utility-ht }:
      mkDerivation {
@@ -131829,15 +132176,16 @@ self: {
      }) {};
 
   "one-liner" = callPackage
-    ({ mkDerivation, base, contravariant, ghc-prim, profunctors
-     , transformers
+    ({ mkDerivation, base, bifunctors, contravariant, ghc-prim
+     , profunctors, tagged, transformers
      }:
      mkDerivation {
        pname = "one-liner";
-       version = "0.6";
-       sha256 = "40b4ed5de04d7f32a1297c33eedc971abd0652c156cfb89172fbeccdeda1e17f";
+       version = "0.7";
+       sha256 = "2ea06f985f3755c870b2cdcd9b7ab0d541b51e1687507acccd833eb2de258ab4";
        libraryHaskellDepends = [
-         base contravariant ghc-prim profunctors transformers
+         base bifunctors contravariant ghc-prim profunctors tagged
+         transformers
        ];
        homepage = "https://github.com/sjoerdvisscher/one-liner";
        description = "Constraint-based generics";
@@ -134349,15 +134697,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pandoc-types_1_17_0_5" = callPackage
+  "pandoc-types_1_19" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, deepseq
      , ghc-prim, HUnit, QuickCheck, string-qq, syb, test-framework
      , test-framework-hunit, test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "pandoc-types";
-       version = "1.17.0.5";
-       sha256 = "c8825588b587ff5ed0c105156a11a43f3b752279997231cfc13102809bbc51b3";
+       version = "1.19";
+       sha256 = "2bdd244a1a8fda8d3da07b7e0ffbfe54d7808709bb35825963177b112d4dcccf";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq ghc-prim QuickCheck syb
        ];
@@ -135757,8 +136105,8 @@ self: {
      }:
      mkDerivation {
        pname = "patat";
-       version = "0.4.7.0";
-       sha256 = "f0e1dafb87d6a09c9cc3dae0dfab740c7b387327c913e2512a4aae9feb5d4f3c";
+       version = "0.4.7.1";
+       sha256 = "9e05e5510afd0b2c031e6115ee68749d0075c7357d536c67e34e60f1ea71da13";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -138251,7 +138599,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "pinboard_0_9_12_3" = callPackage
+  "pinboard_0_9_12_4" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, hspec
      , http-client, http-client-tls, http-types, monad-logger, mtl
      , network, profunctors, QuickCheck, random, safe-exceptions
@@ -138260,8 +138608,8 @@ self: {
      }:
      mkDerivation {
        pname = "pinboard";
-       version = "0.9.12.3";
-       sha256 = "b38931a4cd32bc6a43862c38116779af76c0b5b5eb6f117ba6b60ef3f717324b";
+       version = "0.9.12.4";
+       sha256 = "a64c3dab19bedbe341406a0897a323d9f7830f384856f01a8d0a2cf5ae591e99";
        libraryHaskellDepends = [
          aeson base bytestring containers http-client http-client-tls
          http-types monad-logger mtl network profunctors random
@@ -138814,10 +139162,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-files";
-       version = "0.1.1";
-       sha256 = "a895f464790996ca19195fe605040520660087a36e8c6316fe6647bc23d516aa";
-       revision = "1";
-       editedCabalFile = "5ac3b0b50d526ba7e9018a8870d0df0e981c0365d1a0650bc84959dd1a80da83";
+       version = "0.1.2";
+       sha256 = "7c76760998925020f912d0da9f67938bfdb96858b63771bd5c2696b0de1a4531";
        libraryHaskellDepends = [
          attoparsec base bytestring directory exceptions filepath free
          hierarchy mmorph monad-control mtl pipes pipes-safe posix-paths
@@ -138886,10 +139232,8 @@ self: {
     ({ mkDerivation, base, containers, heaps, pipes }:
      mkDerivation {
        pname = "pipes-interleave";
-       version = "1.1.0";
-       sha256 = "bd083ec1cc9f35ee393763b18581835d8124b358480ae91c6473308af642d8c4";
-       revision = "1";
-       editedCabalFile = "d198f42613a501edcdd6f66ad1991b0ba0a2de01453b001e95b0627f87a5853c";
+       version = "1.1.1";
+       sha256 = "2758429d9da110fcd8037d2db301813c5635c28e89c01e91c709663d090aef50";
        libraryHaskellDepends = [ base containers heaps pipes ];
        homepage = "http://github.com/bgamari/pipes-interleave";
        description = "Interleave and merge streams of elements";
@@ -141445,6 +141789,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "postgresql-simple-url_0_2_0_0" = callPackage
+    ({ mkDerivation, base, network-uri, postgresql-simple, split, tasty
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "postgresql-simple-url";
+       version = "0.2.0.0";
+       sha256 = "f7d85afe7dd047c63aa56cc67e8d28e1d18f33baff8ee447adc5bec427b6ea4c";
+       libraryHaskellDepends = [
+         base network-uri postgresql-simple split
+       ];
+       testHaskellDepends = [
+         base postgresql-simple tasty tasty-quickcheck
+       ];
+       homepage = "https://github.com/futurice/postgresql-simple-url";
+       description = "Parse postgres:// url into ConnectInfo";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "postgresql-transactional" = callPackage
     ({ mkDerivation, base, monad-control, mtl, postgresql-simple }:
      mkDerivation {
@@ -142385,8 +142749,8 @@ self: {
      }:
      mkDerivation {
        pname = "pretty-simple";
-       version = "1.1.0.0";
-       sha256 = "ebb343d0a26d88c4700a2b60d5185b8444e879cc7ed60b79eec157b004325aa8";
+       version = "1.1.0.2";
+       sha256 = "0286520edbca9018b254b2a0a8839b03904c1da4919dfd19433bb9c7c7ada1a2";
        libraryHaskellDepends = [
          ansi-terminal base containers lens mono-traversable mtl parsec
          semigroups text transformers
@@ -147706,6 +148070,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "rbpcp-api" = callPackage
+    ({ mkDerivation, aeson, base, base16-bytestring, bytestring, cereal
+     , haskoin-core, servant, string-conversions, text
+     }:
+     mkDerivation {
+       pname = "rbpcp-api";
+       version = "0.1.0.0";
+       sha256 = "16290f21dc85b53a4738753a7c827584bfd2455d1e0f0d11f78c2520448afd06";
+       libraryHaskellDepends = [
+         aeson base base16-bytestring bytestring cereal haskoin-core servant
+         string-conversions text
+       ];
+       homepage = "http://paychandoc.runeks.me/";
+       description = "RESTful Bitcoin Payment Channel Protocol Servant API description";
+       license = "unknown";
+     }) {};
+
   "rbr" = callPackage
     ({ mkDerivation, base, bio, bytestring, containers }:
      mkDerivation {
@@ -150366,23 +150747,23 @@ self: {
      }) {};
 
   "remarks" = callPackage
-    ({ mkDerivation, base, directory, filepath, GenericPretty, pretty
-     , tasty, tasty-golden, tasty-hunit
+    ({ mkDerivation, base, containers, directory, filepath
+     , GenericPretty, pretty, tasty, tasty-golden, tasty-hunit
      }:
      mkDerivation {
        pname = "remarks";
-       version = "0.1.9";
-       sha256 = "fe76db6ef442c2b7cf234a909e359651ac7dddc9c603c78d49f2094805a1542b";
+       version = "0.1.11";
+       sha256 = "769f3e9bd64926a8bf00e76d60265baf02d69d3622a161f5e43e3b21a4f0e245";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base GenericPretty pretty ];
+       libraryHaskellDepends = [ base containers GenericPretty pretty ];
        executableHaskellDepends = [
          base directory filepath GenericPretty
        ];
        testHaskellDepends = [
          base GenericPretty tasty tasty-golden tasty-hunit
        ];
-       homepage = "https://github.com/oleks/remarks#readme";
+       homepage = "https://github.com/DIKU-EDU/remarks#readme";
        description = "A DSL for marking student work";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -153795,6 +154176,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "safe_0_3_11" = callPackage
+    ({ mkDerivation, base, deepseq, QuickCheck }:
+     mkDerivation {
+       pname = "safe";
+       version = "0.3.11";
+       sha256 = "6a58c8199a8c5ee7ca14077b69c2e876b29be51c797ec4b93de9c7ab3c7bd879";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base deepseq QuickCheck ];
+       homepage = "https://github.com/ndmitchell/safe#readme";
+       description = "Library of safe (exception free) functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "safe-access" = callPackage
     ({ mkDerivation, base, mtl, transformers }:
      mkDerivation {
@@ -155781,8 +156176,8 @@ self: {
      }:
      mkDerivation {
        pname = "scroll";
-       version = "1.20151219";
-       sha256 = "4f91c20e645ee715c9d3549fffffcc58943bee4fb3ba2e622e0189ccb70dd050";
+       version = "1.20170122";
+       sha256 = "89b5636f8ff2e540892a1b6fb96d3c1bb7b287c13f24c94c143e99afdca38b38";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -160437,8 +160832,8 @@ self: {
      }:
      mkDerivation {
        pname = "simple-conduit";
-       version = "0.5.1";
-       sha256 = "f997a94736b90abfd6abc08a56e59c02cd42ab549f35148c68ce40c11b03c7cb";
+       version = "0.6.0";
+       sha256 = "184446555a051992f1a7111af95e84c6cf4a89bdd97c68d354cf9100cb2414fe";
        libraryHaskellDepends = [
          base bifunctors bytestring chunked-data containers either
          exceptions filepath free lifted-async lifted-base mmorph
@@ -161621,8 +162016,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.1.1";
-       sha256 = "010c00a96fe61acb2650695633705a19ebda535822862887b94aadc31177945b";
+       version = "0.1.1.1";
+       sha256 = "27722ea3ac638ace239b241a27a6c66ea9ca1580d5eb97985ec766b88acc4775";
        libraryHaskellDepends = [
          aeson base blaze-html bytestring case-insensitive containers
          directory filepath hxt mtl regex-pcre-builtin safe text utf8-string
@@ -161702,8 +162097,8 @@ self: {
      }:
      mkDerivation {
        pname = "slack-api";
-       version = "0.10";
-       sha256 = "0b9b6688858b85d9c40a6cfd670658330671173ac309326936ff07c931afb452";
+       version = "0.11";
+       sha256 = "aa4c71bd6e877bca8d5e4cdb516c4049eb9068e287205985fd4305d78425d0c3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -164096,10 +164491,8 @@ self: {
      }:
      mkDerivation {
        pname = "socket-unix";
-       version = "0.1.0.0";
-       sha256 = "34c71e014e728a4c5f31fbb55ac0d46f049969a8860e2b8629369f4d83429f2d";
-       revision = "1";
-       editedCabalFile = "082468d0b01112a99fffa76d7ff1bbe1b0ebbf878b3364fecec64a73fed094a3";
+       version = "0.1.1.0";
+       sha256 = "7541dd005761c6d08f8a87fe8157e1cfde128437c3bb3b9a72f3052f799ebd0f";
        libraryHaskellDepends = [ base bytestring socket ];
        testHaskellDepends = [
          async base bytestring socket tasty tasty-hunit unix
@@ -167732,6 +168125,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "stopwatch_0_1_0_4" = callPackage
+    ({ mkDerivation, base, clock, hspec, transformers }:
+     mkDerivation {
+       pname = "stopwatch";
+       version = "0.1.0.4";
+       sha256 = "b9f4c22f93359491c9fd20a0bd1ff9abd7e077aadfce1a213293e7e124b1b5c2";
+       libraryHaskellDepends = [ base clock transformers ];
+       testHaskellDepends = [ base clock hspec ];
+       homepage = "https://github.com/debug-ito/stopwatch";
+       description = "A simple stopwatch utility";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "storable" = callPackage
     ({ mkDerivation, base, mtl }:
      mkDerivation {
@@ -168310,6 +168717,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "streaming-commons_0_1_17" = callPackage
+    ({ mkDerivation, array, async, base, blaze-builder, bytestring
+     , deepseq, directory, hspec, network, process, QuickCheck, random
+     , stm, text, transformers, unix, zlib
+     }:
+     mkDerivation {
+       pname = "streaming-commons";
+       version = "0.1.17";
+       sha256 = "e50a38cb8b626ef2f031c195e22171ffce00e20cbe63e8c768887564a7f47da9";
+       libraryHaskellDepends = [
+         array async base blaze-builder bytestring directory network process
+         random stm text transformers unix zlib
+       ];
+       testHaskellDepends = [
+         array async base blaze-builder bytestring deepseq hspec network
+         QuickCheck text unix zlib
+       ];
+       homepage = "https://github.com/fpco/streaming-commons";
+       description = "Common lower-level functions needed by various streaming data libraries";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "streaming-eversion" = callPackage
     ({ mkDerivation, base, doctest, foldl, microlens, pipes
      , pipes-bytestring, pipes-text, streaming, tasty, tasty-hunit
@@ -168373,8 +168803,8 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-utils";
-       version = "0.1.4.6";
-       sha256 = "fe061b466b47b227b871c40bbb55a90a9425341de32690328ce04adeb2067e51";
+       version = "0.1.4.7";
+       sha256 = "d75d3baaf5afa5a020a8a48830779835112047c4da1b708cfb3901ac6c068d48";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring http-client http-client-tls
          json-stream mtl network network-simple pipes resourcet streaming
@@ -169195,15 +169625,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "stylish-haskell_0_6_5_0" = callPackage
+  "stylish-haskell_0_7_1_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , filepath, haskell-src-exts, HUnit, mtl, optparse-applicative
      , strict, syb, test-framework, test-framework-hunit, yaml
      }:
      mkDerivation {
        pname = "stylish-haskell";
-       version = "0.6.5.0";
-       sha256 = "aeee182f8b6a9492eedd12a45cd9a4abb677e95e1789ddd8681e699f27a5ea78";
+       version = "0.7.1.0";
+       sha256 = "570a643ae6798995a43b0b357005e71c1529ed43ebafa2748fc97a236e0c01bc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -170099,6 +170529,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "sxml" = callPackage
+    ({ mkDerivation, base, containers, polyparse, text, xml-types }:
+     mkDerivation {
+       pname = "sxml";
+       version = "0.1.0.0";
+       sha256 = "ab37bccc87b50d14060ae65d63d0f0ee9eca73962d414f7ae1002a286dd7bd8b";
+       libraryHaskellDepends = [
+         base containers polyparse text xml-types
+       ];
+       homepage = "http://blog.luigiscorner.com/";
+       description = "A SXML-parser";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
   "syb" = callPackage
     ({ mkDerivation, base, containers, HUnit, mtl }:
      mkDerivation {
@@ -172201,6 +172645,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tasty-auto" = callPackage
+    ({ mkDerivation, base, directory, filepath, tasty, tasty-hspec
+     , tasty-hunit, tasty-quickcheck, tasty-smallcheck
+     }:
+     mkDerivation {
+       pname = "tasty-auto";
+       version = "0.1.0.1";
+       sha256 = "ec858ac5f1890af16c7a98ae866231e15ee3f46c374245bd89a9168b52a7d109";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base directory filepath ];
+       executableHaskellDepends = [ base directory filepath ];
+       testHaskellDepends = [
+         base directory filepath tasty tasty-hspec tasty-hunit
+         tasty-quickcheck tasty-smallcheck
+       ];
+       homepage = "https://github.com/minad/tasty-auto#readme";
+       description = "Simple auto discovery for Tasty";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "tasty-dejafu" = callPackage
     ({ mkDerivation, base, dejafu, tagged, tasty }:
      mkDerivation {
@@ -172313,8 +172778,8 @@ self: {
        pname = "tasty-hspec";
        version = "1.1.3";
        sha256 = "3c597d948cad9c61355a56811533abbad130eb6e4068fd930ab5514c759bfe31";
-       revision = "1";
-       editedCabalFile = "01a77505da91de5d767129a556b345bf6b26265fa047a9f2b7cd8677adab1412";
+       revision = "2";
+       editedCabalFile = "16e03febf0d4bc7921878291345c6658518656d8c8420618e5d72d10143d93f4";
        libraryHaskellDepends = [
          base hspec hspec-core QuickCheck random tagged tasty
          tasty-quickcheck tasty-smallcheck
@@ -175667,12 +176132,11 @@ self: {
     ({ mkDerivation, atomic-primops, base, containers }:
      mkDerivation {
        pname = "thread-local-storage";
-       version = "0.1.0.4";
-       sha256 = "3e87f35f3cabfedbd39810f33b7b167832aac008f4f458a2b2411349506b8239";
-       revision = "1";
-       editedCabalFile = "3bba7e8933033aa92c2767ccee383d84cc36a791773aff56d51ea95ecf12d90f";
+       version = "0.1.1";
+       sha256 = "11a0dfa77abf3d39e33529975aade945b0a6720143b3b134fd9460b0889845ca";
        libraryHaskellDepends = [ base containers ];
-       testHaskellDepends = [ atomic-primops base containers ];
+       testHaskellDepends = [ atomic-primops base ];
+       homepage = "https://github.com/rrnewton/thread-local-storage";
        description = "Several options for thread-local-storage (TLS) in Haskell";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -176001,8 +176465,8 @@ self: {
      }:
      mkDerivation {
        pname = "tibetan-utils";
-       version = "0.1.0.2";
-       sha256 = "6afa74aaef0d2fa8ae42f840ab19100f747abc8ddef5e1ffd1186f0a0035182c";
+       version = "0.1.0.4";
+       sha256 = "64fe33564b370cb906fa877d5f130c25618800351c12bc6fb6fed77edd3af1ae";
        libraryHaskellDepends = [
          base composition either megaparsec text text-show
        ];
@@ -181340,18 +181804,16 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "unfoldable_0_9_1" = callPackage
-    ({ mkDerivation, base, containers, ghc-prim, QuickCheck, random
-     , transformers
+  "unfoldable_0_9_2" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, one-liner, QuickCheck
+     , random, transformers
      }:
      mkDerivation {
        pname = "unfoldable";
-       version = "0.9.1";
-       sha256 = "08e2565142d11f21242d631dfd78ad02da93fd6fa3e75af0df4c1024123db236";
-       revision = "1";
-       editedCabalFile = "6b047ce80f7c2eab1edef56df078b25bd86bcb496f1c8f9962758a229324ef7c";
+       version = "0.9.2";
+       sha256 = "9592ec5b6d021fe5c93bc2a047e4f9dddb4bc688bae546fb357e8cd4071b0e04";
        libraryHaskellDepends = [
-         base containers ghc-prim QuickCheck random transformers
+         base containers ghc-prim one-liner QuickCheck random transformers
        ];
        homepage = "https://github.com/sjoerdvisscher/unfoldable";
        description = "Class of data structures that can be unfolded";
@@ -181602,16 +182064,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "unicode-transforms_0_2_0" = callPackage
+  "unicode-transforms_0_2_1" = callPackage
     ({ mkDerivation, base, bitarray, bytestring, deepseq
      , getopt-generics, QuickCheck, split, text
      }:
      mkDerivation {
        pname = "unicode-transforms";
-       version = "0.2.0";
-       sha256 = "3b27ca1ae8f0a906fbbefe1de819a80a01933610a4657ef6383db2590fdecb0e";
-       revision = "1";
-       editedCabalFile = "33480d6bb76758c9016397d10769d6ebf2db4004391961ad6dff05610a67d380";
+       version = "0.2.1";
+       sha256 = "1d8baa0de3c58685aa1e476961f7f3765395ba257d79258c66e86b06a87f3abc";
        libraryHaskellDepends = [ base bitarray bytestring text ];
        testHaskellDepends = [
          base deepseq getopt-generics QuickCheck split text
@@ -182070,8 +182530,8 @@ self: {
      }:
      mkDerivation {
        pname = "universum";
-       version = "0.2";
-       sha256 = "e913282eb9952229d109544c1f4541d8fce503d6ab77e38dc50330423d91e665";
+       version = "0.2.1";
+       sha256 = "e5f8c58824cbf559fb3632ff5a00190870e254262a0f4db9dfde7bc2bc423d21";
        libraryHaskellDepends = [
          async base bytestring containers deepseq exceptions ghc-prim
          hashable microlens microlens-mtl mtl safe stm text text-format
@@ -184184,8 +184644,8 @@ self: {
      }:
      mkDerivation {
        pname = "vcsgui";
-       version = "0.2.1.1";
-       sha256 = "76fa0af1c68195097059ea05e3bf7337dd94590d5f6d10109b33a2def474176b";
+       version = "0.2.1.2";
+       sha256 = "e58fc0156b8badcb5ee74c81e2c75a1f3e4a047d3154f356ba833e1cb58dc5e1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -185474,38 +185934,37 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "vty_5_14" = callPackage
+  "vty_5_15" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, Cabal, containers
-     , data-default, deepseq, directory, filepath, hashable, HUnit
-     , microlens, microlens-mtl, microlens-th, mtl, parallel, parsec
-     , QuickCheck, quickcheck-assertions, random, smallcheck, stm
-     , string-qq, terminfo, test-framework, test-framework-hunit
+     , deepseq, directory, filepath, hashable, HUnit, microlens
+     , microlens-mtl, microlens-th, mtl, parallel, parsec, QuickCheck
+     , quickcheck-assertions, random, smallcheck, stm, string-qq
+     , terminfo, test-framework, test-framework-hunit
      , test-framework-smallcheck, text, transformers, unix, utf8-string
      , vector
      }:
      mkDerivation {
        pname = "vty";
-       version = "5.14";
-       sha256 = "6f96be6c79c55850f09589b940bfebcc774adddf8a8258af2235320893c53912";
+       version = "5.15";
+       sha256 = "03bf0fa5132c271248e0f721ad9fb3f5003dc93cff99776fcc7cb7920a85d7f7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base blaze-builder bytestring containers data-default deepseq
-         directory filepath hashable microlens microlens-mtl microlens-th
-         mtl parallel parsec stm terminfo text transformers unix utf8-string
-         vector
+         base blaze-builder bytestring containers deepseq directory filepath
+         hashable microlens microlens-mtl microlens-th mtl parallel parsec
+         stm terminfo text transformers unix utf8-string vector
        ];
        executableHaskellDepends = [
-         base containers data-default microlens microlens-mtl mtl
+         base containers microlens microlens-mtl mtl
        ];
        testHaskellDepends = [
-         base blaze-builder bytestring Cabal containers data-default deepseq
-         HUnit microlens microlens-mtl mtl QuickCheck quickcheck-assertions
-         random smallcheck stm string-qq terminfo test-framework
+         base blaze-builder bytestring Cabal containers deepseq HUnit
+         microlens microlens-mtl mtl QuickCheck quickcheck-assertions random
+         smallcheck stm string-qq terminfo test-framework
          test-framework-hunit test-framework-smallcheck text unix
          utf8-string vector
        ];
-       homepage = "https://github.com/coreyoconnor/vty";
+       homepage = "https://github.com/jtdaugherty/vty";
        description = "A simple terminal UI library";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -185769,6 +186228,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "wai-cli" = callPackage
+    ({ mkDerivation, ansi-terminal, base, http-types, monads-tf
+     , network, options, socket-activation, stm, streaming-commons, unix
+     , wai, wai-extra, warp, warp-tls
+     }:
+     mkDerivation {
+       pname = "wai-cli";
+       version = "0.1.0";
+       sha256 = "220d8b3eb52e7b045844be37682f09823a9730115f33ea718717896f74673007";
+       libraryHaskellDepends = [
+         ansi-terminal base http-types monads-tf network options
+         socket-activation stm streaming-commons unix wai wai-extra warp
+         warp-tls
+       ];
+       homepage = "https://github.com/myfreeweb/wai-cli";
+       description = "Command line runner for Wai apps (using Warp) with TLS, CGI, socket activation & graceful shutdown";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
   "wai-conduit" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, conduit
      , http-types, transformers, wai
@@ -186013,8 +186491,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-handler-launch";
-       version = "3.0.2.1";
-       sha256 = "84a466837e6df61be9ae03f8c0241bee374a0493f24f4bdc2a1e5f38ab705864";
+       version = "3.0.2.2";
+       sha256 = "9c94c4da533ebcbbd28cf3dfbeb44a5e953dbf73b53cab0179f16931fa102908";
        libraryHaskellDepends = [
          async base blaze-builder bytestring http-types process
          streaming-commons transformers wai warp
@@ -188569,6 +189047,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "wide-word" = callPackage
+    ({ mkDerivation, base, bytestring, ghc-prim, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "wide-word";
+       version = "0.1.0.0";
+       sha256 = "1a2a5926cbc65afa7bd7dee2ea776779c48d581e980dbc47dfb024391e0836c7";
+       revision = "1";
+       editedCabalFile = "9dad4dd0b247fd7649e70c4cd0a112b9ce1e231981f624653c7ab15fc5f26e5a";
+       libraryHaskellDepends = [ base bytestring ghc-prim ];
+       testHaskellDepends = [ base bytestring ghc-prim hspec QuickCheck ];
+       homepage = "https://github.com/erikd/wide-word";
+       description = "Data types for large but fixed width signed and unsigned integers";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "wigner-symbols" = callPackage
     ({ mkDerivation, base, bytestring, cryptonite }:
      mkDerivation {
@@ -188599,6 +189092,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wikicfp-scraper_0_1_0_7" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, filepath, hspec
+     , scalpel, text, time
+     }:
+     mkDerivation {
+       pname = "wikicfp-scraper";
+       version = "0.1.0.7";
+       sha256 = "1e76ab2361c54b4f68dbe9c099f1e36144b405927abd69e6ee09c2292f65c582";
+       libraryHaskellDepends = [
+         attoparsec base bytestring scalpel text time
+       ];
+       testHaskellDepends = [ base bytestring filepath hspec time ];
+       homepage = "https://github.com/debug-ito/wikicfp-scraper";
+       description = "Scrape WikiCFP web site";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wikipedia4epub" = callPackage
     ({ mkDerivation, base, bytestring, directory, epub, filepath
      , haskell98, HTTP, network, regex-base, regex-posix, tagsoup, url
@@ -188626,8 +189137,8 @@ self: {
      }:
      mkDerivation {
        pname = "wild-bind";
-       version = "0.1.0.2";
-       sha256 = "472a0bec3129e8b0ea60170e0535e602030e1d68c39bfd405c71b246c5211522";
+       version = "0.1.0.3";
+       sha256 = "f2f5764b9b33aee30d87646a849e6db063fde2b92c8bce0e08ebb94b6b9f737f";
        libraryHaskellDepends = [ base containers text transformers ];
        testHaskellDepends = [
          base hspec microlens QuickCheck stm transformers
@@ -188676,8 +189187,8 @@ self: {
      }:
      mkDerivation {
        pname = "wild-bind-x11";
-       version = "0.1.0.4";
-       sha256 = "62b6ca3f4b6fdc19dae22126ff831b2633bf2d5e24c0c5bedc2757ea9a59e45a";
+       version = "0.1.0.5";
+       sha256 = "655f263a134e26a45b1001f7ea861743dbdbd30e69ea4808050c5d3178d557e1";
        libraryHaskellDepends = [
          base containers fold-debounce stm text transformers wild-bind X11
        ];
@@ -188804,21 +189315,20 @@ self: {
      }) {};
 
   "wiringPi" = callPackage
-    ({ mkDerivation, base, wiringPi }:
+    ({ mkDerivation, base }:
      mkDerivation {
        pname = "wiringPi";
-       version = "0.1.0.0";
-       sha256 = "b38a690d3c0e05c892a04f212dcf729f784fb6f05e4ecff2933cd969da04b23f";
+       version = "1.0";
+       sha256 = "78449f9f48bab82bf8e268e0b858171e7539d7b9a61dd92c75a9ea7c1a7523d0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
-       librarySystemDepends = [ wiringPi ];
        executableHaskellDepends = [ base ];
        homepage = "https://github.com/ppelleti/hs-wiringPi";
        description = "Access GPIO pins on Raspberry Pi via wiringPi library";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {wiringPi = null;};
+     }) {};
 
   "with-location" = callPackage
     ({ mkDerivation, base, hspec }:
@@ -191426,8 +191936,8 @@ self: {
        pname = "xmlhtml";
        version = "0.2.3.5";
        sha256 = "e333a1c7afd5068b60b143457fea7325a34408cc65b3ac55f5b342eb0274b06d";
-       revision = "2";
-       editedCabalFile = "7ef4b85552808a9169da9c650ece3b9994a6c6106185a92e73aad50c5e98e6f1";
+       revision = "3";
+       editedCabalFile = "4b5e2c334e6fdcab94095ca5fa805a2353690d3a616733cec0febf2ba2991880";
        libraryHaskellDepends = [
          base blaze-builder blaze-html blaze-markup bytestring containers
          parsec text unordered-containers
@@ -191710,6 +192220,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "xmonad-vanessa" = callPackage
+    ({ mkDerivation, base, containers, process, tibetan-utils, X11
+     , xmonad, xmonad-contrib, xmonad-extras
+     }:
+     mkDerivation {
+       pname = "xmonad-vanessa";
+       version = "0.1.0.1";
+       sha256 = "795192ea6b9510512dd0e7cb1959b6d070089e0fd5c6896218f17af893447290";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers process tibetan-utils X11 xmonad xmonad-contrib
+         xmonad-extras
+       ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/vmchale/xmonad-vanessa#readme";
+       description = "Custom xmonad, which uses stack and sets various defaults";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "xmonad-wallpaper" = callPackage
     ({ mkDerivation, base, magic, mtl, random, unix, xmonad }:
      mkDerivation {
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index c261668edd26..b7777d55667c 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -9,9 +9,10 @@ let
   generic =
     { version, sha256 }:
 
-    let php7 = lib.versionAtLeast version "7.0"; in
+    let php7 = lib.versionAtLeast version "7.0";
+        mysqlHeaders = mysql.lib.dev or mysql;
 
-    composableDerivation.composableDerivation {} (fixed: {
+    in composableDerivation.composableDerivation {} (fixed: {
 
       inherit version;
 
@@ -114,12 +115,12 @@ let
 
         mysql = {
           configureFlags = ["--with-mysql"];
-          buildInputs = [ mysql.lib.dev ];
+          buildInputs = [ mysqlHeaders ];
         };
 
         mysqli = {
-          configureFlags = ["--with-mysqli=${mysql.lib.dev}/bin/mysql_config"];
-          buildInputs = [ mysql.lib.dev ];
+          configureFlags = ["--with-mysqli=${mysqlHeaders}/bin/mysql_config"];
+          buildInputs = [ mysqlHeaders ];
         };
 
         mysqli_embedded = {
@@ -129,8 +130,8 @@ let
         };
 
         pdo_mysql = {
-          configureFlags = ["--with-pdo-mysql=${mysql.lib.dev}"];
-          buildInputs = [ mysql.lib.dev ];
+          configureFlags = ["--with-pdo-mysql=${mysqlHeaders}"];
+          buildInputs = [ mysqlHeaders ];
         };
 
         bcmath = {
diff --git a/pkgs/development/libraries/cil-aterm/cil-aterm-1.3.6.patch b/pkgs/development/libraries/cil-aterm/cil-aterm-1.3.6.patch
deleted file mode 100644
index 97891652853e..000000000000
--- a/pkgs/development/libraries/cil-aterm/cil-aterm-1.3.6.patch
+++ /dev/null
@@ -1,600 +0,0 @@
-diff -urN cil-1.3.6-orig/bin/CilConfig.pm.in cil-1.3.6/bin/CilConfig.pm.in
---- cil-1.3.6-orig/bin/CilConfig.pm.in	2007-02-05 22:10:29.000000000 +0100
-+++ cil-1.3.6/bin/CilConfig.pm.in	2007-03-08 15:02:06.000000000 +0100
-@@ -1,6 +1,6 @@
- 
- $::archos    = "@ARCHOS@";
- $::cc        = "@CC@";
--$::cilhome   = "@CILHOME@";
-+$::cilhome   = "@prefix@";
- $::default_mode = "@DEFAULT_CIL_MODE@";
- 
-diff -urN cil-1.3.6-orig/Makefile.in cil-1.3.6/Makefile.in
---- cil-1.3.6-orig/Makefile.in	2007-02-05 22:10:29.000000000 +0100
-+++ cil-1.3.6/Makefile.in	2007-03-05 15:10:31.000000000 +0100
-@@ -85,6 +85,7 @@
-               cfg liveness reachingdefs deadcodeelim availexps \
-               availexpslv predabst\
-               testcil \
-+	      atermprinter \
- 	      $(CILLY_FEATURES) \
- 	      ciloptions feature_config
- # ww: we don't want "main" in an external cil library (cil.cma),
-@@ -626,6 +627,8 @@
- 
- prefix = @prefix@
- exec_prefix = @exec_prefix@
-+bindir = @prefix@/bin
-+objdir = @prefix@/$(OBJDIR)
- datarootdir = @datarootdir@
- libdir = @libdir@
- pkglibdir = $(libdir)/cil
-@@ -645,6 +648,11 @@
- 	$(INSTALL_DATA) $(install_lib) $(DESTDIR)$(pkglibdir)
- 	$(INSTALL) -d $(DESTDIR)$(pkgdatadir)
- 	$(INSTALL_DATA) $(addprefix lib/, $(filter %.pm, $(DISTRIB_LIB))) $(DESTDIR)$(pkgdatadir)
-+	$(INSTALL) -d $(bindir)
-+	$(INSTALL) -d $(objdir)
-+	$(INSTALL) bin/* $(bindir)
-+	$(INSTALL_DATA) lib/* $(bindir)
-+	$(INSTALL) $(OBJDIR)/*.exe $(objdir)
- 
- cil.spec: cil.spec.in
- 	./config.status $@
-diff -urN cil-1.3.6-orig/ocamlutil/Makefile.ocaml cil-1.3.6/ocamlutil/Makefile.ocaml
---- cil-1.3.6-orig/ocamlutil/Makefile.ocaml	2007-02-05 22:10:29.000000000 +0100
-+++ cil-1.3.6/ocamlutil/Makefile.ocaml	2007-03-05 15:14:01.000000000 +0100
-@@ -192,20 +192,10 @@
- #   $(AT)          - put this before shell commands which are to be executed,
- #                    and also printed in style 2
- #   $(ECHO)        - use in place of '@' for things not printed in either style
--ifdef ECHOSTYLE_SCOTT
--  # 'true' silently consumes its arguments, whereas 'echo' prints them
--  NARRATIVE   := true           
--  COMMAND     := echo
--  AT          := 
--  ECHO        := @
--else
--  NARRATIVE   := echo
--  COMMAND     := true
--  # change these next two definitions to <empty> to echo everything,
--  # or leave as @ to suppress echoing
--  AT          := @
--  ECHO        := @
--endif
-+NARRATIVE   := true           
-+COMMAND     := echo
-+AT          := 
-+ECHO        := @
- 
- ifdef PREPROC
-   COMPILEFLAGS += -pp "$(PREPROC)$"
-diff -urN cil-1.3.6-orig/src/ext/atermprinter.ml cil-1.3.6/src/ext/atermprinter.ml
---- cil-1.3.6-orig/src/ext/atermprinter.ml	1970-01-01 01:00:00.000000000 +0100
-+++ cil-1.3.6/src/ext/atermprinter.ml	2007-03-05 16:48:08.000000000 +0100
-@@ -0,0 +1,514 @@
-+open Cil
-+open Pretty
-+open List
-+open String
-+open Printf
-+module S = String 
-+module E = Errormsg
-+module H = Hashtbl
-+module IH = Inthash
-+
-+let outputfilename = ref "cil.aterm"
-+let trace p = eprintf "%s" (p ^ "\n") ; flush stderr
-+let invalidStmt = mkStmt (Instr [])
-+let id = fun x -> x 
-+let compose f g x = (f (g x))
-+let (@) = compose
-+let pSpace            = text " "
-+let foldl1 op ls      = match ls with
-+			| (x::xs) -> fold_left op x xs
-+                        | _       -> raise (Invalid_argument "foldl1 should not take an empty list")
-+let pPacked d l r     = l ++ d ++ r
-+let pParens d         = pPacked d (text "(") (text ")")
-+let pBraced d         = pPacked d (text "{") (text "}")
-+let pSquared d        = pPacked d (text "[") (text "]")
-+let pSpaced d         = pPacked d pSpace pSpace
-+let pBool b           = (pSpaced @ text @ S.capitalize @ string_of_bool) b
-+let pInt64 i          = text (Int64.to_string i)
-+let pSeqSep sep xs    = match xs with
-+			| [] -> nil
-+                        | _  -> foldl1 (pPacked sep) xs
-+let pCommaSep xs      = pSeqSep (text ",") xs
-+let pPair (a,b)       = (pSpaced @ pParens @ pCommaSep) [a;b]
-+let pTriplet (a,b,c)  = (pSpaced @ pParens @ pCommaSep) [a;b;c]
-+let pSemiColSep xs    = pSeqSep (text ";") xs
-+let pTriple f g h (a,b,c) = (f a, g b, h c)
-+let pDouble f g (a,b) = (f a, g b)
-+let pOption p m  = match m with
-+	         | None   -> text "None()"
-+                 | Some v -> text "Some" ++ pParens( p v )
-+let pSpParens = pSpaced @ pParens
-+let pQuoted str = pPacked (text(escaped str)) (text "\"") (text "\"")
-+let pList   = pSpaced @ pSquared @ pCommaSep
-+let pRecord = pSpaced @ pBraced  @ pCommaSep
-+
-+class atermPrinter : cilPrinter  = 
-+object (self)
-+  inherit defaultCilPrinterClass
-+
-+  (* printing variable declarations; just store the varinfo *)
-+  method pVDecl () (vinfo:varinfo) : doc = if !E.verboseFlag then trace "pVDecl"
-+                                         ; self#pp_varinfo vinfo
-+  (* printing variable uses; same as declarations; store the varinfo *)
-+  method pVar (vinfo:varinfo) : doc = if !E.verboseFlag then trace "pVar" ;
-+    self#pp_varinfo vinfo
-+
-+  method pLval () ((lh, off):lval) : doc = if !E.verboseFlag then trace "pLvalue" ;
-+    text "Lvalue" ++ (pParens @ pCommaSep) [ self#pp_lhost lh ; self#pOffset nil off ] 
-+
-+  (** we are not using the first argument which represents the base from which we are
-+      offsetting, because we just want to generate a tree view of the CIL tree. For a tree view
-+      this base case is not necessary **)
-+  method pOffset (d:doc) (o:offset) : doc = if !E.verboseFlag then trace "pOffset" ;
-+    match o with
-+    | NoOffset           -> text "Offset_NoOffset() "
-+    | Field (finfo, off) -> text "Offset_Field" ++ (pParens @ pCommaSep) [ (self#pFieldDecl ()) finfo ; self#pOffset nil off ]
-+    | Index (e, off)     -> text "Offset_Index" ++ (pParens @ pCommaSep) [ self#pExp () e ; self#pOffset nil off ]
-+  
-+  (*** INSTRUCTIONS ***)
-+  method pInstr () (i:instr) : doc = if !E.verboseFlag then trace "pInstr" ;
-+    match i with
-+    | Set (lv,e,l) -> text "Set" ++ (pParens @ pCommaSep) [ 
-+	self#pLval () lv ;
-+	self#pExp () e ;
-+	self#pp_location l ]
-+    | Call (olv,e, elst, l) -> text "Call" ++ (pParens @ pCommaSep) [
-+	pOption (self#pLval ()) olv ;
-+	self#pExp () e ;
-+	pList (map (self#pExp ()) elst) ;
-+	self#pp_location l]
-+    | Asm (attr, slst1, outs, ins, slst2, l) -> text "Asm" ++ (pParens @ pCommaSep) [
-+	self#pAttrs () attr ;
-+	(pList  @ map pQuoted) slst1 ;
-+	(pList   @ ( map ( pTriplet 
-+	              @ (pTriple (pOption (pQuoted)) (pQuoted) (self#pLval ()))
-+		        ) 
-+		  ) ) outs ;
-+	(pList   @ ( map ( pTriplet 
-+	              @ (pTriple (pOption (pQuoted)) (pQuoted) (self#pExp ()))
-+		        ) 
-+		  ) ) ins ;
-+	(pList  @ map pQuoted) slst2 ;
-+	self#pp_location l]
-+
-+	
-+
-+  (* a statement itself is just a record of info about the statement
-+     the different kinds of statements can be found at pStmtKind *) 
-+  method pStmt () (s:stmt) : doc = if !E.verboseFlag then trace "pStmt" ;
-+    self#pp_stmtinfo s
-+  method dStmt (out:out_channel) (i:int) (s:stmt) : unit = fprint out i (self#pStmt () s)
-+
-+  (* a block is just a record of info about the block of interest.
-+     the real block is a stmtkind (see pStmtKind) *)
-+  method dBlock (out:out_channel) (i:int) (b:block) : unit = fprint out i (self#pBlock () b)
-+  method pBlock () (b:block) : doc = if !E.verboseFlag then trace "pBlock" ;
-+    self#pp_blockinfo b
-+
-+  (*** GLOBALS ***)
-+  method pGlobal () (g:global) : doc = if !E.verboseFlag then trace "pGlobal" ;      (* global (vars, types, etc.) *)
-+    match g with 
-+    | GType        (typ , l) -> text "GlobalType" ++ (pParens @ pCommaSep) [ self#pp_typeinfo typ ; self#pp_location l ]
-+    | GCompTag     (comp, l) -> text "GlobalCompTag" ++ (pParens @ pCommaSep) [ self#pp_compinfo comp ; self#pp_location l ]
-+    | GCompTagDecl (comp, l) -> text "GlobalCompTagDecl" ++ (pParens @ pCommaSep) [ self#pp_compinfo comp ; self#pp_location l ]
-+    | GEnumTag     (enum, l) -> text "GlobalEnumTag" ++ (pParens @ pCommaSep) [ self#pp_enuminfo enum ; self#pp_location l ]
-+    | GEnumTagDecl (enum, l) -> text "GlobalEnumTagDecl" ++ (pParens @ pCommaSep) [ self#pp_enuminfo enum ; self#pp_location l ]
-+    | GVarDecl     (vinf, l) -> text "GlobalVarDecl" ++ (pParens @ pCommaSep) [ self#pp_varinfo vinf ; self#pp_location l ]
-+    | GVar   (vinf, iinf, l) -> text "GlobalVar" ++ (pParens @ pCommaSep) [ self#pp_varinfo vinf ; self#pp_initinfo iinf ; self#pp_location l ]
-+    | GFun         (fdec, l) -> text "GlobalFun" ++ (pParens @ pCommaSep) [ self#pp_fundec fdec ; self#pp_location l ]
-+    | GAsm         (str , l) -> text "GlobalAsm"  ++ (pParens @ pCommaSep) [ pQuoted str ; self#pp_location l ]
-+    | GPragma      (attr, l) -> text "GlobalPragma" ++ (pParens @ pCommaSep) [ (fun (doc1, bool1) -> doc1) (self#pAttr attr)
-+                                                        ; self#pp_location l
-+                                        ]
-+    | GText str -> text "GlobalText" ++ pParens( pQuoted str)
-+  method dGlobal (out:out_channel) (g:global) : unit = fprint out 80 (self#pGlobal () g)
-+
-+  (* a fielddecl is just a record containing info about the decl *)
-+  method pFieldDecl () : fieldinfo -> doc = if !E.verboseFlag then trace "pFieldDecl" ;
-+    self#pp_fieldinfo
-+
-+  (*** TYPES ***)
-+  method pType (nameOpt: doc option) (* Whether we are declaring a name or 
-+                                      * we are just printing a type *)
-+               () (t:typ) =  if !E.verboseFlag then trace "pType" ;     (* use of some type *)
-+    match t with
-+    | TVoid  attr         -> text "TVoid" ++ pParens( self#pAttrs () attr)
-+    | TInt   (ikin, attr) -> text "TInt" ++ (pParens @ pCommaSep) [ self#pp_ikind ikin ; self#pAttrs () attr ]
-+    | TFloat (fkin, attr) -> text "TFloat" ++ (pParens @ pCommaSep) [ self#pp_fkind fkin ; self#pAttrs () attr ]
-+    | TPtr   (t   , attr) -> text "TPtr" ++ (pParens @ pCommaSep) [ self#pType None () t ; self#pAttrs () attr ]
-+    | TArray (t, e, attr) -> text "TArray" ++ (pParens @ pCommaSep) [ self#pType None () t ;
-+	pOption (self#pExp ()) e ; self#pAttrs () attr ]
-+    | TFun (t, olst, b, attr) -> text "TFun" ++ (pParens @ pCommaSep) [ 
-+        self#pType None () t ;
-+	pOption (pList @ (map ( pTriplet
-+                              @ (pTriple (pQuoted) (self#pType None ()) (self#pAttrs ()))
-+                              )     
-+                         )
-+                )
-+                olst ;
-+	pBool b ;
-+	self#pAttrs () attr]
-+    | TNamed (tinfo, attr) -> text "TNamed" ++ (pParens @ pCommaSep) [ self#pp_typeinfo tinfo ; self#pAttrs () attr ]
-+    | TComp  (cinfo, attr) -> text "TComp" ++ (pParens @ pCommaSep) [ (text @ string_of_int) cinfo.ckey ;
-+                                                           self#pAttrs () attr]
-+    | TEnum  (einfo, attr) -> text "TEnum" ++ (pParens @ pCommaSep) [ self#pp_enuminfo einfo ; self#pAttrs () attr ]
-+    | TBuiltin_va_list (attr) -> text "TBuiltin_va_list" ++ pParens( self#pAttrs () attr)
-+  
-+  (*** ATTRIBUTES ***)
-+  method pAttr (Attr(an, args) : attribute) : (doc * bool) = if !E.verboseFlag then trace "pAttr" ;
-+    ( text "Attr" ++ (pParens @ pCommaSep) [ pQuoted an ; pList (map (self#pAttrParam ()) args) ]
-+    , false
-+    )
-+
-+  method pAttrParam () (p:attrparam) : doc = if !E.verboseFlag then trace "pAttrParam" ;
-+    match p with
-+    | AInt      (i)               -> text "AInt" ++ pParens( pQuoted (string_of_int i))
-+    | AStr      (s)               -> text "AStr" ++ pParens( pQuoted s)
-+    | ACons     (s, args)         -> text "ACons" ++ (pParens @ pCommaSep) [ pQuoted s ; pList (map (self#pAttrParam ()) args) ]
-+    | ASizeOf   (t)               -> text "ASizeOf" ++ pParens( self#pType None () t)
-+    | ASizeOfE  (arg)             -> text "ASizeOfE" ++ pParens( self#pAttrParam () arg)
-+    | ASizeOfS  (tsig)            -> text "ASizeOfS" ++ pParens( self#pp_typsig tsig)
-+    | AAlignOf  (t)               -> text "AAlignOf" ++ pParens( self#pType None () t)
-+    | AAlignOfE (arg)             -> text "AAlignOfE" ++ pParens( self#pAttrParam () arg)
-+    | AAlignOfS (tsig)            -> text "AAlignOfS" ++ pParens( self#pp_typsig tsig)
-+    | AUnOp     (uop, arg)        -> text "AUnOp" ++ (pParens @ pCommaSep) [ self#pp_unop uop ; self#pAttrParam () arg ]
-+    | ABinOp    (bop, arg1, arg2) -> text "ABinOp" ++ (pParens @ pCommaSep) [ self#pp_binop bop 
-+                                                                ; self#pAttrParam () arg1
-+                                                                ; self#pAttrParam () arg2 ]
-+    | ADot      (arg, s)          -> text "ADot" ++ (pParens @ pCommaSep) [ self#pAttrParam () arg ; pQuoted s]
-+    | AStar     (a1)              -> text "AStar" ++ pParens( self#pAttrParam () a1 )
-+    | AAddrOf   (a1)              -> text "AAddrOf" ++ pParens( self#pAttrParam () a1 )
-+    | AIndex    (a1, a2)          -> text "AIndex" ++ (pParens @ pCommaSep) [ self#pAttrParam () a1 
-+                                                                            ; self#pAttrParam () a2 ]
-+    | AQuestion (a1, a2, a3)      -> text "AQuestion" ++ (pParens @ pCommaSep) [ self#pAttrParam () a1 
-+                                                                               ; self#pAttrParam () a2 
-+                                                                               ; self#pAttrParam () a3 ]
-+
-+  (*  | AStar a1 -> 
-+        text "(*" ++ (self#pAttrPrec derefStarLevel () a1) ++ text ")"
-+    | AAddrOf a1 -> text "& " ++ (self#pAttrPrec addrOfLevel () a1)
-+    | AIndex (a1, a2) -> self#pAttrParam () a1 ++ text "[" ++ 
-+                         self#pAttrParam () a2 ++ text "]"
-+    | AQuestion (a1, a2, a3) -> 
-+          self#pAttrParam () a1 ++ text " ? " ++
-+          self#pAttrParam () a2 ++ text " : " ++
-+          self#pAttrParam () a3 
-+*)
-+  method pAttrs () (attr:attributes) : doc = if !E.verboseFlag then trace "pAttrs" ;
-+    text "Attributes" ++ pParens( 
-+               pList (map (fst @ self#pAttr) attr)
-+              )
-+  
-+  (*** LABELS ***)
-+  method pLabel () (l:label) : doc = if !E.verboseFlag then trace "pLabel" ;
-+    match l with
-+    | Label   (s,l,b) -> text "Label" ++ (pParens @ pCommaSep) [
-+	pQuoted s ;
-+	self#pp_location l ;
-+	pBool b ]
-+    | Case    (e,l)   -> text "Case" ++ (pParens @ pCommaSep) [ 
-+	self#pExp () e ;
-+	self#pp_location l ]
-+    | Default (l)     -> text "Default" ++ pParens( self#pp_location l)
-+
-+  (*** printing out locations as line directives is not necessary
-+       because we are printing the tree structure and locations are
-+       present everywhere ***)
-+  method pLineDirective : ?forcefile:bool -> location -> doc = fun ?forcefile _ -> nil
-+
-+  (*** STATEMENT KINDS ***)
-+  method pStmtKind s () (sk:stmtkind) : doc = if !E.verboseFlag then trace "pStmtKind" ;
-+    match sk with
-+    | Instr      (ilst)          -> text "Instr" ++ pParens( pList (map (self#pInstr ()) ilst))
-+    | Return     (oe, l)         -> text "Return" ++ (pParens @ pCommaSep) [ pOption (self#pExp ()) oe ; self#pp_location l ]
-+    | Goto       (stmtref, l)    -> text "Goto" ++ (pParens @ pCommaSep) [ self#pStmt () !stmtref ; self#pp_location l ]
-+    | Break      (l)             -> text "Break" ++ pParens( self#pp_location l)
-+    | Continue   (l)             -> text "Continue" ++ pParens( self#pp_location l)
-+    | If         (e, b1, b2, l)  -> text "If" ++ (pParens @ pCommaSep) [ 
-+	self#pExp () e ;
-+	self#pBlock () b1 ;
-+	self#pBlock () b2 ;
-+	self#pp_location l ]
-+    | Switch     (e,b,stlst,l)   -> text "Switch" ++ (pParens @ pCommaSep) [ 
-+	self#pExp () e ;
-+	self#pBlock () b ;
-+	pList (map (self#pStmt ()) stlst) ;
-+	self#pp_location l ]
-+    | Loop       (b,l,os1, os2)  -> text "Loop" ++ (pParens @ pCommaSep) [
-+	self#pBlock () b ;
-+	self#pp_location l ;
-+	pOption (self#pStmt ()) os1 ;
-+	pOption (self#pStmt ()) os2 ]
-+    | Block      (b)             -> text "Block" ++ pParens( self#pBlock () b)
-+    | TryFinally (b1,b2,l)       -> text "TryFinally" ++ (pParens @ pCommaSep) [ 
-+	self#pBlock () b1 ;
-+	self#pBlock () b2 ;
-+	self#pp_location l ]
-+    | TryExcept  (b1, pr, b2, l) -> text "TryExcept" ++ (pParens @ pCommaSep) [ 
-+	self#pBlock () b1 ;
-+	(  pPair
-+         @ pDouble (pList @ map (self#pInstr ())) 
-+                   (self#pExp ())
-+        ) pr ;
-+	self#pBlock () b2 ;
-+	self#pp_location l ]
-+
-+  (*** EXPRESSIONS ***)
-+
-+  method pExp () (e:exp) : doc = if !E.verboseFlag then trace "pExp" ;
-+    match e with
-+    | Const     (c)              -> text "Constant" ++ pParens( self#pp_constant c)
-+    | Lval      (lh,off)         -> text "Lvalue" ++ (pParens @ pCommaSep)  [self#pp_lhost lh ; self#pOffset nil off ]
-+    | SizeOf    (t)              -> text "SizeOfType" ++ pParens( self#pType None () t)
-+    | SizeOfE   (e)              -> text "SizeOfExp" ++ pParens( self#pExp () e)
-+    | SizeOfStr (s)              -> text "SizeOfString" ++ pParens( pQuoted s)
-+    | AlignOf   (t)              -> text "AlignOfType" ++ pParens( self#pType None () t)
-+    | AlignOfE  (e)              -> text "AlignOfExp" ++ pParens( self#pExp () e)
-+    | UnOp      (uop, e, t)      -> text "UnOp" ++ (pParens @ pCommaSep) [ 
-+					self#pp_unop uop ; 
-+                                        self#pExp () e ; 
-+	                                self#pType None () t ]
-+    | BinOp     (bop, e1, e2, t) -> text "BinOp" ++ (pParens @ pCommaSep) [ 
-+                                        self#pp_binop bop ;
-+                                        self#pExp () e1 ;
-+                                        self#pExp () e2 ;
-+                                        self#pType None () t ]
-+    | CastE     (t,e)            -> text "Cast" ++ (pParens @ pCommaSep) [ self#pType None () t ; self#pExp () e]
-+    | AddrOf    (lv)             -> text "AddressOf" ++ pParens( self#pLval () lv)
-+    | StartOf   (lv)             -> text "StartOf" ++ pParens( self#pLval () lv)
-+
-+  (*** INITIALIZERS ***)
-+  method pInit () (i:init) : doc = if !E.verboseFlag then trace "pInit" ;
-+    match i with
-+    | SingleInit   (e)        -> text "SingleInit" ++ pParens( self#pExp () e)
-+    | CompoundInit (t, oilst) -> text "CompoundInit" ++ (pParens @ pCommaSep) [ self#pType None () t ;
-+				    pList (map (  pPair
-+			                        @ pDouble (self#pOffset nil) (self#pInit ())
-+			                       ) 
-+			                       oilst
-+			                  ) ]
-+  method dInit (out:out_channel) (i:int) (init1:init) : unit = fprint out i (self#pInit () init1)
-+
-+  (*** auxiliary methods ***)
-+  method private pp_storage (s:storage) : doc =
-+    let tok = match s with
-+	      | NoStorage -> "NoStorage"
-+	      | Static    -> "Static"
-+	      | Register  -> "Register"
-+	      | Extern	  -> "Extern"
-+    in text ("Storage_" ^ tok)
-+
-+  method private pp_typeinfo (tinfo:typeinfo) : doc = if !E.verboseFlag then trace "pp_typeinfo" ;
-+    text "Typeinfo" ++ (pParens @ pCommaSep) [   
-+    pQuoted tinfo.tname ;
-+    self#pType None () tinfo.ttype ;
-+    pBool tinfo.treferenced ]
-+
-+  method private pp_fieldinfo (finfo:fieldinfo) : doc = if !E.verboseFlag then trace "pp_fieldinfo" ;
-+    text "Fieldinfo" ++ (pParens @ pCommaSep) [ 
-+    pQuoted finfo.fname ;
-+    self#pType None () finfo.ftype ;
-+    pOption (pQuoted @ string_of_int) finfo.fbitfield ;
-+    self#pAttrs () finfo.fattr ;
-+    self#pp_location finfo.floc ]
-+
-+  method private pp_compinfo (cinfo:compinfo) : doc = if !E.verboseFlag then trace "pp_compinfo" ;
-+    text "Compinfo" ++ (pParens @ pCommaSep) [ 
-+    pBool cinfo.cstruct ;
-+    pQuoted cinfo.cname ;
-+    text (string_of_int cinfo.ckey) ;
-+    pList (map (self#pFieldDecl ()) cinfo.cfields) ;
-+    self#pAttrs () cinfo.cattr ;
-+    pBool cinfo.cdefined ;
-+    pBool cinfo.creferenced ]
-+
-+  method private pp_enuminfo (einfo:enuminfo) : doc = if !E.verboseFlag then trace "pp_enuminfo" ;
-+    text "Enuminfo" ++ (pParens @ pCommaSep) [
-+    pQuoted einfo.ename ;
-+    pList (map (  pTriplet
-+                @ (pTriple pQuoted (self#pExp ()) self#pp_location)
-+               )
-+               einfo.eitems) ;
-+    self#pAttrs () einfo.eattr ;
-+    pBool einfo.ereferenced ]
-+
-+  method private pp_location (loc:location) : doc = if !E.verboseFlag then trace "pp_location" ;
-+    text "Location" ++ (pParens @ pCommaSep) [
-+    text (string_of_int loc.line) ;
-+    pQuoted loc.file ;
-+    text (string_of_int loc.byte) ]
-+
-+  method private pp_varinfo (vinfo:varinfo) : doc = if !E.verboseFlag then trace "pp_varinfo" ;
-+    text "Varinfo" ++ (pParens @ pCommaSep) [
-+    pQuoted vinfo.vname ;
-+    self#pType None () vinfo.vtype ;
-+    self#pAttrs () vinfo.vattr ;
-+    self#pp_storage vinfo.vstorage ;
-+    pBool vinfo.vglob ;
-+    pBool vinfo.vinline ;
-+    self#pp_location vinfo.vdecl ;
-+    text (string_of_int vinfo.vid) ;
-+    pBool vinfo.vaddrof ;
-+    pBool vinfo.vreferenced ]
-+
-+  method private pp_initinfo (iinfo:initinfo) : doc = if !E.verboseFlag then trace "pp_initinfo" ;
-+    text "Initinfo" ++ pParens( 
-+    pOption (self#pInit ()) iinfo.init)
-+
-+  method private pp_fundec (fdec:fundec) : doc = if !E.verboseFlag then trace "pp_fundec" ;
-+    text "Fundec" ++ (pParens @ pCommaSep) [
-+    self#pp_varinfo fdec.svar ;
-+    pList (map self#pp_varinfo fdec.sformals) ;
-+    pList (map self#pp_varinfo fdec.slocals) ;
-+    text (string_of_int fdec.smaxid) ;
-+    self#pBlock () fdec.sbody ;
-+    pOption (pSpParens @ text @ string_of_int) fdec.smaxstmtid ;
-+    pList (map (self#pStmt ()) fdec.sallstmts) ]
-+
-+  method private pp_ikind (ikin:ikind) : doc =
-+    let tok = match ikin with
-+              | IChar  -> "IChar"
-+	      | ISChar -> "ISChar"
-+	      | IUChar -> "IUChar"
-+	      | IInt   -> "IInt"
-+	      | IUInt  -> "IUInt"
-+	      | IShort -> "IShort"
-+	      | IUShort -> "IUShort"
-+	      | ILong  -> "ILong"
-+	      | IULong -> "IULong"
-+	      | ILongLong -> "ILongLong"
-+	      | IULongLong -> "IULongLong"
-+    in text ("Ikind_" ^ tok)
-+
-+  method private pp_fkind (fkin:fkind) : doc =
-+    let tok = match fkin with
-+	      | FFloat -> "FFloat"
-+	      | FDouble -> "FDouble"
-+	      | FLongDouble -> "FLongDouble"
-+    in text ("Fkind_" ^ tok)
-+
-+  method private pp_typsig (tsig:typsig) : doc = if !E.verboseFlag then trace "pp_typsig" ;
-+    match tsig with
-+    | TSArray (tsig2, oe, attr)         -> text "TSArray" ++ (pParens @ pCommaSep) [
-+					      self#pp_typsig tsig2 ;
-+					      pOption pInt64 oe ;
-+					      self#pAttrs () attr ]
-+    | TSPtr   (tsig2, attr)             -> text "TSPtr" ++ (pParens @ pCommaSep) [
-+					      self#pp_typsig tsig2 ;
-+					      self#pAttrs () attr ]	
-+    | TSComp  (b, s, attr)              -> text "TSComp" ++ (pParens @ pCommaSep) [
-+					      pBool b ;
-+					      pQuoted s ;
-+					      self#pAttrs () attr ]
-+    | TSFun   (tsig2, tsiglst, b, attr) -> text "TSFun" ++ (pParens @ pCommaSep) [
-+					      self#pp_typsig tsig2 ;
-+					      pList (map self#pp_typsig tsiglst) ;
-+					      pBool b ;
-+					      self#pAttrs () attr ]
-+    | TSEnum  (s, attr)                 -> text "TSEnum" ++ (pParens @ pCommaSep) [
-+					      pQuoted s ;
-+					      self#pAttrs () attr ]
-+    | TSBase  (t)                       -> text "TSBase" ++ pParens( self#pType None () t)
-+     
-+
-+  method private pp_unop (uop:unop) : doc =
-+    let tok = match uop with
-+	      | Neg -> "Neg"
-+	      | BNot -> "BNot"
-+	      | LNot -> "LNot"
-+    in text ("UnOp_" ^ tok)
-+
-+  method private pp_binop (bop:binop) : doc = 
-+    let tok = match bop with
-+              | PlusA -> "PlusA"
-+	      | PlusPI -> "PlusPI"
-+	      | IndexPI -> "IndexPI"
-+	      | MinusA -> "MinusA"
-+	      | MinusPI -> "MinusPI"
-+	      | MinusPP -> "MinusPP"
-+	      | Mult -> "Mult"
-+	      | Div -> "Div"
-+	      | Mod -> "Mod"
-+	      | Shiftlt -> "Shiftlt"
-+	      | Shiftrt -> "Shiftrt"
-+	      | Lt -> "Lt"
-+	      | Gt -> "Gt"
-+	      | Le -> "Le"
-+	      | Ge -> "Ge"
-+	      | Eq -> "Eq"
-+	      | Ne -> "Ne"
-+	      | BAnd -> "BAnd"
-+	      | BXor -> "BXor"
-+	      | BOr -> "BOr"
-+	      | LAnd -> "LAnd"
-+	      | LOr -> "LOr"
-+    in text ("BinOp_" ^ tok )
-+
-+  method private pp_constant (c:constant) : doc = if !E.verboseFlag then trace "pp_constant" ;
-+    match c with
-+    | CInt64 (i, ikin, os) -> text "CInt64" ++ (pParens @ pCommaSep) [  
-+                                  pQuoted (Int64.to_string i)  ;
-+				  self#pp_ikind ikin ;
-+				  pOption pQuoted os ]
-+    | CStr   (s)           -> text "CStr" ++ pParens( pQuoted s)
-+    | CWStr  (ilist)       -> text "CWStr" ++ pParens( pList (map ( text @ Int64.to_string) ilist))
-+    | CChr   (c)           -> text "CChr" ++ pParens( text "\"" ++ text (Char.escaped c) ++ text "\"")
-+    | CReal  (f, fkin, os) -> text "CReal" ++ (pParens @ pCommaSep) [  pQuoted (sprintf "%f0" f) ;
-+				  self#pp_fkind fkin ;
-+				  pOption pQuoted os ]
-+    | CEnum(_, s, ei)      -> text "CEnum" ++ pParens( pQuoted s)
-+
-+  method private pp_lhost (lh:lhost) : doc = if !E.verboseFlag then trace "pp_lhost" ;
-+    match lh with
-+    | Var (vinfo) -> text "Var" ++ pParens( self#pp_varinfo vinfo)
-+    | Mem (e)     -> text "Mem" ++ pParens( self#pExp () e)
-+
-+  method private pp_blockinfo (b:block) : doc = if !E.verboseFlag then trace "pp_blockinfo" ;
-+    text "Block" ++ (pParens @ pCommaSep) [
-+    self#pAttrs () b.battrs ;
-+    pList (map (self#pStmt ()) b.bstmts) ]
-+
-+  method private pp_stmtinfo (sinfo:stmt) : doc = if !E.verboseFlag then trace "pp_stmtinfo" ;
-+    text "Stmt" ++ (pParens @ pCommaSep) [
-+    pList (map (self#pLabel ()) sinfo.labels) ;
-+    self#pStmtKind invalidStmt () sinfo.skind ;
-+    text (string_of_int sinfo.sid) ;
-+    pList (map self#pp_stmtinfo sinfo.succs) ;
-+    pList (map self#pp_stmtinfo sinfo.preds) ]
-+end
-+
-+let ppFile (f:file) (pp:cilPrinter) : doc = if !E.verboseFlag then trace "ppFile" ;
-+  text "File" ++ (pParens @ pCommaSep) [ 
-+  pQuoted f.fileName ;
-+  pList (map (pp#pGlobal ()) f.globals) ]
-+
-+(* we need a different more flexible mapGlobals
-+   we only visit globals and not global init;
-+   use mapGlobinits *)
-+let mapGlobals2 (fl: file) 
-+                (doone: global -> 'a) : 'a list = 
-+  List.map doone fl.globals
-+
-+(* We redefine dumpFile because we don't want a header in our
-+   file telling us it was generated with CIL blabla *)
-+let dumpFile (pp: cilPrinter) (out : out_channel) file =
-+  printDepth := 99999;  
-+  Pretty.fastMode := true;
-+  if !E.verboseFlag then ignore (E.log "printing file %s\n" file.fileName);
-+  let file_doc = ppFile file pp in
-+  fprint out 80 file_doc;
-+  flush out
-+
-+let feature : featureDescr =
-+  { fd_name = "printaterm";
-+    fd_enabled = ref false;
-+    fd_description = "printing the current CIL AST to an ATerm";
-+    fd_extraopt = [("--atermfile", Arg.String (fun s -> outputfilename := s), "=<filename>: writes the ATerm to <filename>");];
-+    fd_doit = (function (f: file) ->        
-+        let channel = open_out !outputfilename in 
-+        let printer = new atermPrinter
-+	in dumpFile printer channel f
-+         ; close_out channel
-+    );
-+    fd_post_check = false;
-+  }
-diff -urN cil-1.3.6-orig/src/main.ml cil-1.3.6/src/main.ml
---- cil-1.3.6-orig/src/main.ml	2007-02-05 22:10:29.000000000 +0100
-+++ cil-1.3.6/src/main.ml	2007-03-05 15:14:54.000000000 +0100
-@@ -105,6 +105,7 @@
-     Logcalls.feature;
-     Ptranal.feature;
-     Liveness.feature;
-+    Atermprinter.feature;
-   ] 
-   @ Feature_config.features 
- 
diff --git a/pkgs/development/libraries/cil-aterm/default.nix b/pkgs/development/libraries/cil-aterm/default.nix
deleted file mode 100644
index 62d69f943af9..000000000000
--- a/pkgs/development/libraries/cil-aterm/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ stdenv, fetchurl, ocaml, perl }:
-
-stdenv.mkDerivation {
-  name    = "cil-aterm-1.3.6";
-  src     = fetchurl {
-		url = mirror://sourceforge/cil/cil-1.3.6.tar.gz;
-                md5 = "112dfbabdd0e1280800d62ba4449ab45";
-            };
-  patches = [./cil-aterm-1.3.6.patch];
-  buildInputs = [ ocaml perl ];
-  inherit ocaml perl;
-  meta.broken = true;
-}  
diff --git a/pkgs/development/libraries/fdk-aac/default.nix b/pkgs/development/libraries/fdk-aac/default.nix
index 12c21693a799..43a5eb2103dd 100644
--- a/pkgs/development/libraries/fdk-aac/default.nix
+++ b/pkgs/development/libraries/fdk-aac/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "fdk-aac-${version}";
-  version = "0.1.4";
+  version = "0.1.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/opencore-amr/fdk-aac/${name}.tar.gz";
-    sha256 = "1aqmzxri23q83wfmwbbashs27mq1mapvfirz5r9i7jkphrwgw42r";
+    sha256 = "1msdkcf559agmpycd4bk0scm2s2h9jyzbnnw1yrfarxlcwm5jr11";
   };
 
   configureFlags = [ ]
diff --git a/pkgs/development/libraries/ffmpeg/2.8.nix b/pkgs/development/libraries/ffmpeg/2.8.nix
index 04336c9ee4d3..366adfbefca2 100644
--- a/pkgs/development/libraries/ffmpeg/2.8.nix
+++ b/pkgs/development/libraries/ffmpeg/2.8.nix
@@ -1,7 +1,7 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "${branch}.8";
+  version = "${branch}.10";
   branch = "2.8";
-  sha256 = "19h6xmlcb933hgpfd40mjwkral8v389v25sx660a3p7aiyalh25p";
+  sha256 = "1jd9vqrsng6swk1xsms3qvwqjzla58xbk3103qmnxkixa1rimkni";
 })
diff --git a/pkgs/development/libraries/freealut/default.nix b/pkgs/development/libraries/freealut/default.nix
index 39d63a8bd693..2c9a893284be 100644
--- a/pkgs/development/libraries/freealut/default.nix
+++ b/pkgs/development/libraries/freealut/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, openal }:
+{ stdenv, darwin, fetchurl, openal }:
 
 stdenv.mkDerivation rec {
   name = "freealut-1.1.0";
@@ -8,12 +8,15 @@ stdenv.mkDerivation rec {
     sha256 = "0kzlil6112x2429nw6mycmif8y6bxr2cwjcvp18vh6s7g63ymlb0";
   };
 
-  buildInputs = [ openal ];
+  buildInputs = [ openal
+  ] ++ stdenv.lib.optional stdenv.isDarwin
+    darwin.apple_sdk.frameworks.OpenAL
+  ;
 
   meta = {
     homepage = "http://openal.org/";
     description = "Free implementation of OpenAL's ALUT standard";
     license = stdenv.lib.licenses.lgpl2;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gd/default.nix b/pkgs/development/libraries/gd/default.nix
index 724888b3b824..c87e344ae558 100644
--- a/pkgs/development/libraries/gd/default.nix
+++ b/pkgs/development/libraries/gd/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   name = "gd-${version}";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchurl {
     url = "https://github.com/libgd/libgd/releases/download/${name}/libgd-${version}.tar.xz";
-    sha256 = "0g3xz8jpz1pl2zzmssglrpa9nxiaa7rmcmvgpbrjz8k9cyynqsvl";
+    sha256 = "1rp4v7n1dq38b92kl7gkvpvqqkw7nvdfnz6d5kip5klkxfki6zqk";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/development/libraries/gtkmozembed-sharp/builder.sh b/pkgs/development/libraries/gtkmozembed-sharp/builder.sh
deleted file mode 100644
index 4b8f757540b5..000000000000
--- a/pkgs/development/libraries/gtkmozembed-sharp/builder.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-source $stdenv/setup
-
-genericBuild
-
-# !!! hack
-export ALL_INPUTS="$out $pkgs"
-
-find $out -name "*.dll.config" | while read configFile; do
-    echo "modifying config file $configFile"
-    $monoDLLFixer "$configFile"
-done
diff --git a/pkgs/development/libraries/gtkmozembed-sharp/default.nix b/pkgs/development/libraries/gtkmozembed-sharp/default.nix
deleted file mode 100644
index 52fc4b26e6da..000000000000
--- a/pkgs/development/libraries/gtkmozembed-sharp/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{stdenv, fetchurl, pkgconfig, mono, gtksharp, gtk2, monoDLLFixer}:
-
-stdenv.mkDerivation {
-  name = "gtkmozembed-sharp-0.7-pre41601";
-
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = http://tarballs.nixos.org/gtkmozembed-sharp-0.7-pre41601.tar.bz2;
-    md5 = "34aac139377296791acf3af9b5dc27ed";
-  };
-
-  buildInputs = [
-    pkgconfig mono gtksharp gtk2
-  ];
-
-  inherit monoDLLFixer;
-
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/hunspell/dictionaries.nix b/pkgs/development/libraries/hunspell/dictionaries.nix
index 0189ecda77ff..e5cb99aa44a1 100644
--- a/pkgs/development/libraries/hunspell/dictionaries.nix
+++ b/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -40,22 +40,6 @@ let
     '';
   };
 
-  mkDictFromRedIRIS =
-    { shortName, shortDescription, dictFileName, src }:
-    mkDict rec {
-      inherit src dictFileName;
-      version = "0.7";
-      name = "hunspell-dict-${shortName}-rediris-${version}";
-      readmeFile = "README.txt";
-      meta = with stdenv.lib; {
-        description = "Hunspell dictionary for ${shortDescription} from RedIRIS";
-        homepage = https://forja.rediris.es/projects/rla-es/;
-        license = with licenses; [ gpl3 lgpl3 mpl11 ];
-        maintainers = with maintainers; [ renzo ];
-        platforms = platforms.all;
-      };
-    };
-
   mkDictFromDicollecte =
     { shortName, shortDescription, longDescription, dictFileName }:
     mkDict rec {
@@ -152,218 +136,6 @@ in {
     };
   };
 
-  /* SPANISH */
-
-  es-any = mkDictFromRedIRIS {
-    shortName = "es-any";
-    shortDescription = "Spanish (any variant)";
-    dictFileName = "es_ANY";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2933/es_ANY.oxt;
-      md5 = "e3d4b38f280e7376178529db2ece982b";
-    };
-  };
-
-  es-ar = mkDictFromRedIRIS {
-    shortName = "es-ar";
-    shortDescription = "Spanish (Argentina)";
-    dictFileName = "es_AR";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2953/es_AR.oxt;
-      md5 = "68ee8f4ebc89a1fa461045d4dbb9b7be";
-    };
-  };
-
-  es-bo = mkDictFromRedIRIS {
-    shortName = "es-bo";
-    shortDescription = "Spanish (Bolivia)";
-    dictFileName = "es_BO";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2952/es_BO.oxt;
-      md5 = "1ebf11b6094e0bfece8e95cc34e7a409";
-    };
-  };
-
-  es-cl = mkDictFromRedIRIS {
-    shortName = "es-cl";
-    shortDescription = "Spanish (Chile)";
-    dictFileName = "es_CL";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2951/es_CL.oxt;
-      md5 = "092a388101350b77af4fd789668582bd";
-    };
-  };
-
-  es-co = mkDictFromRedIRIS {
-    shortName = "es-co";
-    shortDescription = "Spanish (Colombia)";
-    dictFileName = "es_CO";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2950/es_CO.oxt;
-      md5 = "fc440fd9fc55ca2dfb9bfa34a1e63864";
-    };
-  };
-
-  es-cr = mkDictFromRedIRIS {
-    shortName = "es-cr";
-    shortDescription = "Spanish (Costra Rica)";
-    dictFileName = "es_CR";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2949/es_CR.oxt;
-      md5 = "7510fd0f4eb3c6e65523a8d0960f77dd";
-    };
-  };
-
-  es-cu = mkDictFromRedIRIS {
-    shortName = "es-cu";
-    shortDescription = "Spanish (Cuba)";
-    dictFileName = "es_CU";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2948/es_CU.oxt;
-      md5 = "0ab4b9638f58ddd3d95d1265918ff39e";
-    };
-  };
-
-  es-do = mkDictFromRedIRIS {
-    shortName = "es-do";
-    shortDescription = "Spanish (Dominican Republic)";
-    dictFileName = "es_DO";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2947/es_DO.oxt;
-      md5 = "24a20fd4d887693afef539e6f1a3b58e";
-    };
-  };
-
-  es-ec = mkDictFromRedIRIS {
-    shortName = "es-ec";
-    shortDescription = "Spanish (Ecuador)";
-    dictFileName = "es_EC";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2946/es_EC.oxt;
-      md5 = "5d7343a246323ceda58cfbbf1428e279";
-    };
-  };
-
-  es-es = mkDictFromRedIRIS {
-    shortName = "es-es";
-    shortDescription = "Spanish (Spain)";
-    dictFileName = "es_ES";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2945/es_ES.oxt;
-      md5 = "59dd45e6785ed644adbbd73f4f126182";
-    };
-  };
-
-  es-gt = mkDictFromRedIRIS {
-    shortName = "es-gt";
-    shortDescription = "Spanish (Guatemala)";
-    dictFileName = "es_GT";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2944/es_GT.oxt;
-      md5 = "b1a9be80687e3117c67ac46aad6b8d66";
-    };
-  };
-
-  es-hn = mkDictFromRedIRIS {
-    shortName = "es-hn";
-    shortDescription = "Spanish (Honduras)";
-    dictFileName = "es_HN";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2943/es_HN.oxt;
-      md5 = "d0db5bebd6925738b524de9709950f22";
-    };
-  };
-
-  es-mx = mkDictFromRedIRIS {
-    shortName = "es-mx";
-    shortDescription = "Spanish (Mexico)";
-    dictFileName = "es_MX";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2942/es_MX.oxt;
-      md5 = "0de780714f84955112f38f35fb63a894";
-    };
-  };
-
-  es-ni = mkDictFromRedIRIS {
-    shortName = "es-ni";
-    shortDescription = "Spanish (Nicaragua)";
-    dictFileName = "es_NI";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2941/es_NI.oxt;
-      md5 = "d259d7be17c34df76c7de40c80720a39";
-    };
-  };
-
-  es-pa = mkDictFromRedIRIS {
-    shortName = "es-pa";
-    shortDescription = "Spanish (Panama)";
-    dictFileName = "es_PA";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2940/es_PA.oxt;
-      md5 = "085fbdbed6a2e248630c801881563b7a";
-    };
-  };
-
-  es-pe = mkDictFromRedIRIS {
-    shortName = "es-pe";
-    shortDescription = "Spanish (Peru)";
-    dictFileName = "es_PE";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2939/es_PE.oxt;
-      md5 = "f4673063246888995d4eaa2d4a24ee3d";
-    };
-  };
-
-  es-pr = mkDictFromRedIRIS {
-    shortName = "es-pr";
-    shortDescription = "Spanish (Puerto Rico)";
-    dictFileName = "es_PR";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2938/es_PR.oxt;
-      md5 = "e67bcf891ba9eeaeb57a60ec8e57f1ac";
-    };
-  };
-
-  es-py = mkDictFromRedIRIS {
-    shortName = "es-py";
-    shortDescription = "Spanish (Paraguay)";
-    dictFileName = "es_PY";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2937/es_PY.oxt;
-      md5 = "ba98e3197c81db4c572def2c5cca942d";
-    };
-  };
-
-  es-sv = mkDictFromRedIRIS {
-    shortName = "es-sv";
-    shortDescription = "Spanish (El Salvador)";
-    dictFileName = "es_SV";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2936/es_SV.oxt;
-      md5 = "c68ca9d188cb23c88cdd34a069c5a013";
-    };
-  };
-
-  es-uy = mkDictFromRedIRIS {
-    shortName = "es-uy";
-    shortDescription = "Spanish (Uruguay)";
-    dictFileName = "es_UY";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2935/es_UY.oxt;
-      md5 = "aeb9d39e4d17e9c904c1f3567178aad6";
-    };
-  };
-
-  es-ve = mkDictFromRedIRIS {
-    shortName = "es-ve";
-    shortDescription = "Spanish (Venezuela)";
-    dictFileName = "es_VE";
-    src = fetchurl {
-      url = http://forja.rediris.es/frs/download.php/2934/es_VE.oxt;
-      md5 = "8afa9619aede2d9708e799e0f5d0fcab";
-    };
-  };
-
   /* FRENCH */
 
   fr-any = mkDictFromDicollecte {
@@ -416,7 +188,7 @@ in {
     shortDescription = "Hunspell dictionary for 'Italian (Italy)' from Linguistico";
     src = fetchurl {
       url = mirror://sourceforge/linguistico/italiano_2_4_2007_09_01.zip;
-      md5 = "e7fbd9e2dfb25ea3288cdb918e1e1260";
+      sha256 = "0m9frz75fx456bczknay5i446gdcp1smm48lc0qfwzhz0j3zcdrd";
     };
   };
 }
diff --git a/pkgs/development/libraries/java/jjtraveler/default.nix b/pkgs/development/libraries/java/jjtraveler/default.nix
deleted file mode 100644
index b9dc1d688605..000000000000
--- a/pkgs/development/libraries/java/jjtraveler/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl, jdk}:
-
-stdenv.mkDerivation {
-  name = "jjtraveler-0.4.3";
-  src = fetchurl {
-    url = http://www.cwi.nl/projects/MetaEnv/jjtraveler/JJTraveler-0.4.3.tar.gz;
-    md5 = "35bf801ee61f042513ae88247fe1bf1d";
-  };
-  buildInputs = [stdenv jdk];
-
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/java/lucene/default.nix b/pkgs/development/libraries/java/lucene/default.nix
index d6e26a02d676..6f6534cee3ea 100644
--- a/pkgs/development/libraries/java/lucene/default.nix
+++ b/pkgs/development/libraries/java/lucene/default.nix
@@ -1,12 +1,14 @@
 {stdenv, fetchurl} :
 
-stdenv.mkDerivation {
-  name = "lucene-1.4.1";
+stdenv.mkDerivation rec {
+  name = "lucene-${version}";
+  version = "1.4.3";
+
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = http://cvs.apache.org/dist/jakarta/lucene/v1.4.1/lucene-1.4.1.tar.gz;
-    md5 = "656a6f40f5b8f7d2e19453436848bfe8";
+    url = "https://archive.apache.org/dist/jakarta/lucene/${name}.tar.gz";
+    sha256 = "1mxaxg65f7v8n60irjwm24v7hcisbl0srmpvcy1l4scs6rjj1awh";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/java/mockobjects/default.nix b/pkgs/development/libraries/java/mockobjects/default.nix
index 5681200c4fa7..551375d33bd6 100644
--- a/pkgs/development/libraries/java/mockobjects/default.nix
+++ b/pkgs/development/libraries/java/mockobjects/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = mirror://sourceforge/mockobjects/mockobjects-bin-0.09.tar;
-    md5 = "a0e11423bd5fcbb6ea65753643ea8852";
+    sha256 = "18rnyqfcyh0s3dwkkaszdd50ssyjx5fa1y3ii309ldqg693lfgnz";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index 7bf969b78da9..6d81a284040c 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -26,8 +26,8 @@ with { inherit (stdenv.lib) optional optionals hasPrefix; };
 
 let
   result = {
-    libav_0_8 = libavFun "0.8.19" "c79350d6fa071fcd66448ffc713fe3b9754876a8";
-    libav_11  = libavFun  "11.8"  "y18hmrzy7jqq7h9ys54nrr4s49mkzsfh";
+    libav_0_8 = libavFun "0.8.20" "0c7a2417c3a01eb74072691bb93ce802ae1be08f";
+    libav_11  = libavFun  "11.8"  "d0e93f6b229ae46c49d13ec183b13cfee70a51f0";
     libav_12  = libavFun "12"     "4ecde7274621c82a6882b7614d907b28de25cc4e";
   };
 
diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix
index 32eb4e04f03c..2b30dacb58fa 100644
--- a/pkgs/development/libraries/libfm/default.nix
+++ b/pkgs/development/libraries/libfm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glib, gtk2, intltool, menu-cache, pango, pkgconfig, vala_0_23
+{ stdenv, fetchurl, glib, gtk2, intltool, menu-cache, pango, pkgconfig, vala_0_34
 , extraOnly ? false }:
 let
     inherit (stdenv.lib) optional;
@@ -7,14 +7,14 @@ stdenv.mkDerivation rec {
   name = if extraOnly
     then "libfm-extra-${version}"
     else "libfm-${version}";
-  version = "1.2.4";
+  version = "1.2.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/pcmanfm/libfm-${version}.tar.xz";
-    sha256 = "0bsh4p7h2glhxf1cc1lvbxyb4qy0y1zsnl9izf7vrldkikrgc13q";
+    sha256 = "0nlvfwh09gbq8bkbvwnw6iqr918rrs9gc9ljb9pjspyg408bn1n7";
   };
 
-  buildInputs = [ glib gtk2 intltool pango pkgconfig vala_0_23 ]
+  buildInputs = [ glib gtk2 intltool pango pkgconfig vala_0_34 ]
                 ++ optional (!extraOnly) menu-cache;
 
   configureFlags = optional extraOnly "--with-extra-only";
diff --git a/pkgs/development/libraries/libjpeg/62.nix b/pkgs/development/libraries/libjpeg/62.nix
deleted file mode 100644
index 3ae8cfac39c0..000000000000
--- a/pkgs/development/libraries/libjpeg/62.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{stdenv, fetchurl, libtool, static ? false, ...}: 
-
-stdenv.mkDerivation {
-  name = "libjpeg-6b";
-  
-  builder = ./builder.sh;
-  
-  src = fetchurl {
-    url = http://www.ijg.org/files/jpegsrc.v6b.tar.gz;
-    sha256 = "0pg34z6rbkk5kvdz6wirf7g4mdqn5z8x97iaw17m15lr3qjfrhvm";
-  };
-  
-  inherit libtool;
-
-  configureFlags = "--enable-shared ${if static then " --enable-static" else ""}";
-    
-  # Required for building of dynamic libraries on Darwin.
-  patches = [
-    (fetchurl {
-      url = http://svn.macports.org/repository/macports/trunk/dports/graphics/jpeg/files/patch-ltconfig;
-      md5 = "e6725fa4a09aa1de4ca75343fd0f61d5";
-    })
-    (fetchurl {
-      url = http://svn.macports.org/repository/macports/trunk/dports/graphics/jpeg/files/patch-ltmain.sh;
-      #md5 = "489986ad8e7a93aef036766b25f321d5";
-      md5 = "092a12aeb0c386dd7dae059109d950ba";
-    })
-  ];
-
-  meta = {
-        platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix
index 29765f070664..b31ced11c6ce 100644
--- a/pkgs/development/libraries/liburcu/default.nix
+++ b/pkgs/development/libraries/liburcu/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     description = "Userspace RCU (read-copy-update) library";
     homepage = http://lttng.org/urcu;
     license = licenses.lgpl21Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
 
diff --git a/pkgs/development/libraries/nss/85_security_load.patch b/pkgs/development/libraries/nss/85_security_load.patch
index 9e4be3bf282e..7687ea9bedb0 100644
--- a/pkgs/development/libraries/nss/85_security_load.patch
+++ b/pkgs/development/libraries/nss/85_security_load.patch
@@ -1,45 +1,45 @@
-diff -ru -x '*~' nss-3.27.1-orig/nss/cmd/shlibsign/shlibsign.c nss-3.27.1/nss/cmd/shlibsign/shlibsign.c
---- nss-3.27.1-orig/nss/cmd/shlibsign/shlibsign.c	2016-10-03 16:55:58.000000000 +0200
-+++ nss-3.27.1/nss/cmd/shlibsign/shlibsign.c	2016-11-15 16:28:07.308117900 +0100
-@@ -871,6 +871,8 @@
-     libname = PR_GetLibraryName(NULL, "softokn3");
-     assert(libname != NULL);
+diff -ru -x '*~' -x '*.orig' -x '*.rej' nss/cmd/shlibsign/shlibsign.c nss/cmd/shlibsign/shlibsign.c
+--- nss/cmd/shlibsign/shlibsign.c	2017-01-04 15:24:24.000000000 +0100
++++ nss/cmd/shlibsign/shlibsign.c	2017-01-24 14:43:31.030420852 +0100
+@@ -875,6 +875,8 @@
+         goto cleanup;
+     }
      lib = PR_LoadLibrary(libname);
 +    if (!lib)
 +        lib = PR_LoadLibrary(NIX_NSS_LIBDIR"libsoftokn3.so");
      assert(lib != NULL);
-     PR_FreeLibraryName(libname);
- 
-diff -ru -x '*~' nss-3.27.1-orig/nss/coreconf/config.mk nss-3.27.1/nss/coreconf/config.mk
---- nss-3.27.1-orig/nss/coreconf/config.mk	2016-10-03 16:55:58.000000000 +0200
-+++ nss-3.27.1/nss/coreconf/config.mk	2016-11-15 16:28:07.308117900 +0100
-@@ -217,3 +217,6 @@
- ifdef NSS_NO_PKCS11_BYPASS
- DEFINES += -DNO_PKCS11_BYPASS
- endif
+     if (!lib) {
+         PR_fprintf(PR_STDERR, "loading softokn3 failed");
+diff -ru -x '*~' -x '*.orig' -x '*.rej' nss/coreconf/config.mk nss/coreconf/config.mk
+--- nss/coreconf/config.mk	2017-01-04 15:24:24.000000000 +0100
++++ nss/coreconf/config.mk	2017-01-24 14:43:47.989432372 +0100
+@@ -208,3 +208,6 @@
+ # exported symbols, which causes problem when NSS is built as part of Mozilla.
+ # So we add a NSS_SSL_ENABLE_ZLIB variable to allow Mozilla to turn this off.
+ NSS_SSL_ENABLE_ZLIB = 1
 +
 +# Nix specific stuff.
 +DEFINES += -DNIX_NSS_LIBDIR=\"$(out)/lib/\"
-diff -ru -x '*~' nss-3.27.1-orig/nss/lib/pk11wrap/pk11load.c nss-3.27.1/nss/lib/pk11wrap/pk11load.c
---- nss-3.27.1-orig/nss/lib/pk11wrap/pk11load.c	2016-10-03 16:55:58.000000000 +0200
-+++ nss-3.27.1/nss/lib/pk11wrap/pk11load.c	2016-11-15 16:28:07.308117900 +0100
-@@ -429,6 +429,13 @@
- 	 * unload the library if anything goes wrong from here on out...
- 	 */
- 	library = PR_LoadLibrary(mod->dllName);
-+	if ((library == NULL) &&
-+	    !rindex(mod->dllName, PR_GetDirectorySeparator())) {
+diff -ru -x '*~' -x '*.orig' -x '*.rej' nss/lib/pk11wrap/pk11load.c nss/lib/pk11wrap/pk11load.c
+--- nss/lib/pk11wrap/pk11load.c	2017-01-04 15:24:24.000000000 +0100
++++ nss/lib/pk11wrap/pk11load.c	2017-01-24 14:45:06.883485652 +0100
+@@ -440,6 +440,13 @@
+          * unload the library if anything goes wrong from here on out...
+          */
+         library = PR_LoadLibrary(mod->dllName);
++        if ((library == NULL) &&
++            !rindex(mod->dllName, PR_GetDirectorySeparator())) {
 +            library = PORT_LoadLibraryFromOrigin(my_shlib_name,
-+                                      (PRFuncPtr) &softoken_LoadDSO,
-+                                      mod->dllName);
-+	}
++                (PRFuncPtr) &softoken_LoadDSO,
++                mod->dllName);
++        }
 +
- 	mod->library = (void *)library;
+         mod->library = (void *)library;
  
- 	if (library == NULL) {
-diff -ru -x '*~' nss-3.27.1-orig/nss/lib/util/secload.c nss-3.27.1/nss/lib/util/secload.c
---- nss-3.27.1-orig/nss/lib/util/secload.c	2016-10-03 16:55:58.000000000 +0200
-+++ nss-3.27.1/nss/lib/util/secload.c	2016-11-15 16:29:50.482259746 +0100
+         if (library == NULL) {
+diff -ru -x '*~' -x '*.orig' -x '*.rej' nss/lib/util/secload.c nss/lib/util/secload.c
+--- nss/lib/util/secload.c	2017-01-04 15:24:24.000000000 +0100
++++ nss/lib/util/secload.c	2017-01-24 14:43:31.030420852 +0100
 @@ -70,9 +70,14 @@
  
      /* Remove the trailing filename from referencePath and add the new one */
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 72f57dff1ce3..8621d60ca960 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.27.2";
+  version = "3.28.1";
 
   src = fetchurl {
-    url = "mirror://mozilla/security/nss/releases/NSS_3_27_2_RTM/src/${name}.tar.gz";
-    sha256 = "dc8ac8524469d0230274fd13a53fdcd74efe4aa67205dde1a4a92be87dc28524";
+    url = "mirror://mozilla/security/nss/releases/NSS_3_28_1_RTM/src/${name}.tar.gz";
+    sha256 = "58cc0c05c0ed9523e6d820bea74f513538f48c87aac931876e3d3775de1a82ad";
   };
 
   buildInputs = [ nspr perl zlib sqlite ];
@@ -23,11 +23,21 @@ in stdenv.mkDerivation rec {
   '';
 
   patches =
-    [ ./nss-3.21-gentoo-fixups.patch
+    [ # Install a nss.pc (pkgconfig) file and nss-config script
+      # Upstream issue: https://bugzilla.mozilla.org/show_bug.cgi?id=530672
+      (fetchurl {
+        name = "nss-3.28-gentoo-fixups.patch";
+        url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/"
+            + "dev-libs/nss/files/nss-3.28-gentoo-fixups.patch"
+            + "?id=05c31f8cca591b3ce8219e4def7c26c7b1b130d6";
+        sha256 = "0z58axd1n7vq4kdp5mrb3dsg6di39a1g40s3shl6n2dzs14c1y2q";
+      })
       # Based on http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.4-1/85_security_load.patch
       ./85_security_load.patch
     ];
 
+  patchFlags = "-p0";
+
   postPatch = ''
     # Fix up the patch from Gentoo.
     sed -i \
diff --git a/pkgs/development/libraries/nss/nss-3.21-gentoo-fixups.patch b/pkgs/development/libraries/nss/nss-3.21-gentoo-fixups.patch
deleted file mode 100644
index 33819821c193..000000000000
--- a/pkgs/development/libraries/nss/nss-3.21-gentoo-fixups.patch
+++ /dev/null
@@ -1,243 +0,0 @@
-diff -urN a/nss/config/Makefile b/nss/config/Makefile
---- a/nss/config/Makefile	1969-12-31 18:00:00.000000000 -0600
-+++ b/nss/config/Makefile	2015-11-15 10:42:46.249578304 -0600
-@@ -0,0 +1,40 @@
-+CORE_DEPTH = ..
-+DEPTH      = ..
-+
-+include $(CORE_DEPTH)/coreconf/config.mk
-+
-+NSS_MAJOR_VERSION = `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}'`
-+NSS_MINOR_VERSION = `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}'`
-+NSS_PATCH_VERSION = `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}'`
-+PREFIX = /usr
-+
-+all: export libs
-+
-+export:
-+	# Create the nss.pc file
-+	mkdir -p $(DIST)/lib/pkgconfig
-+	sed -e "s,@prefix@,$(PREFIX)," \
-+	    -e "s,@exec_prefix@,\$${prefix}," \
-+	    -e "s,@libdir@,\$${prefix}/lib64," \
-+	    -e "s,@includedir@,\$${prefix}/include/nss," \
-+	    -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \
-+	    -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
-+	    -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
-+	    nss.pc.in > nss.pc
-+	chmod 0644 nss.pc
-+	ln -sf ../../../../config/nss.pc $(DIST)/lib/pkgconfig
-+
-+	# Create the nss-config script
-+	mkdir -p $(DIST)/bin
-+	sed -e "s,@prefix@,$(PREFIX)," \
-+	    -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \
-+	    -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \
-+	    -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \
-+	    nss-config.in > nss-config
-+	chmod 0755 nss-config
-+	ln -sf ../../../config/nss-config $(DIST)/bin
-+
-+libs:
-+
-+dummy: all export libs
-+
-diff -urN a/nss/config/nss-config.in b/nss/config/nss-config.in
---- a/nss/config/nss-config.in	1969-12-31 18:00:00.000000000 -0600
-+++ b/nss/config/nss-config.in	2015-11-15 10:42:46.250578304 -0600
-@@ -0,0 +1,145 @@
-+#!/bin/sh
-+
-+prefix=@prefix@
-+
-+major_version=@NSS_MAJOR_VERSION@
-+minor_version=@NSS_MINOR_VERSION@
-+patch_version=@NSS_PATCH_VERSION@
-+
-+usage()
-+{
-+	cat <<EOF
-+Usage: nss-config [OPTIONS] [LIBRARIES]
-+Options:
-+	[--prefix[=DIR]]
-+	[--exec-prefix[=DIR]]
-+	[--includedir[=DIR]]
-+	[--libdir[=DIR]]
-+	[--version]
-+	[--libs]
-+	[--cflags]
-+Dynamic Libraries:
-+	nss
-+	ssl
-+	smime
-+	nssutil
-+EOF
-+	exit $1
-+}
-+
-+if test $# -eq 0; then
-+	usage 1 1>&2
-+fi
-+
-+lib_ssl=yes
-+lib_smime=yes
-+lib_nss=yes
-+lib_nssutil=yes
-+
-+while test $# -gt 0; do
-+  case "$1" in
-+  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-+  *) optarg= ;;
-+  esac
-+
-+  case $1 in
-+    --prefix=*)
-+      prefix=$optarg
-+      ;;
-+    --prefix)
-+      echo_prefix=yes
-+      ;;
-+    --exec-prefix=*)
-+      exec_prefix=$optarg
-+      ;;
-+    --exec-prefix)
-+      echo_exec_prefix=yes
-+      ;;
-+    --includedir=*)
-+      includedir=$optarg
-+      ;;
-+    --includedir)
-+      echo_includedir=yes
-+      ;;
-+    --libdir=*)
-+      libdir=$optarg
-+      ;;
-+    --libdir)
-+      echo_libdir=yes
-+      ;;
-+    --version)
-+      echo ${major_version}.${minor_version}.${patch_version}
-+      ;;
-+    --cflags)
-+      echo_cflags=yes
-+      ;;
-+    --libs)
-+      echo_libs=yes
-+      ;;
-+    ssl)
-+      lib_ssl=yes
-+      ;;
-+    smime)
-+      lib_smime=yes
-+      ;;
-+    nss)
-+      lib_nss=yes
-+      ;;
-+    nssutil)                                                      
-+      lib_nssutil=yes                                             
-+      ;;
-+    *)
-+      usage 1 1>&2
-+      ;;
-+  esac
-+  shift
-+done
-+
-+# Set variables that may be dependent upon other variables
-+if test -z "$exec_prefix"; then
-+    exec_prefix=`pkg-config --variable=exec_prefix nss`
-+fi
-+if test -z "$includedir"; then
-+    includedir=`pkg-config --variable=includedir nss`
-+fi
-+if test -z "$libdir"; then
-+    libdir=`pkg-config --variable=libdir nss`
-+fi
-+
-+if test "$echo_prefix" = "yes"; then
-+    echo $prefix
-+fi
-+
-+if test "$echo_exec_prefix" = "yes"; then
-+    echo $exec_prefix
-+fi
-+
-+if test "$echo_includedir" = "yes"; then
-+    echo $includedir
-+fi
-+
-+if test "$echo_libdir" = "yes"; then
-+    echo $libdir
-+fi
-+
-+if test "$echo_cflags" = "yes"; then
-+    echo -I$includedir
-+fi
-+
-+if test "$echo_libs" = "yes"; then
-+      libdirs=""
-+      if test -n "$lib_ssl"; then
-+	libdirs="$libdirs -lssl${major_version}"
-+      fi
-+      if test -n "$lib_smime"; then
-+	libdirs="$libdirs -lsmime${major_version}"
-+      fi
-+      if test -n "$lib_nss"; then
-+	libdirs="$libdirs -lnss${major_version}"
-+      fi
-+      if test -n "$lib_nssutil"; then
-+       libdirs="$libdirs -lnssutil${major_version}"
-+      fi
-+      echo $libdirs
-+fi      
-+
-diff -urN a/nss/config/nss.pc.in b/nss/config/nss.pc.in
---- a/nss/config/nss.pc.in	1969-12-31 18:00:00.000000000 -0600
-+++ b/nss/config/nss.pc.in	2015-11-15 10:42:46.251578304 -0600
-@@ -0,0 +1,12 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: NSS
-+Description: Network Security Services
-+Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@
-+Requires: nspr >= 4.8
-+Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3
-+Cflags: -I${includedir}
-+
-diff -urN a/nss/Makefile b/nss/Makefile
---- a/nss/Makefile	2015-11-15 09:25:06.410786060 -0600
-+++ b/nss/Makefile	2015-11-15 10:42:46.252578304 -0600
-@@ -46,7 +46,7 @@
- # (7) Execute "local" rules. (OPTIONAL).                              #
- #######################################################################
- 
--nss_build_all: build_nspr all
-+nss_build_all: all
- 
- nss_clean_all: clobber_nspr clobber
- 
-@@ -115,12 +115,6 @@
- 	--with-dist-prefix='$(NSPR_PREFIX)' \
- 	--with-dist-includedir='$(NSPR_PREFIX)/include'
- 
--build_nspr: $(NSPR_CONFIG_STATUS)
--	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
--
--clobber_nspr: $(NSPR_CONFIG_STATUS)
--	$(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) clobber
--
- build_docs:
- 	$(MAKE) -C $(CORE_DEPTH)/doc
- 
-diff -urN a/nss/manifest.mn b/nss/manifest.mn
---- a/nss/manifest.mn	2015-11-15 09:25:06.411786060 -0600
-+++ b/nss/manifest.mn	2015-11-15 10:43:15.633576994 -0600
-@@ -10,4 +10,4 @@
- 
- RELEASE = nss
- 
--DIRS = coreconf lib cmd external_tests
-+DIRS = coreconf lib cmd config
diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix
index 978b28aaa480..af0456c0162b 100644
--- a/pkgs/development/libraries/opencv/3.x.nix
+++ b/pkgs/development/libraries/opencv/3.x.nix
@@ -1,81 +1,103 @@
-{ lib, stdenv, fetchurl, fetchpatch, fetchFromGitHub, cmake, pkgconfig, unzip
-, zlib
-, enableIpp ? false
-, enableContrib ? false
-, enablePython ? false, pythonPackages
-, enableGtk2 ? false, gtk2
-, enableGtk3 ? false, gtk3
-, enableJPEG ? true, libjpeg
-, enablePNG ? true, libpng
-, enableTIFF ? true, libtiff
-, enableWebP ? true, libwebp
-, enableEXR ? true, openexr, ilmbase
-, enableJPEG2K ? true, jasper
-, enableFfmpeg ? false, ffmpeg
+{ lib, stdenv, fetchurl, fetchpatch, fetchFromGitHub, cmake, pkgconfig, unzip, zlib
+
+, enableJPEG      ? true, libjpeg
+, enablePNG       ? true, libpng
+, enableTIFF      ? true, libtiff
+, enableWebP      ? true, libwebp
+, enableEXR       ? true, openexr, ilmbase
+, enableJPEG2K    ? true, jasper
+
+, enableIpp       ? false
+, enableContrib   ? false, protobuf3_1
+, enablePython    ? false, pythonPackages
+, enableGtk2      ? false, gtk2
+, enableGtk3      ? false, gtk3
+, enableFfmpeg    ? false, ffmpeg
 , enableGStreamer ? false, gst_all_1
-, enableEigen ? false, eigen
-, enableCuda ? false, cudatoolkit, gcc5
+, enableEigen     ? false, eigen
+, enableCuda      ? false, cudatoolkit, gcc5
 }:
 
 let
-  version = "3.1.0";
+  version = "3.2.0";
+
+  src = fetchFromGitHub {
+    owner  = "opencv";
+    repo   = "opencv";
+    rev    = version;
+    sha256 = "0f59g0dvhp5xg1xa3r4lp351a7x0k03i77ylgcf69ns3y47qd16p";
+  };
 
   contribSrc = fetchFromGitHub {
-    owner = "Itseez";
-    repo = "opencv_contrib";
-    rev = version;
-    sha256 = "153yx62f34gl3zd6vgxv0fj3wccwmq78lnawlda1f6xhrclg9bax";
+    owner  = "opencv";
+    repo   = "opencv_contrib";
+    rev    = version;
+    sha256 = "1lynpbxz1jay3ya5y45zac5v8c6ifgk4ssn8d1chfdk3spi691jj";
   };
 
-  opencvFlag = name: enabled: "-DWITH_${name}=${if enabled then "ON" else "OFF"}";
+  vggFiles = fetchFromGitHub {
+    owner  = "opencv";
+    repo   = "opencv_3rdparty";
+    rev    = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d";
+    sha256 = "0r9fam8dplyqqsd3qgpnnfgf9l7lj44di19rxwbm8mxiw0rlcdvy";
+  };
+
+  bootdescFiles = fetchFromGitHub {
+    owner  = "opencv";
+    repo   = "opencv_3rdparty";
+    rev    = "34e4206aef44d50e6bbcd0ab06354b52e7466d26";
+    sha256 = "13yig1xhvgghvxspxmdidss5lqiikpjr0ddm83jsi0k85j92sn62";
+  };
 
+  opencvFlag = name: enabled: "-DWITH_${name}=${if enabled then "ON" else "OFF"}";
 in
 
 stdenv.mkDerivation rec {
   name = "opencv-${version}";
-  inherit version;
-
-  src = fetchFromGitHub {
-    owner = "Itseez";
-    repo = "opencv";
-    rev = version;
-    sha256 = "1l0w12czavgs0wzw1c594g358ilvfg2fn32cn8z7pv84zxj4g429";
-  };
-
-  patches =
-    lib.optionals enableCuda [
-      (fetchpatch { # Patch for CUDA 8 compatibility
-        url = "https://github.com/opencv/opencv/commit/10896129b39655e19e4e7c529153cb5c2191a1db.patch";
-        sha256 = "0jka3kxxywgs3prqqgym5kav6p73rrblwj50k1nf3fvfpk194ah1";
-      })
-      (fetchpatch { # Patch to add CUDA Compute Capability compilation targets up to 6.0
-        url = "https://github.com/opencv/opencv/commit/d76f258aebdf63f979a205cabe6d3e81700a7cd8.patch";
-        sha256 = "00b3msfgrcw7laij6qafn4b18c1dl96xxpzwx05wxzrjldqb6kqg";
-      })
-    ]
-    ++ lib.optional enablePython (fetchpatch { # Patch to fix FlannBasedMatcher under python
-      url = "https://github.com/opencv/opencv/commit/05cfe28612fd8dc8fb0ccb876df945c7b435dd26.patch";
-      sha256 = "0niza5lybr1ljzdkyiapr16laa468168qinpy5qn00yimnaygpm6";
-    });
-
+  inherit version src;
+
+  postUnpack =
+    (lib.optionalString enableContrib ''
+      cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/opencv_contrib"
+
+      for name in vgg_generated_48.i \
+                  vgg_generated_64.i \
+                  vgg_generated_80.i \
+                  vgg_generated_120.i; do
+        ln -s "${vggFiles}/$name" "$NIX_BUILD_TOP/opencv_contrib/xfeatures2d/src/$name"
+      done
+
+      for name in boostdesc_bgm.i          \
+                  boostdesc_bgm_bi.i       \
+                  boostdesc_bgm_hd.i       \
+                  boostdesc_binboost_064.i \
+                  boostdesc_binboost_128.i \
+                  boostdesc_binboost_256.i \
+                  boostdesc_lbgm.i; do
+        ln -s "${bootdescFiles}/$name" "$NIX_BUILD_TOP/opencv_contrib/xfeatures2d/src/$name"
+      done
+    '');
   preConfigure =
-    let ippicvVersion = "20151201";
-        ippicvPlatform = if stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux" then "linux"
-                         else throw "ICV is not available for this platform (or not yet supported by this package)";
-        ippicvHash = if ippicvPlatform == "linux" then "1nph0w0pdcxwhdb5lxkb8whpwd9ylvwl97hn0k425amg80z86cs3"
-                     else throw "ippicvHash: impossible";
-
-        ippicvName = "ippicv_${ippicvPlatform}_${ippicvVersion}.tgz";
-        ippicvArchive = "3rdparty/ippicv/downloads/linux-${ippicvHash}/${ippicvName}";
-        ippicv = fetchurl {
-          url = "https://github.com/Itseez/opencv_3rdparty/raw/ippicv/master_${ippicvVersion}/ippicv/${ippicvName}";
-          sha256 = ippicvHash;
-        };
-    in lib.optionalString enableIpp
-      ''
-        mkdir -p $(dirname ${ippicvArchive})
-        ln -s ${ippicv}    ${ippicvArchive}
-      '';
+    (let version  = "20151201";
+         md5      = "808b791a6eac9ed78d32a7666804320e";
+         sha256   = "1nph0w0pdcxwhdb5lxkb8whpwd9ylvwl97hn0k425amg80z86cs3";
+         rev      = "81a676001ca8075ada498583e4166079e5744668";
+         platform = if stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux" then "linux"
+                    else throw "ICV is not available for this platform (or not yet supported by this package)";
+         name = "ippicv_${platform}_${version}.tgz";
+         ippicv = fetchurl {
+           url = "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${rev}/ippicv/${name}";
+           inherit sha256;
+         };
+         dir = "3rdparty/ippicv/downloads/${platform}-${md5}";
+     in lib.optionalString enableIpp ''
+          mkdir -p "${dir}"
+          ln -s "${ippicv}" "${dir}/${name}"
+        ''
+    ) +
+    (lib.optionalString enableContrib ''
+      cmakeFlagsArray+=("-DOPENCV_EXTRA_MODULES_PATH=$NIX_BUILD_TOP/opencv_contrib")
+    '');
 
   buildInputs =
        [ zlib ]
@@ -91,7 +113,8 @@ stdenv.mkDerivation rec {
     ++ lib.optional enableFfmpeg ffmpeg
     ++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ])
     ++ lib.optional enableEigen eigen
-    ++ lib.optional enableCuda [ cudatoolkit gcc5 ]
+    ++ lib.optionals enableCuda [ cudatoolkit gcc5 ]
+    ++ lib.optional enableContrib protobuf3_1
     ;
 
   propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy;
@@ -110,8 +133,8 @@ stdenv.mkDerivation rec {
     (opencvFlag "OPENEXR" enableEXR)
     (opencvFlag "CUDA" enableCuda)
     (opencvFlag "CUBLAS" enableCuda)
-  ] ++ lib.optionals enableContrib [ "-DOPENCV_EXTRA_MODULES_PATH=${contribSrc}/modules" ]
-    ++ lib.optionals enableCuda [ "-DCUDA_FAST_MATH=ON" ];
+  ] ++ lib.optionals enableCuda [ "-DCUDA_FAST_MATH=ON" ]
+    ++ lib.optional enableContrib "-DBUILD_PROTOBUF=off";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index cd4a696b1d98..b65f7880de56 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl
+{ stdenv, fetchurl, buildPackages, perl
 , withCryptodev ? false, cryptodevHeaders
 , enableSSL2 ? false }:
 
@@ -76,7 +76,7 @@ let
 
     postFixup = ''
       # Check to make sure the main output doesn't depend on perl
-      if grep -r '${perl}' $out; then
+      if grep -r '${buildPackages.perl}' $out; then
         echo "Found an erroneous dependency on perl ^^^" >&2
         exit 1
       fi
@@ -109,24 +109,24 @@ let
 
 in {
 
-  openssl_1_0_1 = common {
+  openssl_1_0_1-vulnerable = common {
     version = "1.0.1u";
     sha256 = "0fb7y9pwbd76pgzd7xzqfrzibmc0vf03sl07f34z5dhm2b5b84j3";
   };
 
   openssl_1_0_2 = common {
-    version = "1.0.2j";
-    sha256 = "0cf4ar97ijfc7mg35zdgpad6x8ivkdx9qii6mz35khi1ps9g5bz7";
+    version = "1.0.2k";
+    sha256 = "1h6qi35w6hv6rd73p4cdgdzg732pdrfgpp37cgwz1v9a3z37ffbb";
   };
 
   openssl_1_1_0 = common {
-    version = "1.1.0c";
-    sha256 = "1xfn5ydl14myd9wgxm4nxy5a42cpp1g12ijf3g9m4mz0l90n8hzw";
+    version = "1.1.0d";
+    sha256 = "1pv0zql3r73qpjini90hn29l28d65b7i777zav0larbmi6gbnpkx";
   };
 
   openssl_1_0_2-steam = common {
-    version = "1.0.2j";
-    sha256 = "0cf4ar97ijfc7mg35zdgpad6x8ivkdx9qii6mz35khi1ps9g5bz7";
+    version = "1.0.2k";
+    sha256 = "1h6qi35w6hv6rd73p4cdgdzg732pdrfgpp37cgwz1v9a3z37ffbb";
     configureFlags = [ "no-engine" ];
     makeDepend = true;
     patches = [ ./openssl-fix-cpuid_setup.patch ];
diff --git a/pkgs/development/libraries/postgis/default.nix b/pkgs/development/libraries/postgis/default.nix
index 1886038dff3f..44a66409d45f 100644
--- a/pkgs/development/libraries/postgis/default.nix
+++ b/pkgs/development/libraries/postgis/default.nix
@@ -5,7 +5,7 @@ args@{fetchurl, composableDerivation, stdenv, perl, libxml2, postgresql, geos, p
   ### NixOS - usage:
   ==================
 
-    services.postgresql.extraPlugins = [ (pkgs.postgis.override { postgresql = pkgs.postgresql95; }).v_2_2_1 ];
+    services.postgresql.extraPlugins = [ (pkgs.postgis.override { postgresql = pkgs.postgresql95; }).v_2_3_1 ];
 
 
   ### important Postgis implementation details:
@@ -84,9 +84,9 @@ let
 
 in rec {
 
-  v_2_2_1 = pgDerivationBaseNewer.merge ( fix : {
-    version = "2.2.1";
-    sha256 = "02gsi1cm63kf0r7881444lrkzdjqhhpz9a5zav3al0q24nq01r8g";
+  v_2_3_1 = pgDerivationBaseNewer.merge ( fix : {
+    version = "2.3.1";
+    sha256 = "0xd21h2k6x3i1b3z6pgm3pmkfpxm6irxd5wbx68acjndjgd6p3ac";
     sql_srcs = ["postgis.sql" "spatial_ref_sys.sql"];
     builtInputs = [gdal json_c pkgconfig];
 
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 8161d3bfa1fd..6e86780446c5 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -3,11 +3,11 @@
 assert interactive -> readline != null && ncurses != null;
 
 stdenv.mkDerivation {
-  name = "sqlite-3.15.2";
+  name = "sqlite-3.16.2";
 
   src = fetchurl {
-    url = "http://sqlite.org/2016/sqlite-autoconf-3150200.tar.gz";
-    sha256 = "0j9i1zrwxc7dfd6xr3xagal3incrlalsrk96havnas1qp5im1cq7";
+    url = "http://sqlite.org/2017/sqlite-autoconf-3160200.tar.gz";
+    sha256 = "059n4s9qd35qpbd4g29y9ay99a6f68ad7k65g430rxb6jcz0rk35";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/t1lib/default.nix b/pkgs/development/libraries/t1lib/default.nix
index c6f3d68ebd60..8a76e886b4f6 100644
--- a/pkgs/development/libraries/t1lib/default.nix
+++ b/pkgs/development/libraries/t1lib/default.nix
@@ -13,6 +13,7 @@ let
     { name = "CVE-2011-0764.diff"; sha256 = "1j0y3f38im7srpqjg9jvx8as6sxkz8gw7hglcxnxl9qylx8mr2jh"; }
     { name = "CVE-2011-1552_1553_1554.patch"; sha256 = "16cyq6jhyhh8912j8hapx9pq4rzxk36ljlkxlnyi7i3wr8iz1dir"; }
     { name = "CVE-2010-2642.patch"; sha256 = "175zvyr9v1xs22k2svgxqjcpz5nihfa7j46hn9nzvkqcrhm5m9y8"; }
+      # this ^ also fixes CVE-2011-5244
   ];
 in
 stdenv.mkDerivation {
diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix
index cafe329c0767..3c56b3ecb8af 100644
--- a/pkgs/development/mobile/titaniumenv/build-app.nix
+++ b/pkgs/development/mobile/titaniumenv/build-app.nix
@@ -1,7 +1,7 @@
 {stdenv, androidsdk, titaniumsdk, titanium, alloy, xcodewrapper, jdk, python, nodejs, which, xcodeBaseDir}:
 { name, src, target, androidPlatformVersions ? [ "23" ], androidAbiVersions ? [ "armeabi" "armeabi-v7a" ], tiVersion ? null
 , release ? false, androidKeyStore ? null, androidKeyAlias ? null, androidKeyStorePassword ? null
-, iosMobileProvisioningProfile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null, iosVersion ? "9.2"
+, iosMobileProvisioningProfile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null, iosVersion ? "10.2"
 , enableWirelessDistribution ? false, installURL ? null
 }:
 
diff --git a/pkgs/development/mobile/titaniumenv/default.nix b/pkgs/development/mobile/titaniumenv/default.nix
index ae7a16984b8e..6ca4c441e640 100644
--- a/pkgs/development/mobile/titaniumenv/default.nix
+++ b/pkgs/development/mobile/titaniumenv/default.nix
@@ -1,4 +1,4 @@
-{pkgs, pkgs_i686, xcodeVersion ? "7.2", xcodeBaseDir ? "/Applications/Xcode.app", tiVersion ? "5.2.3.GA"}:
+{pkgs, pkgs_i686, xcodeVersion ? "8.2.1", xcodeBaseDir ? "/Applications/Xcode.app", tiVersion ? "6.0.2.GA"}:
 
 rec {
   androidenv = pkgs.androidenv;
@@ -11,6 +11,7 @@ rec {
   titaniumsdk = let
     titaniumSdkFile = if tiVersion == "5.1.2.GA" then ./titaniumsdk-5.1.nix
       else if tiVersion == "5.2.3.GA" then ./titaniumsdk-5.2.nix
+      else if tiVersion == "6.0.2.GA" then ./titaniumsdk-6.0.nix
       else throw "Titanium version not supported: "+tiVersion;
     in
     import titaniumSdkFile {
@@ -19,7 +20,7 @@ rec {
   
   buildApp = import ./build-app.nix {
     inherit (pkgs) stdenv python which jdk nodejs;
-    inherit (pkgs.nodePackages) titanium alloy;
+    inherit (pkgs.nodePackages_4_x) titanium alloy;
     inherit (androidenv) androidsdk;
     inherit (xcodeenv) xcodewrapper;
     inherit titaniumsdk xcodeBaseDir;
diff --git a/pkgs/development/mobile/titaniumenv/examples/default.nix b/pkgs/development/mobile/titaniumenv/examples/default.nix
index ffeefdbbbcfa..3c5d3a018ec8 100644
--- a/pkgs/development/mobile/titaniumenv/examples/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/default.nix
@@ -1,10 +1,10 @@
 { nixpkgs ? <nixpkgs>
 , systems ? [ "x86_64-linux" "x86_64-darwin" ]
-, xcodeVersion ? "7.2"
+, xcodeVersion ? "8.2.1"
 , xcodeBaseDir ? "/Applications/Xcode.app"
-, tiVersion ? "5.1.2.GA"
+, tiVersion ? "6.0.2.GA"
 , rename ? false
-, newBundleId ? "com.example.kitchensink", iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? "Example", iosCertificatePassword ? "", iosVersion ? "9.2"
+, newBundleId ? "com.example.kitchensink", iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? "Example", iosCertificatePassword ? "", iosVersion ? "10.2"
 , enableWirelessDistribution ? false, installURL ? null
 }:
 
diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
index 60b96548da46..4abf650ebee1 100644
--- a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
@@ -8,8 +8,8 @@ assert rename -> (stdenv != null && newBundleId != null && iosMobileProvisioning
 let
   src = fetchgit {
     url = https://github.com/appcelerator/KitchenSink.git;
-    rev = "6e9f509069fafdebfa78e15b2d14f20a27a485cc";
-    sha256 = "049cf0d9y0ivhsi35slx621z0wry4lqf76hw0ksb315i2713v347";
+    rev = "ec9edebf35030f61368000a8a9071dd7a0773884";
+    sha256 = "1j41w4nhcbl40x550pjgabqrach80f9dybv7ya32771wnw2000iy";
   };
   
   # Rename the bundle id to something else
diff --git a/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix
index 15a86e338dea..5bdd0fd63c5a 100644
--- a/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/simulate-kitchensink/default.nix
@@ -3,5 +3,5 @@
 xcodeenv.simulateApp {
   name = "simulate-${kitchensink.name}";
   inherit bundleId;
-  app = "${kitchensink}/build/iphone/build/Debug-iphonesimulator";
+  app = "${kitchensink}/build/iphone/build/Products/Debug-iphonesimulator";
 }
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-6.0.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-6.0.nix
new file mode 100644
index 000000000000..fdaaff394534
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-6.0.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchurl, unzip, makeWrapper, python, jdk}:
+
+stdenv.mkDerivation {
+  name = "mobilesdk-6.0.2.GA";
+  src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
+    url = http://builds.appcelerator.com/mobile/6_0_X/mobilesdk-6.0.2.v20170123140026-linux.zip;
+    sha256 = "1yjhr4fgjnxfxzwmgw71yynrfzhsjqj2cirjr5rd14zlp4q9751q";
+  }
+  else if stdenv.system == "x86_64-darwin" then fetchurl {
+    url = http://builds.appcelerator.com/mobile/6_0_X/mobilesdk-6.0.2.v20170123140026-osx.zip;
+    sha256 = "1ijd1wp56ygy238xpcffy112akim208wbv5zm901dvych83ibw1c";
+  }
+  else throw "Platform: ${stdenv.system} not supported!";
+  
+  buildInputs = [ unzip makeWrapper ];
+  
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    (yes y | unzip $src) || true
+    
+    # Rename ugly version number
+    cd mobilesdk/*
+    mv * 6.0.2.GA
+    cd *
+    
+    # Patch some executables
+    
+    ${if stdenv.system == "i686-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 android/titanium_prep.linux32
+      ''
+      else if stdenv.system == "x86_64-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 android/titanium_prep.linux64
+      ''
+      else ""}
+  '';
+}
diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix
index b2e6f84bb000..7e46aefb2997 100644
--- a/pkgs/development/mobile/xcodeenv/build-app.nix
+++ b/pkgs/development/mobile/xcodeenv/build-app.nix
@@ -1,12 +1,11 @@
 {stdenv, xcodewrapper}:
 { name
 , src
-, sdkVersion ? "6.1"
+, sdkVersion ? "10.2"
 , target ? null
 , configuration ? null
 , scheme ? null
 , sdk ? null
-, arch ? null
 , xcodeFlags ? ""
 , release ? false
 , codeSignIdentity ? null
@@ -35,11 +34,6 @@ let
       if release then "Release" else "Debug"
     else configuration;
     
-  _arch = if arch == null
-    then
-      if release then "armv7" else "x86_64"
-    else arch;
-
   _sdk = if sdk == null
     then
       if release then "iphoneos" + sdkVersion else "iphonesimulator" + sdkVersion
@@ -83,7 +77,7 @@ stdenv.mkDerivation {
       ''}
 
     # Do the building
-    xcodebuild -target ${_target} -configuration ${_configuration} ${stdenv.lib.optionalString (scheme != null) "-scheme ${scheme}"} -sdk ${_sdk} -arch ${_arch} ONLY_ACTIVE_ARCH=NO VALID_ARCHS="${_arch}" CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${if generateXCArchive then "archive" else ""} ${xcodeFlags} ${if release then ''"CODE_SIGN_IDENTITY=${codeSignIdentity}" PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName"'' else ""}
+    xcodebuild -target ${_target} -configuration ${_configuration} ${stdenv.lib.optionalString (scheme != null) "-scheme ${scheme}"} -sdk ${_sdk} TARGETED_DEVICE_FAMILY="1, 2" ONLY_ACTIVE_ARCH=NO CONFIGURATION_TEMP_DIR=$TMPDIR CONFIGURATION_BUILD_DIR=$out ${if generateXCArchive then "archive" else ""} ${xcodeFlags} ${if release then ''"CODE_SIGN_IDENTITY=${codeSignIdentity}" PROVISIONING_PROFILE=$PROVISIONING_PROFILE OTHER_CODE_SIGN_FLAGS="--keychain $HOME/Library/Keychains/$keychainName"'' else ""}
     
     ${stdenv.lib.optionalString release ''
       ${stdenv.lib.optionalString generateIPA ''
diff --git a/pkgs/development/mobile/xcodeenv/default.nix b/pkgs/development/mobile/xcodeenv/default.nix
index d7e35142be4c..afe430df383a 100644
--- a/pkgs/development/mobile/xcodeenv/default.nix
+++ b/pkgs/development/mobile/xcodeenv/default.nix
@@ -1,4 +1,4 @@
-{stdenv, version ? "7.2", xcodeBaseDir ? "/Applications/Xcode.app"}:
+{stdenv, version ? "8.2.1", xcodeBaseDir ? "/Applications/Xcode.app"}:
 
 rec {
   xcodewrapper = import ./xcodewrapper.nix {
diff --git a/pkgs/development/mobile/xcodeenv/simulate-app.nix b/pkgs/development/mobile/xcodeenv/simulate-app.nix
index ecfdbe2a6e39..5f71b5994080 100644
--- a/pkgs/development/mobile/xcodeenv/simulate-app.nix
+++ b/pkgs/development/mobile/xcodeenv/simulate-app.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
     
     # Copy the app and restore the write permissions
     appTmpDir=$(mktemp -d -t appTmpDir)
-    cp -r "$(echo ${app}/*.app)" $appTmpDir
+    cp -r "$(echo ${app}/*.app)" "$appTmpDir"
     chmod -R 755 "$(echo $appTmpDir/*.app)"
     
     # Wait for the simulator to start
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
     read
     
     # Install the app
-    xcrun simctl install $udid "$(echo $appTmpDir/*.app)"
+    xcrun simctl install "$udid" "$(echo $appTmpDir/*.app)"
     
     # Remove the app tempdir
     rm -Rf $appTmpDir
@@ -45,4 +45,3 @@ stdenv.mkDerivation {
     chmod +x $out/bin/run-test-simulator
   '';
 }
-
diff --git a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
index 26b0197b2e13..38afe86c5aa5 100644
--- a/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
+++ b/pkgs/development/mobile/xcodeenv/xcodewrapper.nix
@@ -8,8 +8,8 @@ stdenv.mkDerivation {
     ln -s /usr/bin/xcode-select
     ln -s /usr/bin/security
     ln -s /usr/bin/codesign
+    ln -s /usr/bin/xcrun
     ln -s "${xcodeBaseDir}/Contents/Developer/usr/bin/xcodebuild"
-    ln -s "${xcodeBaseDir}/Contents/Developer/usr/bin/xcrun"
     ln -s "${xcodeBaseDir}/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator"
 
     cd ..
diff --git a/pkgs/development/ocaml-modules/apron/default.nix b/pkgs/development/ocaml-modules/apron/default.nix
new file mode 100644
index 000000000000..0e73c6a73d31
--- /dev/null
+++ b/pkgs/development/ocaml-modules/apron/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchzip, perl, gmp, mpfr, ppl, ocaml, findlib, camlidl, mlgmpidl }:
+
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-apron-${version}";
+  version = "20160125";
+  src = fetchzip {
+    url = "http://apron.gforge.inria.fr/apron-${version}.tar.gz";
+    sha256 = "1a7b7b9wsd0gdvm41lgg6ayb85wxc2a3ggcrghy4qiphs4b9v4m4";
+  };
+
+  buildInputs = [ perl gmp mpfr ppl ocaml findlib camlidl ];
+  propagatedBuildInputs = [ mlgmpidl ];
+
+  prefixKey = "-prefix ";
+  createFindlibDestdir = true;
+
+  meta = {
+    license = stdenv.lib.licenses.lgpl21;
+    homepage = http://apron.cri.ensmp.fr/library/;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    description = "Numerical abstract domain library";
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/mlgmpidl/default.nix b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
new file mode 100644
index 000000000000..7e12abe386b8
--- /dev/null
+++ b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, camlidl, gmp, mpfr }:
+
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-mlgmpidl-${version}";
+  version = "1.2.4";
+  src = fetchFromGitHub {
+    owner = "nberth";
+    repo = "mlgmpidl";
+    rev = version;
+    sha256 = "09f9rk2bavhb7cdwjpibjf8bcjk59z85ac9dr8nvks1s842dp65s";
+  };
+
+  buildInputs = [ gmp mpfr ocaml findlib camlidl ];
+
+  configurePhase = ''
+    cp Makefile.config.model Makefile.config
+    sed -i Makefile.config \
+      -e 's|^MLGMPIDL_PREFIX.*$|MLGMPIDL_PREFIX = $out|' \
+      -e 's|^GMP_PREFIX.*$|GMP_PREFIX = ${gmp.dev}|' \
+      -e 's|^MPFR_PREFIX.*$|MPFR_PREFIX = ${mpfr.dev}|' \
+      -e 's|^CAMLIDL_DIR.*$|CAMLIDL_DIR = ${camlidl}/lib/ocaml/${ocaml.version}/site-lib/camlidl|'
+    echo HAS_NATIVE_PLUGINS = 1 >> Makefile.config
+    sed -i Makefile \
+      -e 's|^	/bin/rm |	rm |'
+  '';
+
+  createFindlibDestdir = true;
+
+  meta = {
+    description = "OCaml interface to the GMP library";
+    homepage = https://www.inrialpes.fr/pop-art/people/bjeannet/mlxxxidl-forge/mlgmpidl/;
+    license = stdenv.lib.licenses.lgpl21;
+    inherit (ocaml.meta) platforms;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/mtime/default.nix b/pkgs/development/ocaml-modules/mtime/default.nix
new file mode 100644
index 000000000000..a26109bd4f95
--- /dev/null
+++ b/pkgs/development/ocaml-modules/mtime/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, js_of_ocaml
+, jsooSupport ? !(stdenv.lib.versionAtLeast ocaml.version "4.04")
+}:
+
+stdenv.mkDerivation {
+  name = "ocaml${ocaml.version}-mtime-0.8.3";
+
+  src = fetchurl {
+    url = http://erratique.ch/software/mtime/releases/mtime-0.8.3.tbz;
+    sha256 = "1hfx4ny2dkw6jf3jppz0640dafl5xgn8r2si9kpwzhmibal8qrah";
+  };
+
+  unpackCmd = "tar xjf $src";
+
+  buildInputs = [ ocaml findlib ocamlbuild opam ]
+  ++ stdenv.lib.optional jsooSupport js_of_ocaml;
+
+  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true jsoo=${if jsooSupport then "true" else "false"}";
+
+  installPhase = "opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
+
+  meta = {
+    description = "Monotonic wall-clock time for OCaml";
+    homepage = http://erratique.ch/software/mtime;
+    inherit (ocaml.meta) platforms;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    license = stdenv.lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
index d2d66994604b..653445617958 100644
--- a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchzip, ocaml, findlib, oasis, ocaml_optcomp, camlp4 }:
+{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, oasis, ocaml_optcomp, camlp4 }:
 
-let version = "0.7"; in
+let version = "0.7.1"; in
 
 stdenv.mkDerivation {
   name = "ocsigen-deriving-${version}";
   src = fetchzip {
     url = "https://github.com/ocsigen/deriving/archive/${version}.tar.gz";
-    sha256 = "05z606gly1iyan292x3mflg3zasgg68n8i2mivz0zbshx2hz2jbw";
+    sha256 = "0gg3nr3iic4rwqrcc0qvfm9x0x57zclvdsnpy0z8rv2fl5isbzms";
     };
 
-  buildInputs = [ ocaml findlib oasis ocaml_optcomp camlp4 ];
+  buildInputs = [ ocaml findlib ocamlbuild oasis ocaml_optcomp camlp4 ];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/optcomp/default.nix b/pkgs/development/ocaml-modules/optcomp/default.nix
index 7afbf3a4b407..8953373954a5 100644
--- a/pkgs/development/ocaml-modules/optcomp/default.nix
+++ b/pkgs/development/ocaml-modules/optcomp/default.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation {
   name = "ocaml-optcomp-1.6";
   src = fetchurl {
     url = https://github.com/diml/optcomp/archive/1.6.tar.gz;
-    md5 = "d3587244dba1b8b10f24d0b60a8c700d";
-    };
+    sha256 = "0hhhb2gisah1h22zlg5iszbgqxdd7x85cwd57bd4mfkx9l7dh8jh";
+  };
   
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/ppx_tools/default.nix b/pkgs/development/ocaml-modules/ppx_tools/default.nix
index 33bf180cd7f3..b6a6039a4faa 100644
--- a/pkgs/development/ocaml-modules/ppx_tools/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_tools/default.nix
@@ -1,19 +1,21 @@
 { stdenv, fetchFromGitHub, ocaml, findlib }:
 
-let
-  version =
-  if stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.03" then "5.0+4.03.0" else "5.0+4.02.0";
+let param = {
+  "4.02.3" = {
+    version = "5.0+4.02.0";
+    sha256 = "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8"; };
+  "4.03.0" = {
+    version = "5.0+4.03.0";
+    sha256 = "061v1fl5z7z3ywi4ppryrlcywnvnqbsw83ppq72qmkc7ma4603jg"; };
+}."${ocaml.version}";
 in
   stdenv.mkDerivation {
-    name = "ocaml-ppx_tools-${version}";
+    name = "ocaml${ocaml.version}-ppx_tools-${param.version}";
     src = fetchFromGitHub {
       owner = "alainfrisch";
       repo = "ppx_tools";
-      rev = version;
-      sha256 = if version == "5.0+4.03.0"
-      then "061v1fl5z7z3ywi4ppryrlcywnvnqbsw83ppq72qmkc7ma4603jg"
-      else "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8"
-      ;
+      rev = param.version;
+      inherit (param) sha256;
     };
 
     buildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/ocaml-modules/spacetime_lib/default.nix b/pkgs/development/ocaml-modules/spacetime_lib/default.nix
new file mode 100644
index 000000000000..c12e47968ef0
--- /dev/null
+++ b/pkgs/development/ocaml-modules/spacetime_lib/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, owee }:
+
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-spacetime_lib-${version}";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "lpw25";
+    repo = "spacetime_lib";
+    rev = version;
+    sha256 = "1g91y6wl3z18jhaz2q03wn54zj6xk1qcjidr1nc6nq9a8906lcq5";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  propagatedBuildInputs = [ owee ];
+
+  createFindlibDestdir = true;
+
+  meta = {
+    description = "An OCaml library providing some simple operations for handling OCaml “spacetime” profiles";
+    inherit (src.meta) homepage;
+    inherit (ocaml.meta) platforms;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/python-modules/django_guardian.nix b/pkgs/development/python-modules/django_guardian.nix
new file mode 100644
index 000000000000..c9217955213d
--- /dev/null
+++ b/pkgs/development/python-modules/django_guardian.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, python, fetchurl
+, django_environ, mock, django, six
+, pytest, pytestrunner, pytestdjango, setuptools_scm
+}:
+buildPythonPackage rec {
+  name = "django-guardian-${version}";
+  version = "1.4.6";
+
+  src = fetchurl {
+    url = "mirror://pypi/d/django-guardian/${name}.tar.gz";
+    sha256 = "1r3xj0ik0hh6dfak4kjndxk5v73x95nfbppgr394nhnmiayv4zc5";
+  };
+
+  buildInputs = [ pytest pytestrunner pytestdjango django_environ mock setuptools_scm ];
+  propagatedBuildInputs = [ django six ];
+
+  checkPhase = ''
+    ${python.interpreter} nix_run_setup.py test --addopts="--ignore build"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Per object permissions for Django";
+    homepage = https://github.com/django-guardian/django-guardian;
+    licenses = [ licenses.mit licenses.bsd2 ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest/2_7.nix b/pkgs/development/python-modules/pytest/2_7.nix
new file mode 100644
index 000000000000..adaa640fdbe6
--- /dev/null
+++ b/pkgs/development/python-modules/pytest/2_7.nix
@@ -0,0 +1,28 @@
+{ stdenv, pkgs, buildPythonPackage, fetchurl, isPy26, argparse, py, selenium }:
+buildPythonPackage rec {
+  name = "pytest-2.7.3";
+
+  src = fetchurl {
+    url = "mirror://pypi/p/pytest/${name}.tar.gz";
+    sha256 = "1z4yi986f9n0p8qmzmn21m21m8j1x78hk3505f89baqm6pdw7afm";
+  };
+
+  # Disabled temporarily because of Hydra issue with namespaces
+  doCheck = false;
+
+  preCheck = ''
+    # don't test bash builtins
+    rm testing/test_argcomplete.py
+  '';
+
+  propagatedBuildInputs = [ py ]
+    ++ (stdenv.lib.optional isPy26 argparse)
+    ++ stdenv.lib.optional
+      pkgs.config.pythonPackages.pytest.selenium or false
+      selenium;
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ domenkozar lovek323 madjar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/python-modules/pytest/2_8.nix b/pkgs/development/python-modules/pytest/2_8.nix
new file mode 100644
index 000000000000..6232ccaf7006
--- /dev/null
+++ b/pkgs/development/python-modules/pytest/2_8.nix
@@ -0,0 +1,28 @@
+{ stdenv, pkgs, buildPythonPackage, fetchurl, isPy26, argparse, py, selenium }:
+buildPythonPackage rec {
+  name = "pytest-2.8.7";
+
+  src = fetchurl {
+    url = "mirror://pypi/p/pytest/${name}.tar.gz";
+    sha256 = "1bwb06g64x2gky8x5hcrfpg6r351xwvafimnhm5qxq7wajz8ck7w";
+  };
+
+  # Disabled temporarily because of Hydra issue with namespaces
+  doCheck = false;
+
+  preCheck = ''
+    # don't test bash builtins
+    rm testing/test_argcomplete.py
+  '';
+
+  propagatedBuildInputs = [ py ]
+    ++ (stdenv.lib.optional isPy26 argparse)
+    ++ stdenv.lib.optional
+      pkgs.config.pythonPackages.pytest.selenium or false
+      selenium;
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ domenkozar lovek323 madjar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/python-modules/pytest/2_9.nix b/pkgs/development/python-modules/pytest/2_9.nix
new file mode 100644
index 000000000000..3ca7120dd92c
--- /dev/null
+++ b/pkgs/development/python-modules/pytest/2_9.nix
@@ -0,0 +1,28 @@
+{ stdenv, pkgs, buildPythonPackage, fetchurl, isPy26, argparse, py, selenium }:
+buildPythonPackage rec {
+  name = "pytest-2.9.2";
+
+  src = fetchurl {
+    url = "mirror://pypi/p/pytest/${name}.tar.gz";
+    sha256 = "1n6igbc1b138wx1q5gca4pqw1j6nsyicfxds5n0b5989kaxqmh8j";
+  };
+
+  # Disabled temporarily because of Hydra issue with namespaces
+  doCheck = false;
+
+  preCheck = ''
+    # don't test bash builtins
+    rm testing/test_argcomplete.py
+  '';
+
+  propagatedBuildInputs = [ py ]
+    ++ (stdenv.lib.optional isPy26 argparse)
+    ++ stdenv.lib.optional
+      pkgs.config.pythonPackages.pytest.selenium or false
+      selenium;
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ domenkozar lovek323 madjar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
new file mode 100644
index 000000000000..d3fea5a3b43f
--- /dev/null
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchurl, isPy26, argparse, hypothesis, py }:
+buildPythonPackage rec {
+  name = "pytest-${version}";
+  version = "3.0.6";
+
+  preCheck = ''
+    # don't test bash builtins
+    rm testing/test_argcomplete.py
+  '';
+
+  src = fetchurl {
+    url = "mirror://pypi/p/pytest/${name}.tar.gz";
+    sha256 = "0h6rfp7y7c5mqwfm9fy5fq4l9idnp160c82ylcfjg251y6lk8d34";
+  };
+
+  buildInputs = [ hypothesis ];
+  propagatedBuildInputs = [ py ]
+    ++ (stdenv.lib.optional isPy26 argparse);
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/python-modules/pytestdjango.nix b/pkgs/development/python-modules/pytestdjango.nix
new file mode 100644
index 000000000000..5a8dd85f4bdb
--- /dev/null
+++ b/pkgs/development/python-modules/pytestdjango.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchurl
+, pytest, django, setuptools_scm
+}:
+buildPythonPackage rec {
+  name = "pytest-django-${version}";
+  version = "3.1.2";
+
+  src = fetchurl {
+    url = "mirror://pypi/p/pytest-django/${name}.tar.gz";
+    sha256 = "02932m2sr8x22m4az8syr8g835g4ak77varrnw71n6xakmdcr303";
+  };
+
+  buildInputs = [ pytest setuptools_scm ];
+  propagatedBuildInputs = [ django ];
+
+  meta = with stdenv.lib; {
+    description = "py.test plugin for testing of Django applications";
+    homepage = http://pytest-django.readthedocs.org/en/latest/;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix
index 74c15adc4834..049ea51b8f90 100644
--- a/pkgs/development/tools/ammonite/default.nix
+++ b/pkgs/development/tools/ammonite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ammonite-repl-${version}";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchurl {
-    url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${version}";
-    sha256 = "0xwy05yfqr1dfypka9wnm60wm0q60kmckzxfp5x79aib94f5ds51";
+    url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/2.12-${version}";
+    sha256 = "0fgwqdvk0nljd6xm16r8qdhjcp7ix4vx91w5ab856hllf4911120";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
index fc817a8e391e..a1239c6a1216 100644
--- a/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -1,6 +1,11 @@
-{ stdenv, fetchurl, ncurses, ocamlPackages, graphviz
+{ stdenv, fetchurl, makeWrapper, ncurses, ocamlPackages, graphviz
 , ltl2ba, coq, alt-ergo, why3 }:
 
+let
+  mkocamlpath = p: "${p}/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib";
+  ocamlpath = "${mkocamlpath ocamlPackages.apron}:${mkocamlpath ocamlPackages.mlgmpidl}";
+in
+
 stdenv.mkDerivation rec {
   name    = "frama-c-${version}";
   version = "20160501";
@@ -16,9 +21,11 @@ stdenv.mkDerivation rec {
     sha256 = "1335bhq9v3h46m8aba2c5myi9ghm87q41in0m15xvdrwq5big1jg";
   };
 
+  nativeBuildInputs = [ makeWrapper ];
+
   buildInputs = with ocamlPackages; [
     ncurses ocaml findlib alt-ergo ltl2ba ocamlgraph
-    lablgtk coq graphviz zarith why3 zarith
+    lablgtk coq graphviz zarith why3 apron
   ];
 
 
@@ -38,11 +45,15 @@ stdenv.mkDerivation rec {
     FRAMAC=$out/bin/frama-c ./configure --prefix=$out
     make
     make install
+    for p in $out/bin/frama-c{,-gui};
+    do
+      wrapProgram $p --prefix OCAMLPATH ':' ${ocamlpath}
+    done
   '';
 
-
   # Enter frama-c directory before patching
   prePatch = ''cd frama*'';
+  patches = [ ./dynamic.diff ];
   postPatch = ''
     # strip absolute paths to /usr/bin
     for file in ./configure ./share/Makefile.common ./src/*/configure; do
diff --git a/pkgs/development/tools/analysis/frama-c/dynamic.diff b/pkgs/development/tools/analysis/frama-c/dynamic.diff
new file mode 100644
index 000000000000..7ab2b32de1e7
--- /dev/null
+++ b/pkgs/development/tools/analysis/frama-c/dynamic.diff
@@ -0,0 +1,12 @@
+--- a/src/kernel_services/plugin_entry_points/dynamic.ml	2016-05-30 16:15:22.000000000 +0200
++++ b/src/kernel_services/plugin_entry_points/dynamic.ml	2016-10-13 18:25:31.000000000 +0200
+@@ -287,7 +287,8 @@
+         (List.fold_right (add_dir ~user:false) Config.plugin_dir []) ;
+     let pkgs = ref [] in
+     List.iter (scan_directory pkgs) !load_path ;
+-    let findlib_path = String.concat ":" !load_path in
++    let findlib_path = String.concat ":" (!load_path @
++      try [Sys.getenv "OCAMLPATH"] with Not_found -> []) in
+     Klog.debug ~dkey "setting findlib path to %s" findlib_path;
+     Findlib.init ~env_ocamlpath:findlib_path ();
+     load_packages (List.rev !pkgs) ;
diff --git a/pkgs/development/tools/apktool/default.nix b/pkgs/development/tools/apktool/default.nix
index 9d97b0f9f319..4f87bcd1589e 100644
--- a/pkgs/development/tools/apktool/default.nix
+++ b/pkgs/development/tools/apktool/default.nix
@@ -2,30 +2,25 @@
 
 stdenv.mkDerivation rec {
   name = "apktool-${version}";
-  version = "1.5.2";
+  version = "2.2.2";
 
   src = fetchurl {
-    url = "https://android-apktool.googlecode.com/files/apktool${version}.tar.bz2";
-    sha1 = "2dd828cf79467730c7406aa918f1da1bd21aaec8";
+    url = "https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_${version}.jar";
+    sha256 = "1a94jw0ml08xdwls1q9v5p1zak5qrbw2zyychnm5vch8znyws411";
   };
 
-  unpackCmd = ''
-    tar -xvf $src || true
-    cd apktool*
-  '';
-
-  phases = [ "unpackPhase" "installPhase" ];
+  phases = [ "installPhase" ];
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   sourceRoot = ".";
 
   installPhase = ''
-    install -D apktool.jar "$out/libexec/apktool/apktool.jar"
+    install -D ${src} "$out/libexec/apktool/apktool.jar"
     mkdir -p "$out/bin"
     makeWrapper "${jre}/bin/java" "$out/bin/apktool" \
         --add-flags "-jar $out/libexec/apktool/apktool.jar" \
-        --prefix PATH : "${buildTools}/build-tools/android-4.3/"
+        --prefix PATH : "${buildTools}/build-tools/25.0.1/"
   '';
 
   meta = with stdenv.lib; {
@@ -33,7 +28,7 @@ stdenv.mkDerivation rec {
     homepage    = https://code.google.com/p/android-apktool/;
     license     = licenses.asl20;
     maintainers = with maintainers; [ offline ];
-    platforms = with platforms; unix;
+    platforms   = with platforms; unix;
   };
 
 }
diff --git a/pkgs/development/tools/build-managers/drake/Gemfile b/pkgs/development/tools/build-managers/drake/Gemfile
new file mode 100644
index 000000000000..ddb13a65c165
--- /dev/null
+++ b/pkgs/development/tools/build-managers/drake/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'drake'
diff --git a/pkgs/development/tools/build-managers/drake/Gemfile.lock b/pkgs/development/tools/build-managers/drake/Gemfile.lock
new file mode 100644
index 000000000000..cf8900a30eed
--- /dev/null
+++ b/pkgs/development/tools/build-managers/drake/Gemfile.lock
@@ -0,0 +1,15 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    comp_tree (1.1.3)
+    drake (0.9.2.0.3.1)
+      comp_tree (>= 1.1.3)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  drake
+
+BUNDLED WITH
+   1.13.7
diff --git a/pkgs/development/tools/build-managers/drake/default.nix b/pkgs/development/tools/build-managers/drake/default.nix
new file mode 100644
index 000000000000..15a88b1fc312
--- /dev/null
+++ b/pkgs/development/tools/build-managers/drake/default.nix
@@ -0,0 +1,18 @@
+{ lib, bundlerEnv, ruby }:
+
+bundlerEnv {
+  name = "drake-0.9.2.0.3.1";
+
+  inherit ruby;
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+  
+  meta = with lib; {
+    description = "A branch of Rake supporting automatic parallelizing of tasks";
+    homepage = http://quix.github.io/rake/;
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/development/tools/build-managers/drake/gemset.nix b/pkgs/development/tools/build-managers/drake/gemset.nix
new file mode 100644
index 000000000000..fd5a6f06a2a8
--- /dev/null
+++ b/pkgs/development/tools/build-managers/drake/gemset.nix
@@ -0,0 +1,18 @@
+{
+  comp_tree = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dj9lkfxcczn67l1j12dcxswrfxxd1zgxa344zk6vqs2gwwhy9m9";
+      type = "gem";
+    };
+    version = "1.1.3";
+  };
+  drake = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09gkmdshwdmdnkdxi03dv4rk1dip0wdv6dx14wscrmi0jyk86yag";
+      type = "gem";
+    };
+    version = "0.9.2.0.3.1";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/build-managers/gup/build.nix b/pkgs/development/tools/build-managers/gup/build.nix
index a9af037bb81e..b2a60c309b32 100644
--- a/pkgs/development/tools/build-managers/gup/build.nix
+++ b/pkgs/development/tools/build-managers/gup/build.nix
@@ -1,14 +1,30 @@
-# NOTE: this file is copied from the upstream repository for this package.
-# Please submit any changes you make here to https://github.com/timbertson/gup/
+# NOTE: the `nixpkgs` version of this file is copied from the upstream repository
+# for this package. Please make any changes to https://github.com/timbertson/gup/
 
-{ stdenv, lib, python, which, pychecker ? null }:
-{ src, version, meta ? {} }:
+{ stdenv, lib, pythonPackages }:
+{ src, version, meta ? {}, passthru ? {}, forceTests ? false }:
+let
+  testInputs = [
+    pythonPackages.mocktest or null
+    pythonPackages.whichcraft
+    pythonPackages.nose
+    pythonPackages.nose_progressive
+  ];
+  pychecker = pythonPackages.pychecker or null;
+  usePychecker = forceTests || pychecker != null;
+  enableTests = forceTests || (lib.all (dep: dep != null) testInputs);
+in
 stdenv.mkDerivation {
-  inherit src meta;
+  inherit src meta passthru;
   name = "gup-${version}";
-  buildInputs = lib.remove null [ python which pychecker ];
-  SKIP_PYCHECKER = pychecker == null;
+  buildInputs = [ pythonPackages.python ]
+    ++ (lib.optionals enableTests testInputs)
+    ++ (lib.optional usePychecker pychecker)
+  ;
+  SKIP_PYCHECKER = !usePychecker;
   buildPhase = "make python";
+  inherit pychecker;
+  testPhase = if enableTests then "make test" else "true";
   installPhase = ''
     mkdir $out
     cp -r python/bin $out/bin
diff --git a/pkgs/development/tools/build-managers/gup/build.nix.gup b/pkgs/development/tools/build-managers/gup/build.nix.gup
new file mode 100755
index 000000000000..915d4287566a
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gup/build.nix.gup
@@ -0,0 +1,6 @@
+#!/bin/bash
+set -eu
+if [ -n "${GUP_TARGET:-}" ]; then
+	gup --always
+fi
+curl -LSs -o "$1" https://raw.githubusercontent.com/timbertson/gup/master/nix/gup-python.nix
diff --git a/pkgs/development/tools/build-managers/gup/default.nix b/pkgs/development/tools/build-managers/gup/default.nix
index 8e85c63cb6e5..e73beb031645 100644
--- a/pkgs/development/tools/build-managers/gup/default.nix
+++ b/pkgs/development/tools/build-managers/gup/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchFromGitHub, lib, python, which }:
-let
-  version = "0.5.5";
-  src = fetchFromGitHub {
-    sha256 = "12yv0j333z6jkaaal8my3jx3k4ml9hq8ldis5zfvr8179d4xah7q";
-    rev = "version-${version}";
-    repo = "gup";
-    owner = "timbertson";
-  };
-in
+{ stdenv, fetchFromGitHub, lib, pythonPackages, nix-update-source, curl }:
 import ./build.nix
-  { inherit stdenv lib python which; }
-  { inherit src version;
+  { inherit stdenv lib pythonPackages; }
+  { inherit (nix-update-source.fetch ./src.json) src version;
     meta = {
-      inherit (src.meta) homepage;
+      homepage = https://github.com/timbertson/gup/;
       description = "A better make, inspired by djb's redo";
       license = stdenv.lib.licenses.lgpl2Plus;
       maintainers = [ stdenv.lib.maintainers.timbertson ];
       platforms = stdenv.lib.platforms.all;
     };
+    passthru = {
+      updateScript = ''
+        set -e
+        echo
+        cd ${toString ./.}
+        ${nix-update-source}/bin/nix-update-source --prompt version src.json
+        ./build.nix.gup build.nix
+      '';
+    };
   }
diff --git a/pkgs/development/tools/build-managers/gup/src.json b/pkgs/development/tools/build-managers/gup/src.json
new file mode 100644
index 000000000000..6b9719a30762
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gup/src.json
@@ -0,0 +1,17 @@
+{
+  "fetch": {
+    "args": {
+      "owner": "timbertson",
+      "repo": "gup",
+      "rev": "version-0.6.0",
+      "sha256": "053xnx39jh9kn9l572z4k0q7bbxjpisf1fm9aq27ybj2ha1rh6wr"
+    },
+    "fn": "fetchFromGitHub",
+    "rev": "version-0.6.0",
+    "version": "0.6.0"
+  },
+  "owner": "timbertson",
+  "repo": "gup",
+  "rev": "version-{version}",
+  "type": "fetchFromGitHub"
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 1338201b9962..c2e105d469e2 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
 
 let
-  version = "1.9.0";
+  version = "1.10.0";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
-    sha256 = "12hcpvc0j6g200qhz12gfsslngbqx4sifrikr05vh2av17hba25s";
+    sha256 = "1fv4sv92ng4gx53pbpagb6kv2hdab04lf2chsflf10xgzqw5l521";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "1hqwhg94g514g0ad4h0h7wh7k5clm9i7whzr6c30i8yb00ga628s";
+    sha256 = "153dbgk6fvl73d5qhainqr9hzicsryc6ynlryi9si40ld82flrsr";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-ci-multi-runner";
     rev = "v${version}";
-    sha256 = "1b30daxnpn1psy3vds1m4mnbl2hmvr2bc0zrd3nn9xm3xacm3dqj";
+    sha256 = "0ma6b6624c8218cz4gg5pr077li7nbs0v3mpgr1hxq7v465spa7j";
   };
 
   buildInputs = [ go-bindata ];
diff --git a/pkgs/development/tools/guile/g-wrap/default.nix b/pkgs/development/tools/guile/g-wrap/default.nix
index a1564859e84f..030693714f07 100644
--- a/pkgs/development/tools/guile/g-wrap/default.nix
+++ b/pkgs/development/tools/guile/g-wrap/default.nix
@@ -9,12 +9,11 @@ stdenv.mkDerivation rec {
 
   # Note: Glib support is optional, but it's quite useful (e.g., it's
   # used by Guile-GNOME).
-  buildInputs = [ guile pkgconfig glib ]
-    ++ stdenv.lib.optional doCheck guile_lib;
+  buildInputs = [ guile pkgconfig glib guile_lib ];
 
   propagatedBuildInputs = [ libffi ];
 
-  doCheck = !stdenv.isFreeBSD; # XXX: 00-socket.test hangs
+  doCheck = true;
 
   meta = {
     description = "G-Wrap, a wrapper generator for Guile";
diff --git a/pkgs/development/tools/java/jclasslib/default.nix b/pkgs/development/tools/java/jclasslib/default.nix
index cb3f6164b02c..1d8ae80572a1 100644
--- a/pkgs/development/tools/java/jclasslib/default.nix
+++ b/pkgs/development/tools/java/jclasslib/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
   builder = ./builder.sh;
   src = fetchurl {
     url = mirror://sourceforge/jclasslib/jclasslib_unix_2_0.tar.gz;
-    md5 = "31d91bb03fee23410689d2f1c4c439b1";
+    sha256 = "1y2fbg5h2p3fwcp7h5n1qib7x9svyrilq3i58vm6vany1xzg7nx5";
   };
 
   inherit jre xpf ant;
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index da0447c49da8..f39d15bc7be6 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -12,7 +12,7 @@
 
 let
 
-  basename = "gdb-7.12";
+  basename = "gdb-7.12.1";
 
   # Whether (cross-)building for GNU/Hurd.  This is an approximation since
   # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.xz";
-    sha256 = "152g2qa8337cxif3lkvabjcxfd9jphfb2mza8f1p2c4bjk2z6kw3";
+    sha256 = "11ii260h1sd7v0bs3cz6d5l8gqxxgldry0md60ncjgixjw5nh1s6";
   };
 
   nativeBuildInputs = [ pkgconfig texinfo perl ]
diff --git a/pkgs/development/tools/msgpack-tools/default.nix b/pkgs/development/tools/msgpack-tools/default.nix
new file mode 100644
index 000000000000..d83be1c14313
--- /dev/null
+++ b/pkgs/development/tools/msgpack-tools/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "msgpack-tools-${version}";
+  version = "v0.6";
+
+  src = fetchFromGitHub {
+    owner = "ludocode";
+    repo = "msgpack-tools";
+    rev = version;
+    sha256 = "1ygjk25zlpqjckxgqmahnz999704zy2bd9id6hp5jych1szkjgs5";
+  };
+
+  buildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "Command-line tools for converting between MessagePack and JSON";
+    homepage = https://github.com/ludocode/msgpack-tools;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ alibabzo ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/camlidl/default.nix b/pkgs/development/tools/ocaml/camlidl/default.nix
index feedd8835485..780862b6727f 100644
--- a/pkgs/development/tools/ocaml/camlidl/default.nix
+++ b/pkgs/development/tools/ocaml/camlidl/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
     substituteInPlace config/Makefile --replace BINDIR=/usr/local/bin BINDIR=$out
     substituteInPlace config/Makefile --replace OCAMLLIB=/usr/local/lib/ocaml OCAMLLIB=$out/lib/ocaml/${ocaml.version}/site-lib/camlidl
     substituteInPlace config/Makefile --replace CPP=/lib/cpp CPP=${stdenv.cc}/bin/cpp
+    substituteInPlace config/Makefile --replace "OCAMLC=ocamlc -g" "OCAMLC=ocamlc -g -warn-error -31"
     mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/camlidl/caml
   '';
 
diff --git a/pkgs/development/tools/ocaml/camlp4/default.nix b/pkgs/development/tools/ocaml/camlp4/default.nix
index 1e1d2eb68eab..a257a88287cd 100644
--- a/pkgs/development/tools/ocaml/camlp4/default.nix
+++ b/pkgs/development/tools/ocaml/camlp4/default.nix
@@ -7,6 +7,9 @@ let param = {
   "4.03.0" = {
      version = "4.03+1";
      sha256 = "1f2ndch6f1m4fgnxsjb94qbpwjnjgdlya6pard44y6n0dqxi1wsq"; };
+  "4.04.0" = {
+     version = "4.04+1";
+     sha256 = "1ad7rygqjxrc1im95gw9lp8q83nhdaf383f2808f1p63yl42xm7k"; };
   }."${ocaml.version}";
 in
 
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/default.nix b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
index d88dd9eb8964..81cd2caf7ee0 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, findlib, ocaml_lwt, menhir, ocsigen_deriving, ppx_deriving, camlp4
+{ stdenv, fetchurl, ocaml, findlib, ocaml_lwt, menhir, ocsigen_deriving, ppx_deriving, camlp4, ocamlbuild
 , cmdliner, tyxml, reactivedata, cppo, which, base64, uchar
 }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
     }."${version}";
   };
 
-  buildInputs = [ ocaml findlib menhir ocsigen_deriving
+  buildInputs = [ ocaml findlib menhir ocsigen_deriving ocamlbuild
                  cmdliner reactivedata cppo which base64 ]
   ++ stdenv.lib.optional (stdenv.lib.versionAtLeast ocaml.version "4.02") tyxml;
   propagatedBuildInputs = [ ocaml_lwt camlp4 ppx_deriving ]
diff --git a/pkgs/development/tools/parsing/antlr/default.nix b/pkgs/development/tools/parsing/antlr/default.nix
deleted file mode 100644
index e866f61f25a3..000000000000
--- a/pkgs/development/tools/parsing/antlr/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, jre}:
-
-stdenv.mkDerivation {
-  name = "antlr-3.0b3";
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = http://www.antlr.org/download/antlr-3.0b3.tar.gz;
-    md5 = "6a7e70ccece8149b735cc3aaa24241cc";
-  };
-  inherit jre;
-
-  meta = with stdenv.lib; {
-    description = "Powerful parser generator";
-    longDescription = ''
-      ANTLR (ANother Tool for Language Recognition) is a powerful parser
-      generator for reading, processing, executing, or translating structured
-      text or binary files. It's widely used to build languages, tools, and
-      frameworks. From a grammar, ANTLR generates a parser that can build and
-      walk parse trees.
-    '';
-    homepage = http://www.antlr.org/;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/tools/rtags/default.nix b/pkgs/development/tools/rtags/default.nix
index f8f9646182b1..44f922906e89 100644
--- a/pkgs/development/tools/rtags/default.nix
+++ b/pkgs/development/tools/rtags/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "rtags-${version}";
-  version = "2.3";
+  version = "2.8-p1";
 
   buildInputs = [ cmake llvmPackages.llvm openssl llvmPackages.clang emacs ]
-    ++ lib.optional stdenv.isDarwin apple_sdk.sdk;
+    ++ lib.optionals stdenv.isDarwin [ apple_sdk.sdk apple_sdk.frameworks.CoreServices ];
 
   preConfigure = ''
-    export LIBCLANG_CXXFLAGS="-isystem ${llvmPackages.clang.cc}/include $(llvm-config --cxxflags) " \
+    export LIBCLANG_CXXFLAGS="-isystem ${llvmPackages.clang.cc}/include $(llvm-config --cxxflags) -fexceptions" \
            LIBCLANG_LIBDIR="${llvmPackages.clang.cc}/lib" \
 
   '' + lib.optionalString stdenv.isDarwin ''
@@ -17,10 +17,11 @@ stdenv.mkDerivation rec {
   '';
 
   src = fetchgit {
-    rev = "refs/tags/v${version}";
+    # rev = "refs/tags/v${version}"; # TODO Renable if sha1 below is tagged as release
+    rev = "f85bd60f00d51748ea159b00fda7b5bfa78ef571";
     fetchSubmodules = true;
     url = "https://github.com/andersbakken/rtags.git";
-    sha256 = "05kzch88x2wiimygfli6vsr9i5hzgkybsya8qx4zvb6daip4b7yf";
+    sha256 = "0g9sgc763c5d695hjffhis19sbaqk8z4884szljf7kbrjxl17y78";
   };
 
   meta = {
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index 39c7ca77f8f6..659c831bbe3c 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -117,7 +117,8 @@ in stdenv.mkDerivation rec {
     mkdir -p "$out"
     cp -r opt "$out"
     cp -r usr/bin "$out"
-    wrapProgram "$out/bin/vagrant" --prefix LD_LIBRARY_PATH : "$out/opt/vagrant/embedded/lib"
+    wrapProgram "$out/bin/vagrant" --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libxml2 libxslt ]}" \
+                                   --prefix LD_LIBRARY_PATH : "$out/opt/vagrant/embedded/lib"
   '';
 
   preFixup = ''
diff --git a/pkgs/development/tools/valadoc/default.nix b/pkgs/development/tools/valadoc/default.nix
index 7d4e61c87995..3fd92dfeba41 100644
--- a/pkgs/development/tools/valadoc/default.nix
+++ b/pkgs/development/tools/valadoc/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchgit, gnome3, automake, autoconf, which, libtool, pkgconfig, graphviz, glib, gobjectIntrospection, expat}:
 stdenv.mkDerivation rec {
-  version = "2016-10-09";
+  version = "2016-11-11";
   name = "valadoc-unstable-${version}";
 
   src = fetchgit {
     url = "git://git.gnome.org/valadoc";
-    rev = "37756970379d1363453562e9f2af2c354d172fb4";
-    sha256 = "1s9sf6f0srh5sqqikswnb3bgwv5s1r9bd4n10hs2lzfmh7z227qb";
+    rev = "8080b626db9c16ac9a0a9802677b4f6ab0d36d4e";
+    sha256 = "1y00yls4wgxggzfagm3hcmzkpskfbs3m52pjgl71lg4p85kv6msv";
   };
 
   nativeBuildInputs = [ automake autoconf which gnome3.vala libtool pkgconfig gobjectIntrospection ];