summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/altcoins/nano-wallet/default.nix4
-rw-r--r--pkgs/applications/audio/aeolus/default.nix4
-rw-r--r--pkgs/applications/audio/audacity/default.nix4
-rw-r--r--pkgs/applications/audio/lollypop/default.nix4
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/spotify/default.nix3
-rw-r--r--pkgs/applications/audio/tetraproc/default.nix4
-rw-r--r--pkgs/applications/editors/okteta/default.nix4
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/misc/airspy/default.nix2
-rw-r--r--pkgs/applications/misc/alacritty/default.nix20
-rw-r--r--pkgs/applications/misc/glava/default.nix23
-rw-r--r--pkgs/applications/misc/pwsafe/default.nix64
-rw-r--r--pkgs/applications/misc/xdgmenumaker/default.nix4
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.sh2
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix26
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/dino/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/nheko/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/wavebox/default.nix4
-rw-r--r--pkgs/applications/networking/nload/default.nix15
-rw-r--r--pkgs/applications/networking/pjsip/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/gildas/default.nix6
-rw-r--r--pkgs/applications/science/logic/prooftree/default.nix9
-rw-r--r--pkgs/applications/version-management/redmine/Gemfile64
-rw-r--r--pkgs/applications/version-management/redmine/Gemfile.lock48
-rw-r--r--pkgs/applications/version-management/redmine/default.nix9
-rw-r--r--pkgs/applications/version-management/redmine/gemset.nix151
-rw-r--r--pkgs/applications/video/obs-studio/default.nix4
-rw-r--r--pkgs/desktops/deepin/dde-api/default.nix60
-rw-r--r--pkgs/desktops/deepin/dde-api/deps.nix129
-rw-r--r--pkgs/desktops/deepin/default.nix1
-rw-r--r--pkgs/desktops/deepin/go-gir-generator/default.nix6
-rw-r--r--pkgs/development/compilers/futhark/default.nix55
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk10-linux.nix1
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix15
-rw-r--r--pkgs/development/haskell-modules/default.nix5
-rw-r--r--pkgs/development/haskell-modules/non-hackage-packages.nix18
-rw-r--r--pkgs/development/interpreters/erlang/generic-builder.nix2
-rw-r--r--pkgs/development/interpreters/perl/default.nix6
-rw-r--r--pkgs/development/libraries/allegro/default.nix2
-rw-r--r--pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix16
-rw-r--r--pkgs/development/libraries/audio/zita-convolver/default.nix6
-rw-r--r--pkgs/development/libraries/audio/zita-resampler/default.nix6
-rw-r--r--pkgs/development/libraries/brigand/default.nix26
-rw-r--r--pkgs/development/libraries/eccodes/default.nix8
-rw-r--r--pkgs/development/libraries/fcppt/default.nix8
-rw-r--r--pkgs/development/libraries/grantlee/5/default.nix1
-rw-r--r--pkgs/development/libraries/grantlee/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix5
-rw-r--r--pkgs/development/libraries/gtk-sharp-beans/default.nix3
-rw-r--r--pkgs/development/libraries/gtk-sharp/2.0.nix7
-rw-r--r--pkgs/development/libraries/gtkspell/default.nix11
-rw-r--r--pkgs/development/libraries/hspell/default.nix6
-rw-r--r--pkgs/development/libraries/hunspell/default.nix1
-rw-r--r--pkgs/development/libraries/hyena/default.nix1
-rw-r--r--pkgs/development/libraries/id3lib/default.nix7
-rw-r--r--pkgs/development/libraries/libblockdev/default.nix4
-rw-r--r--pkgs/development/libraries/libclthreads/default.nix18
-rw-r--r--pkgs/development/libraries/libclxclient/default.nix16
-rw-r--r--pkgs/development/libraries/libcouchbase/default.nix4
-rw-r--r--pkgs/development/libraries/libmesode/default.nix4
-rw-r--r--pkgs/development/libraries/termbox/default.nix24
-rw-r--r--pkgs/development/libraries/ti-rpc/default.nix2
-rw-r--r--pkgs/development/libraries/vulkan-headers/default.nix4
-rw-r--r--pkgs/development/libraries/yojimbo/default.nix43
-rw-r--r--pkgs/development/python-modules/astroid/1.6.nix39
-rw-r--r--pkgs/development/python-modules/astroid/default.nix4
-rw-r--r--pkgs/development/python-modules/atom/default.nix23
-rw-r--r--pkgs/development/python-modules/autobahn/default.nix20
-rw-r--r--pkgs/development/python-modules/av/default.nix12
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix94
-rw-r--r--pkgs/development/python-modules/buildbot/pkg.nix (renamed from pkgs/development/tools/build-managers/buildbot/pkg.nix)11
-rw-r--r--pkgs/development/python-modules/buildbot/plugins.nix103
-rw-r--r--pkgs/development/python-modules/buildbot/skip_test_linux_distro.patch (renamed from pkgs/development/tools/build-managers/buildbot/skip_test_linux_distro.patch)0
-rw-r--r--pkgs/development/python-modules/buildbot/worker.nix (renamed from pkgs/development/tools/build-managers/buildbot/worker.nix)14
-rw-r--r--pkgs/development/python-modules/escapism/default.nix24
-rw-r--r--pkgs/development/python-modules/filterpy/default.nix35
-rw-r--r--pkgs/development/python-modules/hyperlink/default.nix6
-rw-r--r--pkgs/development/python-modules/ibmquantumexperience/default.nix4
-rw-r--r--pkgs/development/python-modules/pylint/1.9.nix49
-rw-r--r--pkgs/development/python-modules/pylint/default.nix26
-rw-r--r--pkgs/development/python-modules/qasm2image/default.nix8
-rw-r--r--pkgs/development/python-modules/qiskit/default.nix8
-rw-r--r--pkgs/development/python-modules/rfc-bibtex/default.nix20
-rw-r--r--pkgs/development/python-modules/sphinx-jinja/default.nix27
-rw-r--r--pkgs/development/python-modules/sqlalchemy-migrate/default.nix12
-rw-r--r--pkgs/development/python-modules/tempita/default.nix21
-rw-r--r--pkgs/development/python-modules/tinycss/default.nix35
-rw-r--r--pkgs/development/python-modules/toolz/default.nix8
-rw-r--r--pkgs/development/python-modules/trollius/default.nix56
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix4
-rw-r--r--pkgs/development/tools/analysis/cpplint/default.nix29
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix13
-rw-r--r--pkgs/development/tools/analysis/retdec/default.nix245
-rw-r--r--pkgs/development/tools/analysis/retdec/yaracpp.nix49
-rw-r--r--pkgs/development/tools/build-managers/buildbot/default.nix95
-rw-r--r--pkgs/development/tools/build-managers/buildbot/plugins.nix105
-rw-r--r--pkgs/development/tools/ejson/Gemfile4
-rw-r--r--pkgs/development/tools/ejson/Gemfile.lock54
-rw-r--r--pkgs/development/tools/ejson/default.nix46
-rw-r--r--pkgs/development/tools/ejson/deps.nix48
-rw-r--r--pkgs/development/tools/ejson/gemset.nix188
-rw-r--r--pkgs/development/tools/lazygit/default.nix27
-rw-r--r--pkgs/development/tools/profiling/systemtap/default.nix14
-rw-r--r--pkgs/development/tools/rust/bindgen/default.nix6
-rw-r--r--pkgs/games/openxcom/default.nix6
-rw-r--r--pkgs/misc/cups/drivers/googlecloudprint/default.nix64
-rw-r--r--pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix6
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix6
-rw-r--r--pkgs/os-specific/linux/iio-sensor-proxy/default.nix8
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix4
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix22
-rw-r--r--pkgs/os-specific/linux/piper/default.nix5
-rw-r--r--pkgs/os-specific/linux/psmisc/default.nix6
-rw-r--r--pkgs/os-specific/linux/udisks/2-default.nix4
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--pkgs/tools/X11/xpra/default.nix4
-rw-r--r--pkgs/tools/admin/fastlane/default.nix26
-rw-r--r--pkgs/tools/archivers/p7zip/default.nix4
-rw-r--r--pkgs/tools/audio/mpdsync/default.nix24
-rw-r--r--pkgs/tools/inputmethods/m17n-lib/otf.nix9
-rw-r--r--pkgs/tools/misc/cloc/default.nix6
-rw-r--r--pkgs/tools/misc/coreutils/default.nix2
-rw-r--r--pkgs/tools/misc/envdir-go/default.nix27
-rw-r--r--pkgs/tools/misc/screen/default.nix6
-rw-r--r--pkgs/tools/misc/teleconsole/default.nix34
-rw-r--r--pkgs/tools/misc/teleconsole/deps.nix13
-rw-r--r--pkgs/tools/misc/yubikey-manager/default.nix4
-rw-r--r--pkgs/tools/networking/i2p/default.nix8
-rw-r--r--pkgs/tools/networking/ntp/default.nix1
-rw-r--r--pkgs/tools/package-management/nix-index/default.nix19
-rw-r--r--pkgs/tools/security/cfssl/default.nix2
-rw-r--r--pkgs/tools/security/duo-unix/default.nix4
-rw-r--r--pkgs/tools/security/kbfs/default.nix4
-rw-r--r--pkgs/tools/security/keybase/default.nix4
-rw-r--r--pkgs/tools/security/keybase/gui.nix4
-rw-r--r--pkgs/tools/security/pcsctools/default.nix8
-rw-r--r--pkgs/tools/text/dos2unix/default.nix2
-rw-r--r--pkgs/top-level/aliases.nix5
-rw-r--r--pkgs/top-level/all-packages.nix51
-rw-r--r--pkgs/top-level/python-packages.nix110
-rw-r--r--pkgs/top-level/splice.nix32
148 files changed, 2381 insertions, 837 deletions
diff --git a/pkgs/applications/altcoins/nano-wallet/default.nix b/pkgs/applications/altcoins/nano-wallet/default.nix
index 3426d8d07a08..22da11cdd63b 100644
--- a/pkgs/applications/altcoins/nano-wallet/default.nix
+++ b/pkgs/applications/altcoins/nano-wallet/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
 
   name = "nano-wallet-${version}";
-  version = "16.1";
+  version = "16.2";
 
   src = fetchFromGitHub {
     owner = "nanocurrency";
     repo = "raiblocks";
     rev = "V${version}";
-    sha256 = "0sk9g4fv494a5w75vs5a3s5c139lxzz1svz0cn1hkhxqlmz8w081";
+    sha256 = "18zp4xl5iwwrnzrqzsygdrym5565v8dpfz0jxczw21896kw1i9i7";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/aeolus/default.nix b/pkgs/applications/audio/aeolus/default.nix
index 68a9bb63e2e0..7b80b32331bc 100644
--- a/pkgs/applications/audio/aeolus/default.nix
+++ b/pkgs/applications/audio/aeolus/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "aeolus-${version}";
-  version = "0.9.5";
+  version = "0.9.7";
 
   src = fetchurl {
     url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
-    sha256 = "0wfp8ihldyq2dhdyy7ld7z0zzfvnwam1dvbxnpd9d6xgc4k3j4nv";
+    sha256 = "0lhbr95hmbfj8ynbcpawn7jzjbpvrkm6k2yda39yhqk1bzg38v2k";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 1989fd1400d4..fc32eb799cf9 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -7,12 +7,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.2.2";
+  version = "2.3.0";
   name = "audacity-${version}";
 
   src = fetchurl {
     url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz";
-    sha256 = "18q7i77ynihx7xp45lz2lv0k0wrh6736pcrivlpwrxjgbvyqx7km";
+    sha256 = "0pi7ksm8hfvwbn580z4kkc55sbaylrrr7v08s04dmdgfvil7y4ip";
   };
 
   preConfigure = /* we prefer system-wide libs */ ''
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index 2ba35a9a0444..ec9122406993 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -4,7 +4,7 @@
 , gobjectIntrospection, wrapGAppsHook }:
 
 python3.pkgs.buildPythonApplication rec  {
-  version = "0.9.601";
+  version = "0.9.604";
   name = "lollypop-${version}";
 
   format = "other";
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "029hyylwjsbwkw1v75nbkkmrncgz30y2qwdysmpz0xyb5q7x6zbj";
+    sha256 = "0pfljs5q0xzqll6dybslin4nr7w18bn1yi0xn79vh44zn3l0r8q4";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index f58e75c9e263..31b8bce90f49 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -29,11 +29,11 @@
 # handle that.
 
 stdenv.mkDerivation rec {
-  name = "qmmp-1.2.3";
+  name = "qmmp-1.2.4";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "05lqmj22vr5ch1i0928d64ybdnn3qc66s9lgarx5s6x6ffr6589j";
+    sha256 = "0rmfd6h0186b6n4g079d8kshdmp3k5n8w06a1l41m4p3fgq08j92";
   };
 
   buildInputs =
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 81cda4edaedb..cbcf5220564b 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -126,6 +126,9 @@ stdenv.mkDerivation {
         --prefix LD_LIBRARY_PATH : "$librarypath" \
         --prefix PATH : "${gnome3.zenity}/bin"
 
+      # fix Icon line in the desktop file (#48062)
+      sed -i "s:^Icon=.*:Icon=spotify-client:" "$out/share/spotify/spotify.desktop"
+
       # Desktop file
       mkdir -p "$out/share/applications/"
       cp "$out/share/spotify/spotify.desktop" "$out/share/applications/"
diff --git a/pkgs/applications/audio/tetraproc/default.nix b/pkgs/applications/audio/tetraproc/default.nix
index 535d53d99eeb..257963de256f 100644
--- a/pkgs/applications/audio/tetraproc/default.nix
+++ b/pkgs/applications/audio/tetraproc/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "tetraproc-${version}";
-  version = "0.8.2";
+  version = "0.8.6";
 
   src = fetchurl {
     url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
-    sha256 = "17y3vbm5f6h5cmh3yfxjgqz4xhfwpkla3lqfspnbm4ndlzmfpykv";
+    sha256 = "02155ljfwgvfgq9z258fb4z7jrz7qx022d054fj5gr0v007cv0r7";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/editors/okteta/default.nix b/pkgs/applications/editors/okteta/default.nix
index a2337483bf1f..b14065429152 100644
--- a/pkgs/applications/editors/okteta/default.nix
+++ b/pkgs/applications/editors/okteta/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "okteta-${version}";
-  version = "0.25.3";
+  version = "0.25.4";
 
   src = fetchurl {
     url = "mirror://kde/stable/okteta/${version}/src/${name}.tar.xz";
-    sha256 = "0mm6pmk7k9c581b12a3wl0ayhadvyymfzmscy9x32b391qy9inai";
+    sha256 = "0liar1xbns6mr6j320nyxqfii82i4ysp62hf3j6jg1112v874amf";
   };
 
   nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index 87a525b33021..dcec9fdfef95 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.1.0348";
+  version = "8.1.0450";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "0f18kpywnph708mvj1fpi06qb53nbhc26ngjh2kvfxwawn63k8ab";
+    sha256 = "1zhggpn4i704apfqn2kqr717kz9dvkjwnbmc3ydza621zjyrnxb2";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/misc/airspy/default.nix b/pkgs/applications/misc/airspy/default.nix
index 9b6771a3925b..2042f1047b22 100644
--- a/pkgs/applications/misc/airspy/default.nix
+++ b/pkgs/applications/misc/airspy/default.nix
@@ -28,7 +28,7 @@ in
     meta = with stdenv.lib; {
       homepage = https://github.com/airspy/airspyone_host;
       description = "Host tools and driver library for the AirSpy SDR";
-      license = licenses.free;
+      license = licenses.bsd3;
       platforms = with platforms; linux ++ darwin;
       maintainers = with maintainers; [ markuskowa ];
     };
diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix
index 34e46e9fa0f0..e4dffa98f39a 100644
--- a/pkgs/applications/misc/alacritty/default.nix
+++ b/pkgs/applications/misc/alacritty/default.nix
@@ -1,6 +1,6 @@
 { stdenv,
   lib,
-  fetchgit,
+  fetchFromGitHub,
   rustPlatform,
   cmake,
   makeWrapper,
@@ -51,18 +51,16 @@ let
   ];
 in buildRustPackage rec {
   name = "alacritty-unstable-${version}";
-  version = "0.2.0";
-
-  # At the moment we cannot handle git dependencies in buildRustPackage.
-  # This fork only replaces rust-fontconfig/libfontconfig with a git submodules.
-  src = fetchgit {
-    url = https://github.com/Mic92/alacritty.git;
-    rev = "rev-${version}";
-    sha256 = "1c9izflacm693rwkxwakxgnpkvxwc8mqasr5p7x0ys6xg91h9sxn";
-    fetchSubmodules = true;
+  version = "0.2.1";
+
+  src = fetchFromGitHub {
+    owner = "jwilm";
+    repo = "alacritty";
+    rev = "v${version}";
+    sha256 = "1402axwjz70gg6ylhhm82f1rl6xvxkr1qy0jx3r4r32vzfap1l67";
   };
 
-  cargoSha256 = "1ijgkwv9ij4haig1h6n2b9xbhp5vahy9vp1sx72wxaaj9476msjx";
+  cargoSha256 = "0slcyn77svj0686g1vk7kgndzirpkba9jwwybgsdl755r53dswk0";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/applications/misc/glava/default.nix b/pkgs/applications/misc/glava/default.nix
index 1eb0d0048f64..7e32e566234e 100644
--- a/pkgs/applications/misc/glava/default.nix
+++ b/pkgs/applications/misc/glava/default.nix
@@ -5,17 +5,6 @@
 let
   inherit (stdenv.lib) optional makeLibraryPath;
 
-  # gl.xml
-  gl = fetchurl {
-    url = https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/56312cfe680e4be5ae61bbf1c628e420f8731718/xml/gl.xml;
-    sha256 = "1c45bcgaxiic5gmb3gkrd9qcvascvij97vz5y6fc3a2y7x3gjc5l";
-  };
-  # EGL 1.5
-  egl = fetchurl {
-    url = https://www.khronos.org/registry/EGL/api/KHR/khrplatform.h;
-    sha256 = "0p0vs4siiya05cvbqq7cw3ci2zvvlfh8kycgm9k9cwvmrkj08349";
-  };
-
   wrapperScript = writeScript "glava" ''
     #!${stdenv.shell}
     case "$1" in
@@ -33,12 +22,12 @@ let
 in
   stdenv.mkDerivation rec {
     name = "glava-${version}";
-    version = "1.5.1";
+    version = "1.5.5";
 
     src = fetchgit {
       url = "https://github.com/wacossusca34/glava.git";
       rev = "v${version}";
-      sha256 = "1k8x0a0g2pm7ficsk4az9s7mjbm85a987apjg5c4y6iyldxgd6sb";
+      sha256 = "0mpbgllwz45wkax6pgvnh1pz2q4yvbzq2l8z8kff13wrsdvl8lh0";
     };
 
     buildInputs = [
@@ -54,12 +43,8 @@ in
       python3
     ];
 
-    patchPhase = ''
-      mkdir -p glad/include/KHR
-
-      cp ${gl} glad/gl.xml
-      cp ${egl} glad/include/KHR/khrplatform.h
-      patchShebangs .
+    preConfigure = ''
+      export CFLAGS="-march=native"
     '';
 
     makeFlags = optional (!enableGlfw) "DISABLE_GLFW=1";
diff --git a/pkgs/applications/misc/pwsafe/default.nix b/pkgs/applications/misc/pwsafe/default.nix
index 0ea530b6bf1c..7b0e299924cb 100644
--- a/pkgs/applications/misc/pwsafe/default.nix
+++ b/pkgs/applications/misc/pwsafe/default.nix
@@ -1,25 +1,31 @@
-{ stdenv, fetchFromGitHub, wxGTK, libuuid, xercesc, zip , libXt, libXtst
-, libXi, xextproto, gettext, perl, pkgconfig, libyubikey, yubikey-personalization
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, zip, gettext, perl
+, wxGTK31, libXi, libXt, libXtst, xercesc, xextproto
+, libqrencode, libuuid, libyubikey, yubikey-personalization
 }:
 
 stdenv.mkDerivation rec {
-  name = "pwsafe-${version}";
-  version = "0.99";
+  pname = "pwsafe";
+  version = "1.06";
+  name = "${pname}-${version}";
 
   src = fetchFromGitHub {
-    owner = "pwsafe";
-    repo = "pwsafe";
+    owner = "${pname}";
+    repo = "${pname}";
     rev = "${version}BETA";
-    sha256 = "1bkimz4g9v9kfjkqr3dqddh4jps7anzc1hgmirmmhwpac0xdp60g";
+    sha256 = "1q3xi7i4r3nmz3hc79lx8l15sr1nqhwbi3lrnfqr356nv6aaf03y";
   };
 
-  makefile = "Makefile.linux";
-  makeFlags = "YBPERS_LIBPATH=${yubikey-personalization}/lib";
-
-  buildFlags = "unicoderelease";
-  buildInputs = [ wxGTK libuuid gettext perl zip
-                  xercesc libXt libXtst libXi xextproto
-                  pkgconfig libyubikey yubikey-personalization ];
+  nativeBuildInputs = [ cmake pkgconfig zip ];
+  buildInputs = [
+    gettext perl libqrencode libuuid
+    libXi libXt libXtst wxGTK31 xercesc xextproto
+    libyubikey yubikey-personalization
+  ];
+  cmakeFlags = [
+    "-DNO_GTEST=ON"
+    "-DCMAKE_CXX_FLAGS=-I${yubikey-personalization}/include/ykpers-1"
+  ];
+  enableParallelBuilding = true;
 
   postPatch = ''
     # Fix perl scripts used during the build.
@@ -40,31 +46,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  installPhase = ''
-    mkdir -p $out/bin \
-             $out/share/applications \
-             $out/share/pwsafe/xml \
-             $out/share/icons/hicolor/48x48/apps \
-             $out/share/doc/passwordsafe/help \
-             $out/share/man/man1 \
-             $out/share/locale
-
-    (cd help && make -f Makefile.linux)
-    cp help/help*.zip $out/share/doc/passwordsafe/help
-
-    (cd src/ui/wxWidgets/I18N && make mos)
-    cp -dr src/ui/wxWidgets/I18N/mos/* $out/share/locale/
-    # */
-
-    cp README.txt docs/ReleaseNotes.txt docs/ChangeLog.txt \
-      LICENSE install/copyright $out/share/doc/passwordsafe
-
-    cp src/ui/wxWidgets/GCCUnicodeRelease/pwsafe $out/bin/
-    cp install/graphics/pwsafe.png $out/share/icons/hicolor/48x48/apps
-    cp docs/pwsafe.1 $out/share/man/man1
-    cp xml/* $out/share/pwsafe/xml
-    #  */
-  '';
+  installFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "A password database utility";
@@ -77,8 +59,8 @@ stdenv.mkDerivation rec {
       username/password combinations that you use.
     '';
 
-    homepage = http://passwordsafe.sourceforge.net/;
-    maintainers = with maintainers; [ pjones ];
+    homepage = https://pwsafe.org/;
+    maintainers = with maintainers; [ c0bw3b pjones ];
     platforms = platforms.linux;
     license = licenses.artistic2;
   };
diff --git a/pkgs/applications/misc/xdgmenumaker/default.nix b/pkgs/applications/misc/xdgmenumaker/default.nix
index 01782d18b12b..ed7f2b27c381 100644
--- a/pkgs/applications/misc/xdgmenumaker/default.nix
+++ b/pkgs/applications/misc/xdgmenumaker/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "xdgmenumaker-${version}";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "gapan";
     repo = "xdgmenumaker";
     rev = version;
-    sha256 = "0i909dk9chdsc7njp5llgm5xlag4lr0nkxkwl1g5lf8cvdjrawh2";
+    sha256 = "1vrsp5c1ah7p4dpwd6aqvinpwzd8crdimvyyr3lbm3c6cwpyjmif";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh
index df53068713de..ea67a62c107a 100755
--- a/pkgs/applications/networking/browsers/chromium/update.sh
+++ b/pkgs/applications/networking/browsers/chromium/update.sh
@@ -1,4 +1,4 @@
 #!/bin/sh -e
 cd "$(dirname "$0")"
-sp="$(nix-build -Q --no-out-link update.nix -A update)"
+sp="$(nix-build --builders "" -Q --no-out-link update.nix -A update)"
 cat "$sp" > upstream-info.nix
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index ebf730129079..a26c8b8ddded 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "0i3iz6c05ykqxbq58sx954nky0gd0schl7ik2r56p3jqsk8cfnhn";
-    sha256bin64 = "03k5y1nyzx26mxwxmdijkl2kj49vm5vhbxhakfxxjg3r1v0rsqrs";
-    version = "69.0.3497.81";
+    sha256 = "16biicw86mnjrmjazfbml2pf4rykhbvsz854cyfnpjhcvmlh24jp";
+    sha256bin64 = "07jr1sqsxfdy3rymylkbpbgi79j9b2pax4igdzj943d0nbka84y5";
+    version = "70.0.3538.35";
   };
   dev = {
-    sha256 = "1lx6dfd6w675b4kyrci8ikc8rfmjc1aqmm7bimxp3h4p97j5wml1";
-    sha256bin64 = "0fsxj9h25glp3akw0x2rc488w5zr5v5yvl6ry7fy8w70fqgynffj";
-    version = "70.0.3538.9";
+    sha256 = "0fmkhvvydinv5f543n7rrmsv99rf0skwwhlpmszvspx6y4wz9smv";
+    sha256bin64 = "0plr8ph78kfg2dpyacjy3aw3msfif95fqpb8xx0n8whkkpbl9968";
+    version = "71.0.3559.6";
   };
   stable = {
-    sha256 = "0i3iz6c05ykqxbq58sx954nky0gd0schl7ik2r56p3jqsk8cfnhn";
-    sha256bin64 = "1f3shb85jynxq37vjxxkkxrjayqgvpss1zws5i28x6i9nygfzay7";
-    version = "69.0.3497.81";
+    sha256 = "0dcyzsb70ssx5hd2b25ab3ydpqh7crhxab9zzi5gn99ywxh1afg3";
+    sha256bin64 = "0w56k7hmdi9knjaw67kdmyz0fdkjmk2ldh2n4l1c6szkr66vq30q";
+    version = "69.0.3497.100";
   };
 }
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 776a1667514f..343380c60751 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -15,13 +15,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "kubernetes-${version}";
-  version = "1.12.0";
+  version = "1.12.1";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "0bnfhrli9xqf7ygfq5i5p6nsgv7ic57b5b705zbqsxrc24pvsy4s";
+    sha256 = "1gm0v5p008w9i4k94ddjdyfqfsbx7a6ngmh81p155599hifm32zc";
   };
 
   buildInputs = [ removeReferencesTo makeWrapper which go_1_10 rsync go-bindata ];
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index c68fb48fa1a4..c44b7ac1dc76 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -14,7 +14,7 @@ let
 in buildGoPackage rec {
   pname   = "minikube";
   name    = "${pname}-${version}";
-  version = "0.29.0";
+  version = "0.30.0";
 
   kubernetesVersion = "1.11.2";
 
@@ -24,7 +24,7 @@ in buildGoPackage rec {
     owner  = "kubernetes";
     repo   = "minikube";
     rev    = "v${version}";
-    sha256 = "09px8pxml7xrnfhyjvlhf1hw7zdj9sw47a0fv5wj5aard54lhs1l";
+    sha256 = "02jxwh8qrvjn31rzjwx23908nd1i592drfdykxbc5b6a62fwp02z";
   };
 
   buildInputs = [ go-bindata makeWrapper gpgme ] ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin vmnet;
diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix
index b3b13539ff50..702a7cb7eb1e 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -22,6 +22,7 @@ let
     };
 in
   {
+    gandi = callPackage ./gandi {};
     ibm = callPackage ./ibm {};
     libvirt = callPackage ./libvirt {};
   } // lib.mapAttrs (n: v: toDrv v) list
diff --git a/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix b/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix
new file mode 100644
index 000000000000..291698f3065f
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, buildGoPackage }:
+buildGoPackage rec {
+  name = "terraform-provider-gandi-${version}";
+  version = "1.0.0";
+
+  goPackagePath = "github.com/tiramiseb/terraform-provider-gandi";
+  goDeps = ./deps.nix;
+
+  src = fetchFromGitHub {
+    owner = "tiramiseb";
+    repo = "terraform-provider-gandi";
+    rev = "v${version}";
+    sha256 = "0byydpqsimvnk11bh9iz8zlxbsmsk65w55pvkp18vjzqrhf4kyfv";
+  };
+
+  # Terraform allow checking the provider versions, but this breaks
+  # if the versions are not provided via file paths.
+  postBuild = "mv go/bin/terraform-provider-gandi{,_v${version}}";
+
+  meta = with stdenv.lib; {
+    description = "Terraform provider for the Gandi LiveDNS service.";
+    homepage = "https://github.com/tiramiseb/terraform-provider-gandi";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ manveru ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix b/pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix
new file mode 100644
index 000000000000..3d4a3547502d
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix
@@ -0,0 +1,21 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/hashicorp/terraform";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/terraform";
+      rev = "27b720113ed5143a870ec151b3b7c9d955a09bc0";
+      sha256 = "1f0hwdf2z68p0ll3pgrx949h09q52gcfaxap0zz52m7px98sfab4";
+    };
+  }
+  {
+    goPackagePath = "github.com/tiramiseb/go-gandi-livedns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tiramiseb/go-gandi-livedns";
+      rev = "4773a84f8ee7365ed21edc6cd0602aaf93e94e59";
+      sha256 = "1i8s7yclrkhf974vs2splh5symzk0ym54px0bc216bq4ifzkwkqc";
+    };
+  }
+]
diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix
index 777057b327b0..7fe68163ab96 100644
--- a/pkgs/applications/networking/instant-messengers/dino/default.nix
+++ b/pkgs/applications/networking/instant-messengers/dino/default.nix
@@ -13,13 +13,13 @@
  }:
 
 stdenv.mkDerivation rec {
-  name = "dino-unstable-2018-09-05";
+  name = "dino-unstable-2018-09-21";
 
   src = fetchFromGitHub {
     owner = "dino";
     repo = "dino";
-    rev = "79e0aee5fdb90830fad748fdfae717cb5fbf91f9";
-    sha256 = "1sfh729fg6c5ds3rcma13paqnvv58jln34s93j74jnca19wgn7k5";
+    rev = "6b7ef800f54e781a618425236ba8d4ed2f2fef9c";
+    sha256 = "1si815b6y06lridj88hws0dgq54w9jfam9sqbrq3cfcvmhc38ysk";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix
index 0d34a0a43628..6e78a9034aec 100644
--- a/pkgs/applications/networking/instant-messengers/nheko/default.nix
+++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix
@@ -70,5 +70,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ ekleog fpletz ];
     platforms = platforms.unix;
     license = licenses.gpl3Plus;
+    knownVulnerabilities = [ "No longer maintained" ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/wavebox/default.nix b/pkgs/applications/networking/instant-messengers/wavebox/default.nix
index ce73acf8d596..ac58d4f39d6f 100644
--- a/pkgs/applications/networking/instant-messengers/wavebox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/wavebox/default.nix
@@ -6,7 +6,7 @@ with stdenv.lib;
 let
   bits = "x86_64";
 
-  version = "3.14.10";
+  version = "4.3.0";
 
   desktopItem = makeDesktopItem rec {
     name = "Wavebox";
@@ -23,7 +23,7 @@ in stdenv.mkDerivation rec {
   name = "wavebox-${version}";
   src = fetchurl {
     url = "https://github.com/wavebox/waveboxapp/releases/download/v${version}/${tarball}";
-    sha256 = "06ce349f561c6122b2d326e9a1363fb358e263c81a7d1d08723ec567235bbd74";
+    sha256 = "0kdg5q9rv8nxlg5jhmdfy5vv7gkdswzhy49af29d3zf57z69187c";
   };
 
   # don't remove runtime deps
diff --git a/pkgs/applications/networking/nload/default.nix b/pkgs/applications/networking/nload/default.nix
index 879461c8acd5..2c16fabc5c41 100644
--- a/pkgs/applications/networking/nload/default.nix
+++ b/pkgs/applications/networking/nload/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses }:
+{ stdenv, fetchurl, fetchpatch, ncurses }:
 
 stdenv.mkDerivation rec {
   version = "0.7.4";
@@ -9,6 +9,19 @@ stdenv.mkDerivation rec {
     sha256 = "1rb9skch2kgqzigf19x8bzk211jdfjfdkrcvaqyj89jy2pkm3h61";
   };
 
+  patches = [
+    # Fixes an ugly bug of graphs scrolling to the side, corrupting the view.
+    # There is an upstream fix, but not a new upstream release that includes it.
+    # Other distributions like Gentoo also patch this as a result; see:
+    #   https://github.com/rolandriegel/nload/issues/3#issuecomment-427579143
+    # TODO Remove when https://github.com/rolandriegel/nload/issues/3 is merged and available
+    (fetchpatch {
+      url = "https://github.com/rolandriegel/nload/commit/8a93886e0fb33a81b8fe32e88ee106a581fedd34.patch";
+      name = "nload-0.7.4-Eliminate-flicker-on-some-terminals.patch";
+      sha256 = "10yppy5l50wzpcvagsqkbyf1rcan6aj30am4rw8hmkgnbidf4zbq";
+    })
+  ];
+
   buildInputs = [ ncurses ];
 
   meta = {
diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix
index f7f989dc3a9d..3930ea4ff11f 100644
--- a/pkgs/applications/networking/pjsip/default.nix
+++ b/pkgs/applications/networking/pjsip/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pjsip-${version}";
-  version = "2.7.2";
+  version = "2.8";
 
   src = fetchurl {
     url = "http://www.pjsip.org/release/${version}/pjproject-${version}.tar.bz2";
-    sha256 = "0wiph6g51wanzwjjrpwsz63amgvly8g08jz033gnwqmppa584b4w";
+    sha256 = "0ybg0113rp3fk49rm2v0pcgqb28h3dv1pdy9594w2ggiz7bhngah";
   };
 
   buildInputs = [ openssl libsamplerate alsaLib ];
diff --git a/pkgs/applications/science/astronomy/gildas/default.nix b/pkgs/applications/science/astronomy/gildas/default.nix
index dcb76320a9b5..802f558731a8 100644
--- a/pkgs/applications/science/astronomy/gildas/default.nix
+++ b/pkgs/applications/science/astronomy/gildas/default.nix
@@ -7,8 +7,8 @@ let
 in
 
 stdenv.mkDerivation rec {
-  srcVersion = "oct18a";
-  version = "20181001_a";
+  srcVersion = "oct18b";
+  version = "20181001_b";
   name = "gildas-${version}";
 
   src = fetchurl {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     # source code of the previous release to a different directory
     urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.gz"
       "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.gz" ];
-    sha256 = "091941a74kaw3xqsmqda7bj972cafi8ppj2c5xq0mca2c075dyfx";
+    sha256 = "1q54q7y4zdax9vr28pvmy5g34kyr92jr3v1rkpjw7lxjafyqwy27";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/logic/prooftree/default.nix b/pkgs/applications/science/logic/prooftree/default.nix
index a88a84e3b0d1..1f6620a2872d 100644
--- a/pkgs/applications/science/logic/prooftree/default.nix
+++ b/pkgs/applications/science/logic/prooftree/default.nix
@@ -1,6 +1,6 @@
-{stdenv, fetchurl, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
+{ stdenv, fetchurl, pkgconfig, ncurses, ocamlPackages }:
 
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   name = "prooftree-${version}";
   version = "0.13";
 
@@ -10,7 +10,8 @@ stdenv.mkDerivation (rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ocaml findlib camlp5 ncurses lablgtk ];
+  buildInputs = [ ncurses ] ++ (with ocamlPackages; [
+    ocaml findlib camlp5 lablgtk ]);
 
   dontAddPrefix = true;
   configureFlags = [ "--prefix" "$(out)" ];
@@ -39,4 +40,4 @@ stdenv.mkDerivation (rec {
     maintainers = [ maintainers.jwiegley ];
     license = licenses.gpl3;
   };
-})
+}
diff --git a/pkgs/applications/version-management/redmine/Gemfile b/pkgs/applications/version-management/redmine/Gemfile
index 744d6bfdd74e..a5c509f81a9a 100644
--- a/pkgs/applications/version-management/redmine/Gemfile
+++ b/pkgs/applications/version-management/redmine/Gemfile
@@ -54,60 +54,26 @@ platforms :mri, :mingw, :x64_mingw do
   end
 end
 
-# Include database gems for the adapters found in the database
-# configuration file
-require 'erb'
-require 'yaml'
-
-# NixOS - manually added to ensure mysql and postgres will always be include
+# Include database gems for the database adapters NixOS supports
 gem "mysql2", "~> 0.4.6", :platforms => [:mri, :mingw, :x64_mingw]
 gem "pg", "~> 0.18.1", :platforms => [:mri, :mingw, :x64_mingw]
 
-database_file = File.join(File.dirname(__FILE__), "config/database.yml")
-if File.exist?(database_file)
-  database_config = YAML::load(ERB.new(IO.read(database_file)).result)
-  adapters = database_config.values.map {|c| c['adapter']}.compact.uniq
-  if adapters.any?
-    adapters.each do |adapter|
-      case adapter
-      when 'mysql2'
-        gem "mysql2", "~> 0.4.6", :platforms => [:mri, :mingw, :x64_mingw]
-      when /postgresql/
-        gem "pg", "~> 0.18.1", :platforms => [:mri, :mingw, :x64_mingw]
-      when /sqlite3/
-        gem "sqlite3", (RUBY_VERSION < "2.0" && RUBY_PLATFORM =~ /mingw/ ? "1.3.12" : "~>1.3.12"),
-                       :platforms => [:mri, :mingw, :x64_mingw]
-      when /sqlserver/
-        gem "tiny_tds", (RUBY_VERSION >= "2.0" ? "~> 1.0.5" : "~> 0.7.0"), :platforms => [:mri, :mingw, :x64_mingw]
-        gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw, :x64_mingw]
-      else
-        warn("Unknown database adapter `#{adapter}` found in config/database.yml, use Gemfile.local to load your own database gems")
-      end
-    end
-  else
-    warn("No adapter found in config/database.yml, please configure it first")
-  end
-else
-  warn("Please configure your config/database.yml first")
+group :development do
+  gem "rdoc", "~> 4.3"
+  gem "yard"
 end
 
-# NixOS - manually removed because I couldn't figure out how to get "bundle exec rails server webrick -e production" to ignore these groups
-#group :development do
-#  gem "rdoc", "~> 4.3"
-#  gem "yard"
-#end
-
-#group :test do
-#  gem "minitest"
-#  gem "rails-dom-testing"
-#  gem "mocha"
-#  gem "simplecov", "~> 0.9.1", :require => false
-#  # TODO: remove this after upgrading to Rails 5
-#  gem "test_after_commit", "~> 0.4.2"
-#  # For running UI tests
-#  gem "capybara"
-#  gem "selenium-webdriver", "~> 2.53.4"
-#end
+group :test do
+  gem "minitest"
+  gem "rails-dom-testing"
+  gem "mocha"
+  gem "simplecov", "~> 0.9.1", :require => false
+  # TODO: remove this after upgrading to Rails 5
+  gem "test_after_commit", "~> 0.4.2"
+  # For running UI tests
+  gem "capybara"
+  gem "selenium-webdriver", "~> 2.53.4"
+end
 
 local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
 if File.exists?(local_gemfile)
diff --git a/pkgs/applications/version-management/redmine/Gemfile.lock b/pkgs/applications/version-management/redmine/Gemfile.lock
index 589537c2af75..54eed51cd868 100644
--- a/pkgs/applications/version-management/redmine/Gemfile.lock
+++ b/pkgs/applications/version-management/redmine/Gemfile.lock
@@ -41,12 +41,23 @@ GEM
       public_suffix (>= 2.0.2, < 4.0)
     arel (6.0.4)
     builder (3.2.3)
+    capybara (3.9.0)
+      addressable
+      mini_mime (>= 0.1.3)
+      nokogiri (~> 1.8)
+      rack (>= 1.6.0)
+      rack-test (>= 0.6.3)
+      xpath (~> 3.1)
+    childprocess (0.9.0)
+      ffi (~> 1.0, >= 1.0.11)
     coderay (1.1.2)
     concurrent-ruby (1.0.5)
     crass (1.0.4)
     css_parser (1.6.0)
       addressable
+    docile (1.1.5)
     erubis (2.7.0)
+    ffi (1.9.25)
     globalid (0.4.1)
       activesupport (>= 4.2.0)
     htmlentities (4.3.4)
@@ -59,15 +70,20 @@ GEM
       nokogiri (>= 1.5.9)
     mail (2.6.6)
       mime-types (>= 1.16, < 4)
+    metaclass (0.0.4)
     mime-types (3.2.2)
       mime-types-data (~> 3.2015)
     mime-types-data (3.2018.0812)
     mimemagic (0.3.2)
+    mini_mime (1.0.1)
     mini_portile2 (2.3.0)
     minitest (5.11.3)
+    mocha (1.7.0)
+      metaclass (~> 0.0.1)
+    multi_json (1.13.1)
     mysql2 (0.4.10)
     net-ldap (0.12.1)
-    nokogiri (1.8.4)
+    nokogiri (1.8.5)
       mini_portile2 (~> 2.3.0)
     pg (0.18.4)
     protected_attributes (1.1.4)
@@ -104,10 +120,11 @@ GEM
       rake (>= 0.8.7)
       thor (>= 0.18.1, < 2.0)
     rake (12.3.1)
-    rbpdf (1.19.5)
+    rbpdf (1.19.6)
       htmlentities
       rbpdf-font (~> 1.19.0)
     rbpdf-font (1.19.1)
+    rdoc (4.3.0)
     redcarpet (3.4.0)
     request_store (1.0.5)
     rmagick (2.16.0)
@@ -118,6 +135,16 @@ GEM
       railties (>= 3.0, < 5.1)
       roadie (~> 3.1)
     ruby-openid (2.3.0)
+    rubyzip (1.2.2)
+    selenium-webdriver (2.53.4)
+      childprocess (~> 0.5)
+      rubyzip (~> 1.0)
+      websocket (~> 1.0)
+    simplecov (0.9.2)
+      docile (~> 1.1.0)
+      multi_json (~> 1.0)
+      simplecov-html (~> 0.9.0)
+    simplecov-html (0.9.0)
     sprockets (3.7.2)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
@@ -125,22 +152,31 @@ GEM
       actionpack (>= 4.0)
       activesupport (>= 4.0)
       sprockets (>= 3.0.0)
+    test_after_commit (0.4.2)
+      activerecord (>= 3.2)
     thor (0.20.0)
     thread_safe (0.3.6)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
+    websocket (1.2.8)
+    xpath (3.1.0)
+      nokogiri (~> 1.8)
+    yard (0.9.16)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
   actionpack-xml_parser
+  capybara
   coderay (~> 1.1.1)
   i18n (~> 0.7.0)
   jquery-rails (~> 3.1.4)
   mail (~> 2.6.4)
   mime-types (~> 3.0)
   mimemagic
+  minitest
+  mocha
   mysql2 (~> 0.4.6)
   net-ldap (~> 0.12.0)
   nokogiri (~> 1.8.1)
@@ -148,15 +184,21 @@ DEPENDENCIES
   protected_attributes
   rack-openid
   rails (= 4.2.8)
+  rails-dom-testing
   rails-html-sanitizer (>= 1.0.3)
   rbpdf (~> 1.19.3)
+  rdoc (~> 4.3)
   redcarpet (~> 3.4.0)
   request_store (= 1.0.5)
   rmagick (>= 2.14.0)
   roadie (~> 3.2.1)
   roadie-rails (~> 1.1.1)
   ruby-openid (~> 2.3.0)
+  selenium-webdriver (~> 2.53.4)
+  simplecov (~> 0.9.1)
+  test_after_commit (~> 0.4.2)
   tzinfo-data
+  yard
 
 BUNDLED WITH
-   1.16.1
+   1.16.3
diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/applications/version-management/redmine/default.nix
index 3c3fd4da33d4..d07e0f3e4544 100644
--- a/pkgs/applications/version-management/redmine/default.nix
+++ b/pkgs/applications/version-management/redmine/default.nix
@@ -7,6 +7,7 @@ let
 
     inherit ruby;
     gemdir = ./.;
+    groups = [ "ldap" "openid" ];
   };
 in
   stdenv.mkDerivation rec {
@@ -21,15 +22,15 @@ in
 
     buildPhase = ''
       mv config config.dist
+      mv public/themes public/themes.dist
     '';
 
     installPhase = ''
       mkdir -p $out/share
       cp -r . $out/share/redmine
-
-      for i in config files log plugins tmp; do
+      for i in config files log plugins public/plugin_assets public/themes tmp; do
         rm -rf $out/share/redmine/$i
-        ln -fs /run/redmine/$i $out/share/redmine/
+        ln -fs /run/redmine/$i $out/share/redmine/$i
       done
     '';
 
@@ -39,4 +40,4 @@ in
       maintainers = [ maintainers.garbas ];
       license = licenses.gpl2;
     };
-  }
+  }
\ No newline at end of file
diff --git a/pkgs/applications/version-management/redmine/gemset.nix b/pkgs/applications/version-management/redmine/gemset.nix
index 7423fcdb9fb9..fe56298056b1 100644
--- a/pkgs/applications/version-management/redmine/gemset.nix
+++ b/pkgs/applications/version-management/redmine/gemset.nix
@@ -96,6 +96,24 @@
     };
     version = "3.2.3";
   };
+  capybara = {
+    dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1sz6ick0pn7886jh9fd4571wyplshnpb95pr22ds4hd51zcrnfi4";
+      type = "gem";
+    };
+    version = "3.9.0";
+  };
+  childprocess = {
+    dependencies = ["ffi"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p";
+      type = "gem";
+    };
+    version = "0.9.0";
+  };
   coderay = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -129,6 +147,14 @@
     };
     version = "1.6.0";
   };
+  docile = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
+      type = "gem";
+    };
+    version = "1.1.5";
+  };
   erubis = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -137,6 +163,14 @@
     };
     version = "2.7.0";
   };
+  ffi = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q";
+      type = "gem";
+    };
+    version = "1.9.25";
+  };
   globalid = {
     dependencies = ["activesupport"];
     source = {
@@ -189,6 +223,14 @@
     };
     version = "2.6.6";
   };
+  metaclass = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5";
+      type = "gem";
+    };
+    version = "0.0.4";
+  };
   mime-types = {
     dependencies = ["mime-types-data"];
     source = {
@@ -214,6 +256,14 @@
     };
     version = "0.3.2";
   };
+  mini_mime = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
   mini_portile2 = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -230,6 +280,23 @@
     };
     version = "5.11.3";
   };
+  mocha = {
+    dependencies = ["metaclass"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13whjmrm4n48rwx7h7a2jwa5grar3m0fxspbm2pm4lyp7hi119c1";
+      type = "gem";
+    };
+    version = "1.7.0";
+  };
+  multi_json = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
+      type = "gem";
+    };
+    version = "1.13.1";
+  };
   mysql2 = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -250,10 +317,10 @@
     dependencies = ["mini_portile2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h9nml9h3m0mpvmh8jfnqvblnz5n5y3mmhgfc38avfmfzdrq9bgc";
+      sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz";
       type = "gem";
     };
-    version = "1.8.4";
+    version = "1.8.5";
   };
   pg = {
     source = {
@@ -363,10 +430,10 @@
     dependencies = ["htmlentities" "rbpdf-font"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "021fda3gcz9pyydxnn40vs1nrkycwslb9ip4q0yg3hlip41k1b49";
+      sha256 = "159vg56bzy09f6zrh9h3rxm2r0vkvsfn9qczqmv1vi5xkd918s0d";
       type = "gem";
     };
-    version = "1.19.5";
+    version = "1.19.6";
   };
   rbpdf-font = {
     source = {
@@ -376,6 +443,14 @@
     };
     version = "1.19.1";
   };
+  rdoc = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13ba2mhqqcsp3k97x3iz9x29xk26rv4561lfzzzibcy41vvj1n4c";
+      type = "gem";
+    };
+    version = "4.3.0";
+  };
   redcarpet = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -426,6 +501,40 @@
     };
     version = "2.3.0";
   };
+  rubyzip = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj";
+      type = "gem";
+    };
+    version = "1.2.2";
+  };
+  selenium-webdriver = {
+    dependencies = ["childprocess" "rubyzip" "websocket"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15qyf7b9fa2nxhhwp551b9fjj82kb3wmy65559yrrcwpdadqvcs4";
+      type = "gem";
+    };
+    version = "2.53.4";
+  };
+  simplecov = {
+    dependencies = ["docile" "multi_json" "simplecov-html"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1a3wy9zlmfwl3f47cibnxyxrgfz16y6fmy0dj1vyidzyys4mvy12";
+      type = "gem";
+    };
+    version = "0.9.2";
+  };
+  simplecov-html = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jv9pmpaxihrcsgcf6mgl3qg7rhf9scl5l2k67d768w9cz63xgvc";
+      type = "gem";
+    };
+    version = "0.9.0";
+  };
   sprockets = {
     dependencies = ["concurrent-ruby" "rack"];
     source = {
@@ -444,6 +553,15 @@
     };
     version = "3.2.1";
   };
+  test_after_commit = {
+    dependencies = ["activerecord"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fzg8qan6f0n0ynr594bld2k0rwwxj99yzhiga2f3pkj9ina1abb";
+      type = "gem";
+    };
+    version = "0.4.2";
+  };
   thor = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -469,4 +587,29 @@
     };
     version = "1.2.5";
   };
+  websocket = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0f11rcn4qgffb1rq4kjfwi7di79w8840x9l74pkyif5arp0mb08x";
+      type = "gem";
+    };
+    version = "1.2.8";
+  };
+  xpath = {
+    dependencies = ["nokogiri"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1y61ijvv04bwga802s8py5xd7fcxci6478wgr9wkd35p45x20jzi";
+      type = "gem";
+    };
+    version = "3.1.0";
+  };
+  yard = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lmmr1839qgbb3zxfa7jf5mzy17yjl1yirwlgzdhws4452gqhn67";
+      type = "gem";
+    };
+    version = "0.9.16";
+  };
 }
\ No newline at end of file
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index cacad5a3e629..3bb8f31b9872 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -30,13 +30,13 @@ let
   optional = stdenv.lib.optional;
 in stdenv.mkDerivation rec {
   name = "obs-studio-${version}";
-  version = "22.0.2";
+  version = "22.0.3";
 
   src = fetchFromGitHub {
     owner = "jp9000";
     repo = "obs-studio";
     rev = "${version}";
-    sha256 = "1bgp2lirpsbp54vvl3p345njlpgv0d78vac2aqwbl34wqx5sqdk0";
+    sha256 = "0ri9qkqk3h71b1a5bwpjzqdr21bbmfqbykg48l779d20zln23n1i";
   };
 
   nativeBuildInputs = [ cmake
diff --git a/pkgs/desktops/deepin/dde-api/default.nix b/pkgs/desktops/deepin/dde-api/default.nix
new file mode 100644
index 000000000000..d8452e5f7a38
--- /dev/null
+++ b/pkgs/desktops/deepin/dde-api/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig,
+go-gir-generator, glib, gtk3, poppler, librsvg, pulseaudio, alsaLib,
+libcanberra, gnome3, deepin-gettext-tools, go }:
+
+buildGoPackage rec {
+  name = "${pname}-${version}";
+  pname = "dde-api";
+  version = "3.1.30";
+
+  goPackagePath = "pkg.deepin.io/dde/api";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "0piw6ka2xcbd5vi7m33d1afdjbb7nycxvmai530ka6r2xjabrkir";
+  };
+
+  goDeps = ./deps.nix;
+
+  nativeBuildInputs = [
+    pkgconfig
+    go-gir-generator
+    deepin-gettext-tools
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    poppler
+    librsvg
+    pulseaudio
+    alsaLib
+    libcanberra
+    gnome3.libgudev
+  ];
+
+  postPatch = ''
+    sed -i -e "s|/var|$bin/var|" Makefile
+  '';
+
+  buildPhase = ''
+    make -C go/src/${goPackagePath}
+  '';
+
+  installPhase = ''
+    make install PREFIX="$bin" SYSTEMD_LIB_DIR="$bin/lib" -C go/src/${goPackagePath}
+    mkdir -p $out/share
+    mv $bin/share/gocode $out/share/go
+    remove-references-to -t ${go} $bin/bin/* $bin/lib/deepin-api/*
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Go-lang bindings for dde-daemon";
+    homepage = https://github.com/linuxdeepin/dde-api;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/deepin/dde-api/deps.nix b/pkgs/desktops/deepin/dde-api/deps.nix
new file mode 100644
index 000000000000..9df368325e3c
--- /dev/null
+++ b/pkgs/desktops/deepin/dde-api/deps.nix
@@ -0,0 +1,129 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/alecthomas/template";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/template";
+      rev = "a0175ee3bccc567396460bf5acd36800cb10c49c";
+      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/units";
+      rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
+      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+    };
+  }
+  {
+    goPackagePath = "github.com/cryptix/wav";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cryptix/wav";
+      rev = "8bdace674401f0bd3b63c65479b6a6ff1f9d5e44";
+      sha256 = "18nyqv0ic35fs9fny8sj84c00vbxs8mnric6vr6yl42624fh5id6";
+    };
+  }
+  {
+    goPackagePath = "github.com/disintegration/imaging";
+    fetch = {
+      type = "git";
+      url = "https://github.com/disintegration/imaging";
+      rev = "32df9565b4e0c1460f1915d53f6ff198d9a41af2";
+      sha256 = "1nkmaav375fv4610g8i9bam33pv4aa4fy2n4nypprhc7vq0svwkm";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "73f6ac0b30a98e433b289500d779f50c1a6f0712";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "e2ffdb16a802fe2bb95e2e35ff34f0e53aeef34f";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/linuxdeepin/go-dbus-factory";
+    fetch = {
+      type = "git";
+      url = "https://github.com/linuxdeepin/go-dbus-factory";
+      rev = "2a30fc6fb47b70b8879855df8e29c8f581c419aa";
+      sha256 = "0b0j47n3bb5fd04p01jla6k9vz2ck8l8512ga0xsn78177yb2z0w";
+    };
+  }
+  {
+    goPackagePath = "github.com/linuxdeepin/go-x11-client";
+    fetch = {
+      type = "git";
+      url = "https://github.com/linuxdeepin/go-x11-client";
+      rev = "8f12fd35ff10b391f0321aa41b94db6acd951ea3";
+      sha256 = "1axxzzhbiwvi76d19bix3zm5wv3qmlq0wgji9mwjbmkb4bvp0v3d";
+    };
+  }
+  {
+    goPackagePath = "github.com/nfnt/resize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nfnt/resize";
+      rev = "83c6a9932646f83e3267f353373d47347b6036b2";
+      sha256 = "005cpiwq28krbjf0zjwpfh63rp4s4is58700idn24fs3g7wdbwya";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/image";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/image";
+      rev = "991ec62608f3c0da01d400756917825d1e2fd528";
+      sha256 = "0jipi9czjczi6hlqb5kchgml8r6h6qyb4gqrb0nnb63m25510019";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "146acd28ed5894421fb5aac80ca93bc1b1f46f87";
+      sha256 = "0d177474z85nvxz8ch6y9wjqz288844wwx8q9za3x2njnk4jbgxj";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev = "947dcec5ba9c011838740e680966fd7087a71d0d";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "788fd78401277ebd861206a03c884797c6ec5541";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "pkg.deepin.io/lib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/linuxdeepin/go-lib.git";
+      rev = "f09dcc32fc5a36b53ff7760e5a06e7f8f97b81f9";
+      sha256 = "1z4iw7h6lknm9jrna2c73icg1a1mxvzrqdhgjvaiww89mql1jzb4";
+    };
+  }
+]
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index f85d51b2072d..1ef7177e94d4 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -4,6 +4,7 @@ let
   packages = self: with self; {
 
     dbus-factory = callPackage ./dbus-factory { };
+    dde-api = callPackage ./dde-api { };
     dde-calendar = callPackage ./dde-calendar { };
     dde-qt-dbus-factory = callPackage ./dde-qt-dbus-factory { };
     deepin-gettext-tools = callPackage ./deepin-gettext-tools { };
diff --git a/pkgs/desktops/deepin/go-gir-generator/default.nix b/pkgs/desktops/deepin/go-gir-generator/default.nix
index cc05f6f055b0..d5ec29f1ef8b 100644
--- a/pkgs/desktops/deepin/go-gir-generator/default.nix
+++ b/pkgs/desktops/deepin/go-gir-generator/default.nix
@@ -22,9 +22,13 @@ stdenv.mkDerivation rec {
     libgudev
   ];
 
+  postPatch = ''
+    sed -i -e 's:/share/gocode:/share/go:' Makefile
+  '';
+
   makeFlags = [
     "PREFIX=$(out)"
-    "HOME=$(TMP)"
+    "GOCACHE=off"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/futhark/default.nix b/pkgs/development/compilers/futhark/default.nix
new file mode 100644
index 000000000000..890be3431c3a
--- /dev/null
+++ b/pkgs/development/compilers/futhark/default.nix
@@ -0,0 +1,55 @@
+# Generated using `cabal2nix --hpack .`, then replace src
+{ mkDerivation, alex, array, base, bifunctors, binary, blaze-html
+, bytestring, containers, data-binary-ieee754, directory
+, directory-tree, dlist, extra, file-embed, filepath, gitrev, happy
+, haskeline, hpack, HUnit, json, language-c-quote, mainland-pretty
+, markdown, mtl, neat-interpolation, parallel, parsec, process
+, process-extras, QuickCheck, random, raw-strings-qq, regex-tdfa
+, srcloc, stdenv, template-haskell, temporary, test-framework
+, test-framework-hunit, test-framework-quickcheck2, text
+, th-lift-instances, transformers, vector, vector-binary-instances
+, zlib, fetchFromGitHub
+}:
+mkDerivation {
+  pname = "futhark";
+  version = "0.6.2";
+  src = fetchFromGitHub {
+    owner = "diku-dk";
+    repo = "futhark";
+    rev = "v0.6.2";
+    sha256 = "0yj7n01swpvqblybdnks3mjf0mzf1gdg2b2cpxdpxnrjw5j0pnq2";
+  };
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    array base bifunctors binary blaze-html bytestring containers
+    data-binary-ieee754 directory directory-tree dlist extra file-embed
+    filepath gitrev language-c-quote mainland-pretty markdown mtl
+    neat-interpolation parallel parsec process raw-strings-qq
+    regex-tdfa srcloc template-haskell text th-lift-instances
+    transformers vector vector-binary-instances zlib
+  ];
+  libraryToolDepends = [ alex happy hpack ];
+  executableHaskellDepends = [
+    array base bifunctors binary blaze-html bytestring containers
+    data-binary-ieee754 directory directory-tree dlist extra file-embed
+    filepath gitrev haskeline json language-c-quote mainland-pretty
+    markdown mtl neat-interpolation parallel parsec process
+    process-extras random raw-strings-qq regex-tdfa srcloc
+    template-haskell temporary text th-lift-instances transformers
+    vector vector-binary-instances zlib
+  ];
+  testHaskellDepends = [
+    array base bifunctors binary blaze-html bytestring containers
+    data-binary-ieee754 directory directory-tree dlist extra file-embed
+    filepath gitrev HUnit language-c-quote mainland-pretty markdown mtl
+    neat-interpolation parallel parsec process QuickCheck
+    raw-strings-qq regex-tdfa srcloc template-haskell test-framework
+    test-framework-hunit test-framework-quickcheck2 text
+    th-lift-instances transformers vector vector-binary-instances zlib
+  ];
+  preConfigure = "hpack";
+  homepage = "https://futhark-lang.org";
+  description = "An optimising compiler for a functional, array-oriented language";
+  license = stdenv.lib.licenses.isc;
+}
diff --git a/pkgs/development/compilers/oraclejdk/jdk10-linux.nix b/pkgs/development/compilers/oraclejdk/jdk10-linux.nix
index de063500b709..23f44331dd89 100644
--- a/pkgs/development/compilers/oraclejdk/jdk10-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk10-linux.nix
@@ -150,6 +150,7 @@ let result = stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     license = licenses.unfree;
     platforms = [ "x86_64-linux" ]; # some inherit jre.meta.platforms
+    knownVulnerabilities = [ "Support ended in September 2018.  Use OpenJDK or JDK 8." ];
   };
 
 }; in result
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 8ff6aed506f2..15bd1507cc93 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -704,9 +704,6 @@ self: super: {
     then appendConfigureFlag super.gtk "-fhave-quartz-gtk"
     else super.gtk;
 
-  # vaultenv is not available from Hackage.
-  vaultenv = self.callPackage ../tools/haskell/vaultenv { };
-
   # https://github.com/Philonous/hs-stun/pull/1
   # Remove if a version > 0.1.0.1 ever gets released.
   stunclient = overrideCabal super.stunclient (drv: {
@@ -947,9 +944,6 @@ self: super: {
   # Tries to read a file it is not allowed to in the test suite
   load-env = dontCheck super.load-env;
 
-  # Add support for https://github.com/haskell-hvr/multi-ghc-travis.
-  multi-ghc-travis = self.callPackage ../tools/haskell/multi-ghc-travis {};
-
   # https://github.com/yesodweb/Shelly.hs/issues/162
   shelly = dontCheck super.shelly;
 
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index bb9b0e5d5fe6..523f4ed0212c 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -528,4 +528,19 @@ self: super: builtins.intersectAttrs super {
 
   # The test-suite requires a running PostgreSQL server.
   Frames-beam = dontCheck super.Frames-beam;
+
+  futhark = with pkgs;
+    let path = stdenv.lib.makeBinPath [ gcc ];
+    in overrideCabal (addBuildTool super.futhark makeWrapper) (_drv: {
+      postInstall = ''
+        wrapProgram $out/bin/futhark-c \
+          --prefix PATH : "${path}"
+
+        wrapProgram $out/bin/futhark-opencl \
+          --prefix PATH : "${path}" \
+          --set NIX_CC_WRAPPER_x86_64_unknown_linux_gnu_TARGET_HOST 1 \
+          --set NIX_CFLAGS_COMPILE "-I${opencl-headers}/include" \
+          --set NIX_CFLAGS_LINK "-L${opencl-icd}/lib"
+      '';
+    });
 }
diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix
index b8943a55394a..a4f0399cf3c6 100644
--- a/pkgs/development/haskell-modules/default.nix
+++ b/pkgs/development/haskell-modules/default.nix
@@ -4,6 +4,7 @@
 , packageSetConfig ? (self: super: {})
 , overrides ? (self: super: {})
 , initialPackages ? import ./initial-packages.nix
+, nonHackagePackages ? import ./non-hackage-packages.nix
 , configurationCommon ? import ./configuration-common.nix
 , configurationNix ? import ./configuration-nix.nix
 }:
@@ -26,7 +27,9 @@ let
       (extends packageSetConfig
         (extends compilerConfig
           (extends commonConfiguration
-            (extends nixConfiguration haskellPackages)))));
+            (extends nixConfiguration
+              (extends nonHackagePackages
+                haskellPackages))))));
 
 in
 
diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix
new file mode 100644
index 000000000000..68fcbdb79a5d
--- /dev/null
+++ b/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -0,0 +1,18 @@
+# EXTRA HASKELL PACKAGES NOT ON HACKAGE
+#
+# This file should only contain packages that are not in ./hackage-packages.nix.
+# Attributes in this set should be nothing more than a callPackage call.
+# Overrides to these packages should go to either configuration-nix.nix,
+# configuration-common.nix or to one of the compiler specific configuration
+# files.
+self: super: {
+
+  multi-ghc-travis = throw ("haskellPackages.multi-ghc-travis has been renamed"
+    + "to haskell-ci, which is now on hackage");
+
+  # https://github.com/channable/vaultenv/issues/1
+  vaultenv = self.callPackage ../tools/haskell/vaultenv { };
+
+  # https://github.com/diku-dk/futhark/issues/614
+  futhark = self.callPackage ../compilers/futhark { };
+}
diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix
index 9393c87b0a88..f6ff1e0db864 100644
--- a/pkgs/development/interpreters/erlang/generic-builder.nix
+++ b/pkgs/development/interpreters/erlang/generic-builder.nix
@@ -18,7 +18,7 @@
 , enableKernelPoll ? true
 , javacSupport ? false, javacPackages ? [ openjdk ]
 , odbcSupport ? false, odbcPackages ? [ unixODBC ]
-, wxSupport ? true, wxPackages ? [ libGLU_combined wxGTK xorg.libX11 ]
+, wxSupport ? !stdenv.isDarwin, wxPackages ? [ libGLU_combined wxGTK xorg.libX11 ]
 , preUnpack ? "", postUnpack ? ""
 , patches ? [], patchPhase ? "", prePatch ? "", postPatch ? ""
 , configureFlags ? [], configurePhase ? "", preConfigure ? "", postConfigure ? ""
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index f2b900412081..b46bd20697eb 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -155,11 +155,11 @@ let
       platforms = platforms.all;
     };
   } // stdenv.lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
-    crossVersion = "1.2";
+    crossVersion = "ab8d05c9e695d3db4f7dc15c70f23623349c2f49"; # Oct 03, 2018
 
     perl-cross-src = fetchurlBoot {
-      url = "https://github.com/arsv/perl-cross/releases/download/${crossVersion}/perl-cross-${crossVersion}.tar.gz";
-      sha256 = "02cic7lk91hgmsg8klkm2kv88m2a8y22m4m8gl4ydxbap2z7g42r";
+      url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz";
+      sha256 = "1g7p7mqmx8x3diqvbh881gr72d106cn6yvm4gx7f0ars3n3b3wj0";
     };
 
     depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix
index 21d9ce23d319..f53aa873b482 100644
--- a/pkgs/development/libraries/allegro/default.nix
+++ b/pkgs/development/libraries/allegro/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   version="4.4.2";
 
   src = fetchurl {
-    url = "http://download.gna.org/allegro/allegro/${version}/${name}.tar.gz";
+    url = "https://github.com/liballeg/allegro5/releases/download/${version}/${name}.tar.gz";
     sha256 = "1p0ghkmpc4kwij1z9rzxfv7adnpy4ayi0ifahlns1bdzgmbyf88v";
   };
 
diff --git a/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix b/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
index e3c0f0394772..320fc41f76c5 100644
--- a/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
+++ b/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "zita-alsa-pcmi-${version}";
-  version = "0.2.0";
+  version = "0.3.2";
   src = fetchurl {
     url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
-    sha256 = "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9";
+    sha256 = "12d7vdg74yh21w69qi0wg57iz4876j94qbiq09bvscih6xz9y78s";
   };
 
   buildInputs = [ alsaLib ];
 
   buildPhase = ''
-    cd libs
+    cd source
     make PREFIX="$out"
 
     # create lib link for building apps
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
 
     # apps
     cd ../apps
-    CXXFLAGS+=" -I../libs" \
-    LDFLAGS+=" -L../libs" \
+    CXXFLAGS+=" -I../source" \
+    LDFLAGS+=" -L../source" \
     make PREFIX="$out"
   '';
 
@@ -30,9 +30,9 @@ stdenv.mkDerivation rec {
     mkdir "$out/include"
     mkdir "$out/bin"
 
-    cd ../libs
+    cd ../source
 
-    # libs
+    # source
     install -Dm755 libzita-alsa-pcmi.so.$version \
       "$out/lib/libzita-alsa-pcmi.so.$version"
 
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     install -Dm755 ../apps/alsa_delay \
       "$out/bin/alsa_delay"
     install -Dm755 ../apps/alsa_loopback \
-      "$out/bin/alsa_delay"
+      "$out/bin/alsa_loopback"
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/audio/zita-convolver/default.nix b/pkgs/development/libraries/audio/zita-convolver/default.nix
index 11a06d4f39ac..4fc5c12ccc4c 100644
--- a/pkgs/development/libraries/audio/zita-convolver/default.nix
+++ b/pkgs/development/libraries/audio/zita-convolver/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "zita-convolver-${version}";
-  version = "4.0.0";
+  version = "4.0.3";
   src = fetchurl {
     url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
-    sha256 = "0fx7f48ls0rlndqrmd4k7ifpnml39yxzc2f0n6xyysypgn06y673";
+    sha256 = "0prji66p86z2bzminywkwchr5bfgxcg2i8y803pydd1hzf2198cs";
   };
 
   buildInputs = [ fftwFloat ];
 
   patchPhase = ''
-    cd libs
+    cd source
     sed -e "s@ldconfig@@" -i Makefile
   '';
 
diff --git a/pkgs/development/libraries/audio/zita-resampler/default.nix b/pkgs/development/libraries/audio/zita-resampler/default.nix
index 00a0a5082137..e9cccab39f02 100644
--- a/pkgs/development/libraries/audio/zita-resampler/default.nix
+++ b/pkgs/development/libraries/audio/zita-resampler/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "zita-resampler-${version}";
-  version = "1.6.0";
+  version = "1.6.2";
   src = fetchurl {
     url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
-    sha256 = "1w48lp99jn4wh687cvbnbnjgaraqzkb4bgir16cp504x55v8v20h";
+    sha256 = "1my5k2dh2dkvjp6xjnf9qy6i7s28z13kw1n9pwa4a2cpwbzawfr3";
   };
 
   makeFlags = [
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   ];
 
   patchPhase = ''
-    cd libs
+    cd source
     sed -e "s@ldconfig@@" -i Makefile
   '';
 
diff --git a/pkgs/development/libraries/brigand/default.nix b/pkgs/development/libraries/brigand/default.nix
new file mode 100644
index 000000000000..b4a57396cc8b
--- /dev/null
+++ b/pkgs/development/libraries/brigand/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "brigand-${version}";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "edouarda";
+    repo = "brigand";
+    rev = "4db9f665b4ece31b51aaf35b499b2c8e5811efa3";
+    sha256 = "14b8r3s24zq0l3addy3irzxs5cyqn3763y5s310lmzzswgj1v7r4";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "Instant compile time C++ 11 metaprogramming library";
+    longDescription = ''
+      Brigand is a light-weight, fully functional, instant-compile time C++ 11 meta-programming library.
+      Everything you were doing with Boost.MPL can be done with Brigand. And if that's not the case, open an issue!'';
+    homepage = https://github.com/edouarda/brigand;
+    license = licenses.boost;
+    maintainers = with maintainers; [ pmiddend ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/eccodes/default.nix b/pkgs/development/libraries/eccodes/default.nix
index 5cd004c8d136..01600f90f284 100644
--- a/pkgs/development/libraries/eccodes/default.nix
+++ b/pkgs/development/libraries/eccodes/default.nix
@@ -6,11 +6,11 @@
 with stdenv.lib; 
 stdenv.mkDerivation rec {
   name = "eccodes-${version}";
-  version = "2.8.2";
+  version = "2.9.0";
 
   src = fetchurl {
-    url = "https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-${version}-Source.tar.gz";
-    sha256 = "0aki7llrdfj6273yjy8yv0d027sdbv8xs3iv68fb69s0clyygrin";
+    url = "https://confluence.ecmwf.int/download/attachments/45757960/eccodes-${version}-Source.tar.gz";
+    sha256 = "1mh9zkfb5dj3j8fk3gdhz2bp6z13nik5pmynpf5l6qy3lhgyn17z";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = https://software.ecmwf.int/wiki/display/ECC/;
+    homepage = https://confluence.ecmwf.int/display/ECC/;
     license = licenses.asl20;
     maintainers = with maintainers; [ knedlsepp ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/fcppt/default.nix b/pkgs/development/libraries/fcppt/default.nix
index 660cdfa6414b..49e929821f7f 100644
--- a/pkgs/development/libraries/fcppt/default.nix
+++ b/pkgs/development/libraries/fcppt/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchFromGitHub, cmake, boost }:
+{ stdenv, fetchFromGitHub, cmake, boost, brigand }:
 
 stdenv.mkDerivation rec {
   name = "fcppt-${version}";
-  version = "2.5.0";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "freundlich";
     repo = "fcppt";
     rev = version;
-    sha256 = "0pjldwwxgnzjfd04cy29a9mn2szq4v2mjnw0367kxd141q2iglqi";
+    sha256 = "0zyqgmi1shjbwin1lx428v7vbi6jnywb1d47dascdn89r5gz6klv";
   };
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ boost ];
 
-  cmakeFlags = [ "-DENABLE_EXAMPLES=false" "-DENABLE_TEST=false" ];
+  cmakeFlags = [ "-DENABLE_EXAMPLES=false" "-DENABLE_TEST=false" "-DBrigand_INCLUDE_DIR=${brigand}/include" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/grantlee/5/default.nix b/pkgs/development/libraries/grantlee/5/default.nix
index aa670cd4c86b..52c087b19147 100644
--- a/pkgs/development/libraries/grantlee/5/default.nix
+++ b/pkgs/development/libraries/grantlee/5/default.nix
@@ -46,6 +46,7 @@ mkDerivation rec {
 
     homepage = http://gitorious.org/grantlee;
     maintainers = [ maintainers.ttuegel ];
+    license = licenses.lgpl21;
     inherit (qtbase.meta) platforms;
   };
 }
diff --git a/pkgs/development/libraries/grantlee/default.nix b/pkgs/development/libraries/grantlee/default.nix
index 9dde67b5c795..1446e339745e 100644
--- a/pkgs/development/libraries/grantlee/default.nix
+++ b/pkgs/development/libraries/grantlee/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
       and the design of Django is reused in Grantlee.'';
 
     homepage = http://gitorious.org/grantlee;
-    maintainers = [ ];
+    license = stdenv.lib.licenses.lgpl21;
     inherit (qt4.meta) platforms;
   };
 }
diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
index a9e7f9fcff3e..a099643061a1 100644
--- a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = "-DUSE_QT_PLUGIN_DIR=OFF -DUSE_GST_PLUGIN_DIR=OFF";
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/gtk-sharp-beans/default.nix b/pkgs/development/libraries/gtk-sharp-beans/default.nix
index b92bbf64514e..7f35f088da2b 100644
--- a/pkgs/development/libraries/gtk-sharp-beans/default.nix
+++ b/pkgs/development/libraries/gtk-sharp-beans/default.nix
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
   dontStrip = true;
 
   meta = with stdenv.lib; {
-    description = "gtk-sharp-beans binds some API from Gtk+ that isn't in Gtk# 2.12.x";
+    description = "Binds some API from Gtk+ that isn't in Gtk# 2.12.x";
     platforms = platforms.linux;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/gtk-sharp/2.0.nix b/pkgs/development/libraries/gtk-sharp/2.0.nix
index 5b3ca828a3f8..c037db97c044 100644
--- a/pkgs/development/libraries/gtk-sharp/2.0.nix
+++ b/pkgs/development/libraries/gtk-sharp/2.0.nix
@@ -46,7 +46,10 @@ stdenv.mkDerivation {
     gtk = gtk2;
   };
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "Graphical User Interface Toolkit for mono and .Net";
+    homepage = https://www.mono-project.com/docs/gui/gtksharp;
+    platforms = platforms.linux;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/gtkspell/default.nix b/pkgs/development/libraries/gtkspell/default.nix
index 22094f3a3f64..14676be0dcb9 100644
--- a/pkgs/development/libraries/gtkspell/default.nix
+++ b/pkgs/development/libraries/gtkspell/default.nix
@@ -2,16 +2,19 @@
 
 stdenv.mkDerivation {
   name = "gtkspell-2.0.16";
-  
+
   src = fetchurl {
     url = mirror://sourceforge/gtkspell/gtkspell-2.0.16.tar.gz;
     sha256 = "00hdv28bp72kg1mq2jdz1sdw2b8mb9iclsp7jdqwpck705bdriwg";
   };
-  
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [aspell gtk2 enchant intltool];
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "Word-processor-style highlighting and replacement of misspelled words";
+    homepage = http://gtkspell.sourceforge.net;
+    platforms = platforms.unix;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/hspell/default.nix b/pkgs/development/libraries/hspell/default.nix
index 20dda589b9cc..9d2088808c13 100644
--- a/pkgs/development/libraries/hspell/default.nix
+++ b/pkgs/development/libraries/hspell/default.nix
@@ -18,10 +18,10 @@ stdenv.mkDerivation rec {
   patchPhase = ''patchShebangs .'';
   buildInputs = [ perl zlib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Hebrew spell checker";
     homepage = http://hspell.ivrix.org.il/;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ ];
+    platforms = platforms.all;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index b3914a4438b3..62c3d79cf9a1 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
         * Delphi, Java (JNA, JNI), Perl, .NET, Python, Ruby ([1], [2]), UNO.
     '';
     platforms = platforms.all;
+    license = with licenses; [ gpl2 lgpl21 mpl11 ];
     maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/hyena/default.nix b/pkgs/development/libraries/hyena/default.nix
index f99aa0b6f0cf..516e4184623a 100644
--- a/pkgs/development/libraries/hyena/default.nix
+++ b/pkgs/development/libraries/hyena/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.all;
     maintainers = with maintainers; [ obadz ];
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/id3lib/default.nix b/pkgs/development/libraries/id3lib/default.nix
index dda1435c1dac..ddce76b10f72 100644
--- a/pkgs/development/libraries/id3lib/default.nix
+++ b/pkgs/development/libraries/id3lib/default.nix
@@ -17,7 +17,10 @@ stdenv.mkDerivation {
 
   doCheck = false; # fails to compile
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "Library for reading, writing, and manipulating ID3v1 and ID3v2 tags";
+    homepage = http://id3lib.sourceforge.net;
+    platforms = platforms.unix;
+    license = licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/libblockdev/default.nix b/pkgs/development/libraries/libblockdev/default.nix
index 585f6f18bbab..b99a3c7059aa 100644
--- a/pkgs/development/libraries/libblockdev/default.nix
+++ b/pkgs/development/libraries/libblockdev/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "2.19";
+  version = "2.20";
 in stdenv.mkDerivation rec {
   name = "libblockdev-${version}";
 
@@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
     owner = "storaged-project";
     repo = "libblockdev";
     rev = "${version}-1";
-    sha256 = "1ny31vaarzbpw0h863p2r5cvjsfs77d33nnisf8bhjc6ps6js3ys";
+    sha256 = "13xy8vx2dnnxczpnwapchc5ncigcxb2fhpmrmglbpkjqmhn2zbdj";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libclthreads/default.nix b/pkgs/development/libraries/libclthreads/default.nix
index 6d37eb19c712..a2f6858a05c9 100644
--- a/pkgs/development/libraries/libclthreads/default.nix
+++ b/pkgs/development/libraries/libclthreads/default.nix
@@ -2,20 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "libclthreads-${version}";
-  version = "2.4.0";
+  version = "2.4.2";
 
   src = fetchurl {
     url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/clthreads-${version}.tar.bz2";
-    sha256 = "1s8xx99z6llv46cvkllmd72v2pkzbfl5gngcql85mf14mxkdb7x6";
+    sha256 = "0cbs1w89q8wfjrrhvxf6xk0y02nkjl5hd0yb692c8ma01i6b2nf6";
   };
 
   patchPhase = ''
-    # Fix hardcoded paths to executables
-    sed -e "s@/usr/bin/install@install@" -i ./Makefile
-    sed -e "s@/sbin/ldconfig@ldconfig@" -i ./Makefile
-
-    # Remove useless symlink: /lib64 -> /lib
-    sed -e '/ln -sf \$(CLTHREADS_MIN) \$(PREFIX)\/\$(LIBDIR)\/\$(CLTHREADS_SO)/d' -i ./Makefile
+    cd source
+    # don't run ldconfig:
+    sed -e "/ldconfig/d" -i ./Makefile
   '';
 
   makeFlags = [
@@ -24,12 +21,13 @@ stdenv.mkDerivation rec {
   ];
 
   preInstall = ''
-    # The Makefile does not create the include directory
+    # The Makefile does not create the include and lib directories
     mkdir -p $out/include
+    mkdir -p $out/lib
   '';
 
   postInstall = ''
-    ln -s $out/lib/libclthreads.so.${version} $out/lib/libclthreads.so
+    ln $out/lib/libclthreads.so $out/lib/libclthreads.so.2
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libclxclient/default.nix b/pkgs/development/libraries/libclxclient/default.nix
index ce67a8efa80e..6e6ca647fc0f 100644
--- a/pkgs/development/libraries/libclxclient/default.nix
+++ b/pkgs/development/libraries/libclxclient/default.nix
@@ -1,20 +1,28 @@
-{ stdenv, fetchurl, libclthreads, libX11, libXft, xorg }:
+{ stdenv, fetchurl, libclthreads, libX11, libXft, xorg, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "libclxclient-${version}";
-  version = "3.9.0";
+  version = "3.9.2";
 
   src = fetchurl {
     url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/clxclient-${version}.tar.bz2";
-    sha256 = "14l7xrh964gllymraq4n5pgax94p5jsfjslqi5c6637zc4lmgnl0";
+    sha256 = "10bq6fy8d3pr1x2x3xx9qhf2hdxrwdgvg843a2y6lx70y1jfj0c5";
   };
 
   buildInputs = [ libclthreads libX11 libXft xorg.xproto ];
 
+  nativeBuildInputs = [ pkgconfig ];
+
   NIX_CFLAGS_COMPILE = "-I${xorg.xproto}/include -I${libXft.dev}/include";
 
   patchPhase = ''
-    sed -e "s@ldconfig@@" -i Makefile
+    cd source
+    # use pkg-config instead of pkgcon:
+    sed -e 's/pkgconf/pkg-config/g' -i ./Makefile
+    # don't run ldconfig:
+    sed -e "/ldconfig/d" -i ./Makefile
+    # make sure it can find clxclient.h:
+    sed -e 's/<clxclient.h>/"clxclient.h"/' -i ./enumip.cc
   '';
 
   makeFlags = [
diff --git a/pkgs/development/libraries/libcouchbase/default.nix b/pkgs/development/libraries/libcouchbase/default.nix
index 4da0738fde5e..e3d5c7d6424e 100644
--- a/pkgs/development/libraries/libcouchbase/default.nix
+++ b/pkgs/development/libraries/libcouchbase/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libcouchbase-${version}";
-  version = "2.9.4";
+  version = "2.9.5";
 
   src = fetchFromGitHub {
     owner = "couchbase";
     repo = "libcouchbase";
     rev = version;
-    sha256 = "0d6lmnr5yfpkzr1yr6f2ilxprl6v9r4r7917k4iz0wc3jlcndwl3";
+    sha256 = "18l3579b47l8d6nhv0xls8pybkqdmdkw8jg4inalnx3g7ydqfn00";
   };
 
   cmakeFlags = "-DLCB_NO_MOCK=ON";
diff --git a/pkgs/development/libraries/libmesode/default.nix b/pkgs/development/libraries/libmesode/default.nix
index 1becd0ee8ef6..e46eb9208de6 100644
--- a/pkgs/development/libraries/libmesode/default.nix
+++ b/pkgs/development/libraries/libmesode/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libmesode-${version}";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "boothj5";
     repo = "libmesode";
     rev = version;
-    sha256 = "1zb1x422zkpnxrz9d2b7pmi8ms60lbw49yh78mydqfypsmj2iyfh";
+    sha256 = "06f5nfaypvxrbsinxa1k2vrxrs7kqmg38g4wwwk5d63hpn1pj8ak";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/termbox/default.nix b/pkgs/development/libraries/termbox/default.nix
new file mode 100644
index 000000000000..0898289978a2
--- /dev/null
+++ b/pkgs/development/libraries/termbox/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, python3 }:
+
+stdenv.mkDerivation rec {
+  name = "termbox-${version}";
+  version = "1.1.2";
+  src = fetchFromGitHub {
+    owner = "nsf";
+    repo = "termbox";
+    rev = "v${version}";
+    sha256 = "08yqxzb8fny8806p7x8a6f3phhlbfqdd7dhkv25calswj7w1ssvs";
+  };
+  nativeBuildInputs = [ python3 ];
+  configurePhase = "python3 ./waf configure --prefix=$out";
+  buildPhase = "python3 ./waf build";
+  installPhase = "python3 ./waf install --destdir=$out";
+  meta = with stdenv.lib; {
+    description = "Library for writing text-based user interfaces";
+    license = licenses.mit;
+    homepage = "https://github.com/nsf/termbox#readme";
+    downloadPage = "https://github.com/nsf/termbox/releases";
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
+
diff --git a/pkgs/development/libraries/ti-rpc/default.nix b/pkgs/development/libraries/ti-rpc/default.nix
index 77c0b4a1a460..c139b5be1027 100644
--- a/pkgs/development/libraries/ti-rpc/default.nix
+++ b/pkgs/development/libraries/ti-rpc/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "07anqypf7c719x9y683qz65cxllmzlgmlab2hlahrqcj4bq2k99c";
   };
 
+  outputs = [ "out" "dev" ];
+
   postPatch = ''
     sed '1i#include <stdint.h>' -i src/xdr_sizeof.c
   '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix
index 2a07eba261b7..dd3f14f91928 100644
--- a/pkgs/development/libraries/vulkan-headers/default.nix
+++ b/pkgs/development/libraries/vulkan-headers/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake }:
 stdenv.mkDerivation rec {
   name = "vulkan-headers-${version}";
-  version = "1.1.82.0";
+  version = "1.1.85";
 
   buildInputs = [ cmake ];
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner = "KhronosGroup";
     repo = "Vulkan-Headers";
     rev = "sdk-${version}";
-    sha256 = "1pp0kmgd89g8rz6qqfqmdmv209s0d6hbsshrzrlwrdm6dc25f20p";
+    sha256 = "0cj4bd396qddh3nxvr7grnpfz89g3sbvm21cx4k3ga52sp1rslpb";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/yojimbo/default.nix b/pkgs/development/libraries/yojimbo/default.nix
new file mode 100644
index 000000000000..9a3416a368bb
--- /dev/null
+++ b/pkgs/development/libraries/yojimbo/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, premake5, doxygen, libsodium, mbedtls }:
+
+stdenv.mkDerivation rec {
+  name = "yojimbo";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "networkprotocol";
+    repo = "yojimbo";
+    rev = "e02219c102d9b440290539036992d77608eab3b0";
+    sha256 = "0jn25ddv73hwjals883a910m66kwj6glxxhnmn96bpzsvsaimnkr";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ premake5 doxygen ];
+  propagatedBuildInputs = [ libsodium mbedtls ];
+
+  buildPhase = ''
+    premake5 gmake
+    make all
+    premake5 docs
+  '';
+
+  installPhase = ''
+    install -Dm555 -t $out/lib bin/libyojimbo.a
+    install -Dm444 -t $out/include yojimbo.h
+    mkdir -p $out/share/doc/yojimbo
+    cp -r docs/html $out/share/doc/yojimbo
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A network library for client/server games with dedicated servers";
+    longDescription = ''
+      yojimbo is a network library for client/server games with dedicated servers.
+      It's designed around the networking requirements of competitive multiplayer games like first person shooters.
+      As such it provides a time critical networking layer on top of UDP, with a client/server architecture supporting up to 64 players per-dedicated server instance.
+    '';
+    homepage = https://github.com/networkprotocol/yojimbo;
+    license = licenses.bsd3;
+    platforms = platforms.x86_64;
+    maintainers = with maintainers; [ paddygord ];
+  };
+}
diff --git a/pkgs/development/python-modules/astroid/1.6.nix b/pkgs/development/python-modules/astroid/1.6.nix
new file mode 100644
index 000000000000..ca26da5a3737
--- /dev/null
+++ b/pkgs/development/python-modules/astroid/1.6.nix
@@ -0,0 +1,39 @@
+{ lib, fetchPypi, buildPythonPackage, pythonOlder, isPyPy
+, lazy-object-proxy, six, wrapt, enum34, singledispatch, backports_functools_lru_cache
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "astroid";
+  version = "1.6.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0fir4b67sm7shcacah9n61pvq313m523jb4q80sycrh3p8nmi6zw";
+  };
+
+  # From astroid/__pkginfo__.py
+  propagatedBuildInputs = [
+    lazy-object-proxy
+    six
+    wrapt
+    enum34
+    singledispatch
+    backports_functools_lru_cache
+  ];
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    # test_builtin_help is broken
+    pytest -k "not test_builtin_help" astroid
+  '';
+
+  meta = with lib; {
+    description = "An abstract syntax tree for Python with inference support";
+    homepage = https://github.com/PyCQA/astroid;
+    license = licenses.lgpl2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ nand0p ];
+  };
+}
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index ccf6f4055269..d773c08e189a 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -22,8 +22,8 @@ buildPythonPackage rec {
   checkInputs = [ pytestrunner pytest ];
 
   meta = with lib; {
-    description = "A abstract syntax tree for Python with inference support";
-    homepage = https://bitbucket.org/logilab/astroid;
+    description = "An abstract syntax tree for Python with inference support";
+    homepage = https://github.com/PyCQA/astroid;
     license = licenses.lgpl2;
     platforms = platforms.all;
     maintainers = with maintainers; [ nand0p ];
diff --git a/pkgs/development/python-modules/atom/default.nix b/pkgs/development/python-modules/atom/default.nix
new file mode 100644
index 000000000000..0a7dbf561a0f
--- /dev/null
+++ b/pkgs/development/python-modules/atom/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, future }:
+
+buildPythonPackage rec {
+  pname = "atom";
+  version = "0.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0awzja4k3f32y01gd068yyxvh35km62m4wka0vbg1yyy37ahgjmv";
+  };
+
+  propagatedBuildInputs = [ future ];
+
+  # Tests not released to pypi
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Memory efficient Python objects";
+    maintainers = [ maintainers.bhipple ];
+    homepage = https://github.com/nucleic/atom;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/autobahn/default.nix b/pkgs/development/python-modules/autobahn/default.nix
index 04aa9411247e..f618b05373a7 100644
--- a/pkgs/development/python-modules/autobahn/default.nix
+++ b/pkgs/development/python-modules/autobahn/default.nix
@@ -1,7 +1,6 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k, isPy33,
-  unittest2, mock, pytest, trollius, asyncio,
-  pytest-asyncio, futures, cffi,
-  six, twisted, txaio, zope_interface
+{ lib, buildPythonPackage, fetchPypi, isPy3k, isPy33,
+  six, txaio, twisted, zope_interface, cffi, asyncio, trollius, futures,
+  mock, pytest
 }:
 buildPythonPackage rec {
   pname = "autobahn";
@@ -12,21 +11,18 @@ buildPythonPackage rec {
     sha256 = "b69858e0be4bff8437b0bd82a0db1cbef7405e16bd9354ba587c043d6d5e1ad9";
   };
 
-  # Upstream claim python2 support, but tests require pytest-asyncio which
-  # is pythn3 only. Therefore, tests are skipped for python2.
-  doCheck = isPy3k;
-  checkInputs = stdenv.lib.optionals isPy3k [ unittest2 mock pytest pytest-asyncio ];
-  propagatedBuildInputs = [ cffi six twisted zope_interface txaio ] ++
-    (stdenv.lib.optional isPy33 asyncio) ++
-    (stdenv.lib.optionals (!isPy3k) [ trollius futures ]);
+  propagatedBuildInputs = [ six txaio twisted zope_interface cffi ] ++
+    (lib.optional isPy33 asyncio) ++
+    (lib.optionals (!isPy3k) [ trollius futures ]);
 
+  checkInputs = [ mock pytest ];
   checkPhase = ''
     runHook preCheck
     USE_TWISTED=true py.test $out
     runHook postCheck
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "WebSocket and WAMP in Python for Twisted and asyncio.";
     homepage    = "https://crossbar.io/autobahn";
     license     = licenses.mit;
diff --git a/pkgs/development/python-modules/av/default.nix b/pkgs/development/python-modules/av/default.nix
index 7e68265eed83..4440edc22362 100644
--- a/pkgs/development/python-modules/av/default.nix
+++ b/pkgs/development/python-modules/av/default.nix
@@ -4,7 +4,7 @@
 , nose
 , pillow
 , numpy
-, ffmpeg_2
+, ffmpeg_4
 , git
 , libav
 , pkgconfig
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "av";
-  version = "0.4.1";
+  version = "0.5.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bf9a8d113392c6a445f424e16f9e64ac53d1db1548731e6326763d555647c24f";
+    sha256 = "0k5nbff8c2wxc8wnyn1qghndbd2rjck1y3552s63w41mccj1k1qr";
   };
 
-  buildInputs = [ nose pillow numpy ffmpeg_2 git libav pkgconfig ];
+  buildInputs = [ nose pillow numpy ffmpeg_4 git pkgconfig ];
 
-  # Because of https://github.com/mikeboers/PyAV/issues/152
+  # Tests require downloading files from internet
   doCheck = false;
 
   meta = {
@@ -29,4 +29,4 @@ buildPythonPackage rec {
     homepage = https://github.com/mikeboers/PyAV/;
     license = lib.licenses.bsd2;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
new file mode 100644
index 000000000000..0110aa92c061
--- /dev/null
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -0,0 +1,94 @@
+{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k,
+  python, twisted, jinja2, zope_interface, future, sqlalchemy,
+  sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, treq, txrequests,
+  txgithub, pyjade, boto3, moto, mock, lz4, setuptoolsTrial, isort, pylint,
+  flake8, buildbot-worker, buildbot-pkg, glibcLocales }:
+
+let
+  withPlugins = plugins: buildPythonPackage {
+    name = "${package.name}-with-plugins";
+    phases = [ "installPhase" "fixupPhase" ];
+    buildInputs = [ makeWrapper ];
+    propagatedBuildInputs = plugins ++ package.propagatedBuildInputs;
+
+    installPhase = ''
+      makeWrapper ${package}/bin/buildbot $out/bin/buildbot \
+        --prefix PYTHONPATH : "${package}/${python.sitePackages}:$PYTHONPATH"
+      ln -sfv ${package}/lib $out/lib
+    '';
+
+    passthru = package.passthru // {
+      withPlugins = morePlugins: withPlugins (morePlugins ++ plugins);
+    };
+  };
+
+  package = buildPythonPackage rec {
+    pname = "buildbot";
+    version = "1.4.0";
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "0dfa926nh642i3bnpzlz0q347zicyx6wswjfqbniri59ya64fncx";
+    };
+
+    propagatedBuildInputs = [
+      # core
+      twisted
+      jinja2
+      zope_interface
+      future
+      sqlalchemy
+      sqlalchemy_migrate
+      dateutil
+      txaio
+      autobahn
+      pyjwt
+
+      # tls
+      twisted.extras.tls
+    ];
+
+    checkInputs = [
+      treq
+      txrequests
+      pyjade
+      boto3
+      moto
+      mock
+      lz4
+      setuptoolsTrial
+      isort
+      pylint
+      flake8
+      buildbot-worker
+      buildbot-pkg
+      glibcLocales
+    ];
+
+    patches = [
+      # This patch disables the test that tries to read /etc/os-release which
+      # is not accessible in sandboxed builds.
+      ./skip_test_linux_distro.patch
+    ];
+
+    LC_ALL = "en_US.UTF-8";
+
+    # TimeoutErrors on slow machines -> aarch64
+    doCheck = !stdenv.isAarch64;
+
+    postPatch = ''
+      substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
+    '';
+
+    passthru = {
+      inherit withPlugins;
+    };
+
+    meta = with lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot is an open-source continuous integration framework for automating software build, test, and release processes";
+      maintainers = with maintainers; [ nand0p ryansydnor ];
+      license = licenses.gpl2;
+    };
+  };
+in package
diff --git a/pkgs/development/tools/build-managers/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix
index 11f5be4e98e9..b9358b1c420b 100644
--- a/pkgs/development/tools/build-managers/buildbot/pkg.nix
+++ b/pkgs/development/python-modules/buildbot/pkg.nix
@@ -1,24 +1,21 @@
-{ stdenv, buildPythonPackage, fetchPypi, setuptools }:
+{ lib, buildPythonPackage, fetchPypi, setuptools }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "buildbot-pkg";
-  version = "1.2.0";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "70f429311c5812ffd334f023f4f50b904be5c672c8674ee6d28a11a7c096f18a";
+    sha256 = "06f4jvczbg9km0gfmcd1ljplf5w8za27i9ap9jnyqgh3j77smd7a";
   };
 
-  propagatedBuildInputs = [ setuptools ];
-
   postPatch = ''
     # Their listdir function filters out `node_modules` folders.
     # Do we have to care about that with Nix...?
     substituteInPlace buildbot_pkg.py --replace "os.listdir = listdir" ""
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://buildbot.net/;
     description = "Buildbot Packaging Helper";
     maintainers = with maintainers; [ nand0p ryansydnor ];
diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix
new file mode 100644
index 000000000000..bdc67d178d44
--- /dev/null
+++ b/pkgs/development/python-modules/buildbot/plugins.nix
@@ -0,0 +1,103 @@
+{ lib, buildPythonPackage, fetchPypi, buildbot, buildbot-pkg }:
+
+{
+  www = buildPythonPackage rec {
+    pname = "buildbot_www";
+    inherit (buildbot-pkg) version;
+
+    # NOTE: wheel is used due to buildbot circular dependency
+    format = "wheel";
+
+    src = fetchPypi {
+      inherit pname version format;
+      sha256 = "1m5dsp1gn9m5vfh5hnqp8g6hmhw1f1ydnassd33nhk521f2akz0v";
+    };
+
+    meta = with lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot UI";
+      maintainers = with maintainers; [ nand0p ryansydnor ];
+      license = licenses.gpl2;
+    };
+  };
+
+  console-view = buildPythonPackage rec {
+    pname = "buildbot-console-view";
+    inherit (buildbot-pkg) version;
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "0vblaxmihgb4w9aa5q0wcgvxs7qzajql8s22w0pl9qs494g05s9r";
+    };
+
+    propagatedBuildInputs = [ buildbot-pkg ];
+    checkInputs = [ buildbot ];
+
+    meta = with lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot Console View Plugin";
+      maintainers = with maintainers; [ nand0p ryansydnor ];
+      license = licenses.gpl2;
+    };
+  };
+
+  waterfall-view = buildPythonPackage rec {
+    pname = "buildbot-waterfall-view";
+    inherit (buildbot-pkg) version;
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "18v1a6dapwjc2s9hi0cv3ry3s048w84md908zwaa3033gz3zwzy7";
+    };
+
+    propagatedBuildInputs = [ buildbot-pkg ];
+    checkInputs = [ buildbot ];
+
+    meta = with lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot Waterfall View Plugin";
+      maintainers = with maintainers; [ nand0p ryansydnor ];
+      license = licenses.gpl2;
+    };
+  };
+
+  grid-view = buildPythonPackage rec {
+    pname = "buildbot-grid-view";
+    inherit (buildbot-pkg) version;
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "0iawsy892v6rn88hsgiiwaf689jqzhnb2wbxh6zkz3c0hvq4g0qd";
+    };
+
+    propagatedBuildInputs = [ buildbot-pkg ];
+    checkInputs = [ buildbot ];
+
+    meta = with lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot Grid View Plugin";
+      maintainers = with maintainers; [ nand0p ];
+      license = licenses.gpl2;
+    };
+  };
+
+  wsgi-dashboards = buildPythonPackage rec {
+    pname = "buildbot-wsgi-dashboards";
+    inherit (buildbot-pkg) version;
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "00cpjna3bffh1qbq6a3sqffd1g7qhbrmn9gpzxf9k38jam6jgfpz";
+    };
+
+    propagatedBuildInputs = [ buildbot-pkg ];
+    checkInputs = [ buildbot ];
+
+    meta = with lib; {
+      homepage = http://buildbot.net/;
+      description = "Buildbot WSGI dashboards Plugin";
+      maintainers = with maintainers; [ ];
+      license = licenses.gpl2;
+    };
+  };
+}
diff --git a/pkgs/development/tools/build-managers/buildbot/skip_test_linux_distro.patch b/pkgs/development/python-modules/buildbot/skip_test_linux_distro.patch
index 8fe5c7b56b4f..8fe5c7b56b4f 100644
--- a/pkgs/development/tools/build-managers/buildbot/skip_test_linux_distro.patch
+++ b/pkgs/development/python-modules/buildbot/skip_test_linux_distro.patch
diff --git a/pkgs/development/tools/build-managers/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix
index 4fabad9d3701..4e54276f8aed 100644
--- a/pkgs/development/tools/build-managers/buildbot/worker.nix
+++ b/pkgs/development/python-modules/buildbot/worker.nix
@@ -1,23 +1,23 @@
-{ stdenv, pythonPackages }:
+{ lib, buildPythonPackage, fetchPypi, python, setuptoolsTrial, mock, twisted, future }:
 
-pythonPackages.buildPythonApplication (rec {
-  name = "${pname}-${version}";
+buildPythonPackage (rec {
   pname = "buildbot-worker";
   version = "1.4.0";
 
-  src = pythonPackages.fetchPypi {
+  src = fetchPypi {
     inherit pname version;
     sha256 = "12zvf4c39b6s4g1f2w407q8kkw602m88rc1ggi4w9pkw3bwbxrgy";
   };
 
-  buildInputs = with pythonPackages; [ setuptoolsTrial mock ];
-  propagatedBuildInputs = with pythonPackages; [ twisted future ];
+  propagatedBuildInputs = [ twisted future ];
+
+  checkInputs = [ setuptoolsTrial mock ];
 
   postPatch = ''
     substituteInPlace buildbot_worker/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://buildbot.net/;
     description = "Buildbot Worker Daemon";
     maintainers = with maintainers; [ nand0p ryansydnor ];
diff --git a/pkgs/development/python-modules/escapism/default.nix b/pkgs/development/python-modules/escapism/default.nix
new file mode 100644
index 000000000000..b2ac36582357
--- /dev/null
+++ b/pkgs/development/python-modules/escapism/default.nix
@@ -0,0 +1,24 @@
+{ pkgs
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "escapism";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5f1cc1fa04a95f5b85b3da194750f8a71846d493ea332f62e8798949f10c9b86";
+  };
+
+  # No tests distributed
+  doCheck = false;
+
+  meta = with pkgs.lib; {
+    description = "Simple, generic API for escaping strings";
+    homepage = "https://github.com/minrk/escapism";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bzizou ];
+  };
+}
diff --git a/pkgs/development/python-modules/filterpy/default.nix b/pkgs/development/python-modules/filterpy/default.nix
new file mode 100644
index 000000000000..47f2c083d8a3
--- /dev/null
+++ b/pkgs/development/python-modules/filterpy/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, numpy
+, scipy
+, matplotlib
+, pytest
+}:
+
+buildPythonPackage rec {
+  version = "1.4.5";
+  pname = "filterpy";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1";
+  };
+
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ numpy scipy matplotlib ];
+
+  # single test fails (even on master branch of repository)
+  # project does not use CI
+  checkPhase = ''
+    pytest --ignore=filterpy/common/tests/test_discretization.py
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/rlabbe/filterpy;
+    description = "Kalman filtering and optimal estimation library";
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/hyperlink/default.nix b/pkgs/development/python-modules/hyperlink/default.nix
index 53a245c45dcf..2e2e4e1cb774 100644
--- a/pkgs/development/python-modules/hyperlink/default.nix
+++ b/pkgs/development/python-modules/hyperlink/default.nix
@@ -11,12 +11,6 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ idna ];
 
-  checkInputs = [ pytest ];
-
-  checkPhase = ''
-    py.test $out
-  '';
-
   meta = with stdenv.lib; {
     description = "A featureful, correct URL for Python";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/ibmquantumexperience/default.nix b/pkgs/development/python-modules/ibmquantumexperience/default.nix
index 82f6cb144ac7..22b809c46c20 100644
--- a/pkgs/development/python-modules/ibmquantumexperience/default.nix
+++ b/pkgs/development/python-modules/ibmquantumexperience/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "IBMQuantumExperience";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f2a5662d7457c297af0751985979e64a88569beb07cfedad0ce1dfa5a7237842";
+    sha256 = "c5dbcc140344c7bdf545ad59db87f31a90ca35107c40d6cae1489bb997a47ba9";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pylint/1.9.nix b/pkgs/development/python-modules/pylint/1.9.nix
new file mode 100644
index 000000000000..ad3140cf1572
--- /dev/null
+++ b/pkgs/development/python-modules/pylint/1.9.nix
@@ -0,0 +1,49 @@
+{ stdenv, lib, buildPythonPackage, fetchPypi, python, astroid, six, isort,
+  mccabe, configparser, backports_functools_lru_cache, singledispatch,
+  pytest, pytestrunner, pyenchant }:
+
+buildPythonPackage rec {
+  pname = "pylint";
+  version = "1.9.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1cxr1j037hsm4spmvl64v2j2rdq72pc2z0gnn3iggd4np6y21wpz";
+  };
+
+  checkInputs = [ pytest pytestrunner pyenchant ];
+
+  propagatedBuildInputs = [ astroid six isort mccabe configparser backports_functools_lru_cache singledispatch ];
+
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    # Remove broken darwin test
+    rm -vf pylint/test/test_functional.py
+  '';
+
+  checkPhase = ''
+    pytest pylint/test -k "not ${lib.concatStringsSep " and not " (
+      [ # Broken test
+        "test_good_comprehension_checks"
+        # See PyCQA/pylint#2535
+        "test_libmodule" ] ++
+      # Disable broken darwin tests
+      lib.optionals stdenv.isDarwin [
+        "test_parallel_execution"
+        "test_py3k_jobs_option"
+      ]
+    )}"
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/emacs/site-lisp
+    cp "elisp/"*.el $out/share/emacs/site-lisp/
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/PyCQA/pylint;
+    description = "A bug and style checker for Python";
+    platforms = platforms.all;
+    license = licenses.gpl1Plus;
+    maintainers = with maintainers; [ nand0p ];
+  };
+}
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index c9a44548c142..4f4eb3cfc731 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, buildPythonPackage, fetchPypi, python, pythonOlder, astroid, isort,
-  pytest, pytestrunner,  mccabe, pytest_xdist, pyenchant }:
+{ stdenv, lib, buildPythonPackage, fetchPypi, python, pythonOlder, astroid,
+  isort, mccabe, pytest, pytestrunner, pyenchant }:
 
 buildPythonPackage rec {
   pname = "pylint";
@@ -12,21 +12,25 @@ buildPythonPackage rec {
     sha256 = "31142f764d2a7cd41df5196f9933b12b7ee55e73ef12204b648ad7e556c119fb";
   };
 
-  checkInputs = [ pytest pytestrunner pytest_xdist pyenchant ];
+  checkInputs = [ pytest pytestrunner pyenchant ];
 
   propagatedBuildInputs = [ astroid isort mccabe ];
 
-  postPatch = ''
+  postPatch = lib.optionalString stdenv.isDarwin ''
     # Remove broken darwin test
     rm -vf pylint/test/test_functional.py
   '';
 
   checkPhase = ''
-    cat pylint/test/test_self.py
-    # Disable broken darwin tests
-    pytest pylint/test -k "not test_parallel_execution \
-                       and not test_py3k_jobs_option \
-                       and not test_good_comprehension_checks"
+    pytest pylint/test -k "not ${lib.concatStringsSep " and not " (
+      # Broken test
+      [ "test_good_comprehension_checks" ] ++
+      # Disable broken darwin tests
+      lib.optionals stdenv.isDarwin [
+        "test_parallel_execution"
+        "test_py3k_jobs_option"
+      ]
+    )}"
   '';
 
   postInstall = ''
@@ -34,8 +38,8 @@ buildPythonPackage rec {
     cp "elisp/"*.el $out/share/emacs/site-lisp/
   '';
 
-  meta = with stdenv.lib; {
-    homepage = https://www.logilab.org/project/pylint;
+  meta = with lib; {
+    homepage = https://github.com/PyCQA/pylint;
     description = "A bug and style checker for Python";
     platforms = platforms.all;
     license = licenses.gpl1Plus;
diff --git a/pkgs/development/python-modules/qasm2image/default.nix b/pkgs/development/python-modules/qasm2image/default.nix
index 5f7cded86fda..429159d05d7d 100644
--- a/pkgs/development/python-modules/qasm2image/default.nix
+++ b/pkgs/development/python-modules/qasm2image/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "qasm2image";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
-    owner = "nelimeee";
+    owner = "nelimee";
     repo = "qasm2image";
-    rev = "57a640621bbbc74244f07e2e068a26411b0d9b24";
-    sha256 = "1ha5vfl4jfwcwbipsq07xlknkrvx79z5bwbzndybclyk9pa69dlz";
+    rev = "2c01756946ba9782973359dbd7bbf6651af6bee5";
+    sha256 = "1bnkzv7wrdvrq71dmsqanb3v2hcsxh5zaglfcxm2d9zzpmvb4a2n";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qiskit/default.nix b/pkgs/development/python-modules/qiskit/default.nix
index 0f02560c81f8..1938cb37c75a 100644
--- a/pkgs/development/python-modules/qiskit/default.nix
+++ b/pkgs/development/python-modules/qiskit/default.nix
@@ -13,19 +13,21 @@
 , requests
 , requests_ntlm
 , IBMQuantumExperience
+, jsonschema
+, psutil
 , cmake
 , llvmPackages 
 }:
 
 buildPythonPackage rec {
   pname = "qiskit";
-  version = "0.5.7";
+  version = "0.6.1";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a5a2c6c074f8479dc83d1d599dfebf2363402a182835b8fa5742804055148b17";
+    sha256 = "601e8db4db470593b94a32495c6e90e2db11a9382817a34584520573a7b8cc38";
   };
 
   buildInputs = [ cmake ]
@@ -43,6 +45,8 @@ buildPythonPackage rec {
     requests
     requests_ntlm
     IBMQuantumExperience
+    jsonschema
+    psutil
   ];
 
   # Pypi's tarball doesn't contain tests
diff --git a/pkgs/development/python-modules/rfc-bibtex/default.nix b/pkgs/development/python-modules/rfc-bibtex/default.nix
new file mode 100644
index 000000000000..a1626d6b65c3
--- /dev/null
+++ b/pkgs/development/python-modules/rfc-bibtex/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonApplication, fetchPypi, isPy3k }:
+
+buildPythonApplication rec {
+  pname = "rfc-bibtex";
+  version = "0.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1p8xjgq4rig1jgqy5jqh34mbifxgxsyyxh8sizwz2wyixf8by8lq";
+  };
+
+  disabled = !isPy3k;
+
+  meta = with stdenv.lib; {
+    homepage = ttps://github.com/iluxonchik/rfc-bibtex/;
+    description = "Generate Bibtex entries for IETF RFCs and Internet-Drafts";
+    license = licenses.mit;
+    maintainers = with maintainers; [ teto ];
+  };
+}
diff --git a/pkgs/development/python-modules/sphinx-jinja/default.nix b/pkgs/development/python-modules/sphinx-jinja/default.nix
new file mode 100644
index 000000000000..375f59ec3f91
--- /dev/null
+++ b/pkgs/development/python-modules/sphinx-jinja/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchPypi, pbr, sphinx, sphinx-testing, nose, glibcLocales }:
+
+buildPythonPackage rec {
+  pname = "sphinx-jinja";
+  version = "1.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "02pgp9pbn0zrs0lggrc74mv6cvlnlq8wib84ga6yjvq30gda9v8q";
+  };
+
+  buildInputs = [ pbr ];
+  propagatedBuildInputs = [ sphinx ];
+
+  checkInputs = [ sphinx-testing nose glibcLocales ];
+
+  checkPhase = ''
+    # Zip (epub) does not support files with epoch timestamp
+    LC_ALL="en_US.UTF-8" nosetests -e test_build_epub
+  '';
+
+  meta = with lib; {
+    description = "Sphinx extension to include jinja templates in documentation";
+    maintainers = with maintainers; [ nand0p ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/sqlalchemy-migrate/default.nix b/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
index 8a5609c1cd9f..41269aa6567f 100644
--- a/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy-migrate/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, python
+{ stdenv, buildPythonPackage, fetchPypi, fetchpatch, python
 , unittest2, scripttest, pytz, pylint, mock
 , testtools, pbr, tempita, decorator, sqlalchemy
 , six, sqlparse, testrepository
@@ -12,6 +12,12 @@ buildPythonPackage rec {
     sha256 = "0ld2bihp9kmf57ykgzrfgxs4j9kxlw79sgdj9sfn47snw3izb2p6";
   };
 
+  # See: https://review.openstack.org/#/c/608382/
+  patches = [ (fetchpatch {
+    url = https://github.com/openstack/sqlalchemy-migrate/pull/18.patch;
+    sha256 = "1qyfq2m7w7xqf0r9bc2x42qcra4r9k9l9g1jy5j0fvlb6bvvjj07";
+  }) ];
+
   checkInputs = [ unittest2 scripttest pytz mock testtools testrepository ];
   propagatedBuildInputs = [ pbr tempita decorator sqlalchemy six sqlparse ];
 
@@ -32,10 +38,8 @@ buildPythonPackage rec {
     ${python.interpreter} setup.py test
   '';
 
-  doCheck = true;
-
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/sqlalchemy-migrate/;
+    homepage = https://github.com/openstack/sqlalchemy-migrate;
     description = "Schema migration tools for SQLAlchemy";
     license = licenses.asl20;
     maintainers = with maintainers; [ makefu ];
diff --git a/pkgs/development/python-modules/tempita/default.nix b/pkgs/development/python-modules/tempita/default.nix
new file mode 100644
index 000000000000..318c47d21608
--- /dev/null
+++ b/pkgs/development/python-modules/tempita/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchFromGitHub, nose }:
+
+buildPythonPackage rec {
+  version = "0.5.3-2016-09-28";
+  name = "tempita-${version}";
+
+  src = fetchFromGitHub {
+    owner = "gjhiggins";
+    repo = "tempita";
+    rev = "47414a7c6e46a9a9afe78f0bce2ea299fa84d10";
+    sha256 = "0f33jjjs5rvp7ar2j6ggyfykcrsrn04jaqcq71qfvycf6b7nw3rn";
+  };
+
+  buildInputs = [ nose ];
+
+  meta = {
+    homepage = https://github.com/gjhiggins/tempita;
+    description = "A very small text templating language";
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/tinycss/default.nix b/pkgs/development/python-modules/tinycss/default.nix
new file mode 100644
index 000000000000..ab6a4183df50
--- /dev/null
+++ b/pkgs/development/python-modules/tinycss/default.nix
@@ -0,0 +1,35 @@
+{ pkgs
+, buildPythonPackage
+, fetchPypi
+, pytest
+, python
+, cssutils
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  pname = "tinycss";
+  version = "0.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "12306fb50e5e9e7eaeef84b802ed877488ba80e35c672867f548c0924a76716e";
+  };
+
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ cssutils ];
+
+  checkPhase = ''
+    py.test $out/${python.sitePackages}
+  '';
+
+  # Disable Cython tests for PyPy
+  TINYCSS_SKIP_SPEEDUPS_TESTS = pkgs.lib.optional isPyPy true;
+
+  meta = with pkgs.lib; {
+    description = "Complete yet simple CSS parser for Python";
+    license = licenses.bsd3;
+    homepage = https://pythonhosted.org/tinycss/;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/toolz/default.nix b/pkgs/development/python-modules/toolz/default.nix
index 0fea8f1ab751..974e3a43bc7c 100644
--- a/pkgs/development/python-modules/toolz/default.nix
+++ b/pkgs/development/python-modules/toolz/default.nix
@@ -21,10 +21,10 @@ buildPythonPackage rec{
     nosetests toolz/tests
   '';
 
-  meta = {
-    homepage = https://github.com/pytoolz/toolz/;
+  meta = with lib; {
+    homepage = https://github.com/pytoolz/toolz;
     description = "List processing tools and functional utilities";
-    license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/trollius/default.nix b/pkgs/development/python-modules/trollius/default.nix
index 6d43aa8da869..01ad57e55d7d 100644
--- a/pkgs/development/python-modules/trollius/default.nix
+++ b/pkgs/development/python-modules/trollius/default.nix
@@ -1,45 +1,49 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, isPy27, isPyPy, mock, futures  }:
+{ lib, stdenv, buildPythonPackage, fetchPypi, isPy3k, mock, unittest2, six, futures }:
+
 buildPythonPackage rec {
   pname = "trollius";
-  version = "1.0.4";
+  version = "2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xny8y12x3wrflmyn6xi8a7n3m3ac80fgmgzphx5jbbaxkjcm148";
+    sha256 = "093978388qvw5hyscbbj062dbdc2761xs9yzrq26mh63g689lnxk";
   };
 
-  checkInputs = [ mock ];
+  checkInputs = [ mock ] ++ lib.optional (!isPy3k) unittest2;
 
-  propagatedBuildInputs = lib.optionals (isPy27 || isPyPy) [ futures ];
+  propagatedBuildInputs = [ six ] ++ lib.optional (!isPy3k) futures;
 
   patches = [
     ./tests.patch
   ];
 
-  # Some of the tests fail on darwin with `error: AF_UNIX path too long'
-  # because of the *long* path names for sockets
-  patchPhase = lib.optionalString stdenv.isDarwin ''
-      sed -i -e "s|test_create_ssl_unix_connection|skip_test_create_ssl_unix_connection|g" tests/test_events.py
-      sed -i -e "s|test_create_unix_connection|skip_test_create_unix_connection|g" tests/test_events.py
-      sed -i -e "s|test_create_unix_server_existing_path_nonsock|skip_test_create_unix_server_existing_path_nonsock|g" tests/test_unix_events.py
-      sed -i -e "s|test_create_unix_server_existing_path_sock|skip_test_create_unix_server_existing_path_sock|g" tests/test_unix_events.py
-      sed -i -e "s|test_create_unix_server_ssl_verified|skip_test_create_unix_server_ssl_verified|g" tests/test_events.py
-      sed -i -e "s|test_create_unix_server_ssl_verify_failed|skip_test_create_unix_server_ssl_verify_failed|g" tests/test_events.py
-      sed -i -e "s|test_create_unix_server_ssl|skip_test_create_unix_server_ssl|g" tests/test_events.py
-      sed -i -e "s|test_create_unix_server|skip_test_create_unix_server|g" tests/test_events.py
-      sed -i -e "s|test_open_unix_connection_error|skip_test_open_unix_connection_error|g" tests/test_streams.py
-      sed -i -e "s|test_open_unix_connection_no_loop_ssl|skip_test_open_unix_connection_no_loop_ssl|g" tests/test_streams.py
-      sed -i -e "s|test_open_unix_connection|skip_test_open_unix_connection|g" tests/test_streams.py
-      sed -i -e "s|test_pause_reading|skip_test_pause_reading|g" tests/test_subprocess.py
-      sed -i -e "s|test_read_pty_output|skip_test_read_pty_output|g" tests/test_events.py
-      sed -i -e "s|test_start_unix_server|skip_test_start_unix_server|g" tests/test_streams.py
-      sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|g" tests/test_events.py
-      sed -i -e "s|test_write_pty|skip_test_write_pty|g" tests/test_events.py
+  postPatch = ''
+    # Overrides PYTHONPATH causing dependencies not to be found
+    sed -i -e "s|test_env_var_debug|skip_test_env_var_debug|g" tests/test_tasks.py
+  '' + lib.optionalString stdenv.isDarwin ''
+    # Some of the tests fail on darwin with `error: AF_UNIX path too long'
+    # because of the *long* path names for sockets
+    sed -i -e "s|test_create_ssl_unix_connection|skip_test_create_ssl_unix_connection|g" tests/test_events.py
+    sed -i -e "s|test_create_unix_connection|skip_test_create_unix_connection|g" tests/test_events.py
+    sed -i -e "s|test_create_unix_server_existing_path_nonsock|skip_test_create_unix_server_existing_path_nonsock|g" tests/test_unix_events.py
+    sed -i -e "s|test_create_unix_server_existing_path_sock|skip_test_create_unix_server_existing_path_sock|g" tests/test_unix_events.py
+    sed -i -e "s|test_create_unix_server_ssl_verified|skip_test_create_unix_server_ssl_verified|g" tests/test_events.py
+    sed -i -e "s|test_create_unix_server_ssl_verify_failed|skip_test_create_unix_server_ssl_verify_failed|g" tests/test_events.py
+    sed -i -e "s|test_create_unix_server_ssl|skip_test_create_unix_server_ssl|g" tests/test_events.py
+    sed -i -e "s|test_create_unix_server|skip_test_create_unix_server|g" tests/test_events.py
+    sed -i -e "s|test_open_unix_connection_error|skip_test_open_unix_connection_error|g" tests/test_streams.py
+    sed -i -e "s|test_open_unix_connection_no_loop_ssl|skip_test_open_unix_connection_no_loop_ssl|g" tests/test_streams.py
+    sed -i -e "s|test_open_unix_connection|skip_test_open_unix_connection|g" tests/test_streams.py
+    sed -i -e "s|test_pause_reading|skip_test_pause_reading|g" tests/test_subprocess.py
+    sed -i -e "s|test_read_pty_output|skip_test_read_pty_output|g" tests/test_events.py
+    sed -i -e "s|test_start_unix_server|skip_test_start_unix_server|g" tests/test_streams.py
+    sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|g" tests/test_events.py
+    sed -i -e "s|test_write_pty|skip_test_write_pty|g" tests/test_events.py
   '';
 
   meta = with stdenv.lib; {
-    description = "Port of the Tulip project (asyncio module, PEP 3156) on Python 2";
-    homepage = "https://bitbucket.org/enovance/trollius";
+    description = "Port of the asyncio project to Python 2.7";
+    homepage = https://github.com/vstinner/trollius;
     license = licenses.asl20;
     maintainers = with maintainers; [ garbas ];
   };
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index eb9be9ed18c9..8640d43775dc 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -319,6 +319,10 @@ in
     dontUseCmakeConfigure = true;
   };
 
+  sassc = attrs: {
+    nativeBuildInputs = [ rake ];
+  };
+
   scrypt = attrs:
     if stdenv.isDarwin then {
       dontBuild = false;
diff --git a/pkgs/development/tools/analysis/cpplint/default.nix b/pkgs/development/tools/analysis/cpplint/default.nix
new file mode 100644
index 000000000000..10ed99e3ffe6
--- /dev/null
+++ b/pkgs/development/tools/analysis/cpplint/default.nix
@@ -0,0 +1,29 @@
+{ lib, pythonPackages, fetchFromGitHub }:
+
+pythonPackages.buildPythonApplication rec {
+  pname = "cpplint";
+  version = "1.3.0";
+
+  # Fetch from github instead of pypi, since the test cases are not in the pypi archive
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "107v7bp35kxbv9v7wl79h7115z1m4b48rhasp0cnivql1grd277i";
+  };
+
+  postPatch = ''
+    patchShebangs cpplint_unittest.py
+  '';
+
+  checkPhase = ''
+    ./cpplint_unittest.py
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/cpplint/cpplint;
+    description = "Static code checker for C++";
+    maintainers = [ maintainers.bhipple ];
+    license = [ licenses.bsd3 ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index 187b2d7b03f9..89b0a33c0682 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pmd-${version}";
-  version = "6.7.0";
+  version = "6.8.0";
 
   buildInputs = [ unzip ];
 
   src = fetchurl {
     url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip";
-    sha256 = "0bnbr8zq28dgvwka563g5lbya5jhmjrahnbwagcs4afpsrm7zj6c";
+    sha256 = "1vfkg2l3sl5ahhs89nvkg0z1ah1k67c44nwpvaymq73rb2bb8ibr";
   };
 
   installPhase = ''
@@ -16,10 +16,11 @@ stdenv.mkDerivation rec {
     cp -R * $out
   '';
 
-  meta = {
-    description = "Scans Java source code and looks for potential problems";
-    homepage = http://pmd.sourceforge.net/;
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "An extensible cross-language static code analyzer.";
+    homepage = https://pmd.github.io/;
+    platforms = platforms.unix;
+    license = with licenses; [ bsdOriginal asl20 ];
   };
 }
 
diff --git a/pkgs/development/tools/analysis/retdec/default.nix b/pkgs/development/tools/analysis/retdec/default.nix
index a4c62e6fc32c..428ca259f496 100644
--- a/pkgs/development/tools/analysis/retdec/default.nix
+++ b/pkgs/development/tools/analysis/retdec/default.nix
@@ -1,121 +1,218 @@
-{ stdenv, fetchFromGitHub, fetchurl, fetchzip,
-# Native build inputs
-cmake,
-autoconf, automake, libtool,
-pkgconfig,
-bison, flex,
-groff,
-perl,
-python,
-# Runtime tools
-time,
-upx,
-# Build inputs
-ncurses,
-libffi,
-libxml2,
-zlib,
-# PE (Windows) data, huge space savings if not needed
-withPEPatterns ? false,
+{ stdenv
+, fetchFromGitHub
+, fetchzip
+, lib
+, callPackage
+, openssl
+, cmake
+, autoconf
+, automake
+, libtool
+, pkgconfig
+, bison
+, flex
+, groff
+, perl
+, python3
+, time
+, upx
+, ncurses
+, libffi
+, libxml2
+, zlib
+, withPEPatterns ? false
 }:
 
 let
-  release = "3.0";
-
+  capstone = fetchFromGitHub {
+    owner = "avast-tl";
+    repo = "capstone";
+    rev = "27c713fe4f6eaf9721785932d850b6291a6073fe";
+    sha256 = "105z1g9q7s6n15qpln9vzhlij7vj6cyc5dqdr05n7wzjvlagwgxc";
+  };
+  elfio = fetchFromGitHub {
+    owner = "avast-tl";
+    repo = "elfio";
+    rev = "998374baace397ea98f3b1d768e81c978b4fba41";
+    sha256 = "09n34rdp0wpm8zy30zx40wkkc4gbv2k3cv181y6c1260rllwk5d1";
+  };
+  keystone = fetchFromGitHub { # only for tests
+    owner = "keystone-engine";
+    repo = "keystone";
+    rev = "d7ba8e378e5284e6384fc9ecd660ed5f6532e922";
+    sha256 = "1yzw3v8xvxh1rysh97y0i8y9svzbglx2zbsqjhrfx18vngh0x58f";
+  };
+  libdwarf = fetchFromGitHub {
+    owner = "avast-tl";
+    repo = "libdwarf";
+    rev = "85465d5e235cc2d2f90d04016d6aca1a452d0e73";
+    sha256 = "11y62r65py8yp57i57a4cymxispimn62by9z4j2g19hngrpsgbki";
+  };
+  llvm = fetchFromGitHub {
+    owner = "avast-tl";
+    repo = "llvm";
+    rev = "725d0cee133c6ab9b95c493f05de3b08016f5c3c";
+    sha256 = "0dzvafmn4qs62w1y9vh0a11clpj6q3hb41aym4izpcyybjndf9bq";
+  };
+  pelib = fetchFromGitHub {
+    owner = "avast-tl";
+    repo = "pelib";
+    rev = "a7004b2e80e4f6dc984f78b821e7b585a586050d";
+    sha256 = "0nyrb3g749lxgcymz1j584xbb1x6rvy1mc700lyn0brznvqsm81n";
+  };
   rapidjson = fetchFromGitHub {
     owner = "Tencent";
     repo = "rapidjson";
     rev = "v1.1.0";
     sha256 = "1jixgb8w97l9gdh3inihz7avz7i770gy2j2irvvlyrq3wi41f5ab";
   };
+  yaracpp = callPackage ./yaracpp.nix {}; # is its own package because it needs a patch
+  yaramod = fetchFromGitHub {
+    owner = "avast-tl";
+    repo = "yaramod";
+    rev = "v2.1.2";
+    sha256 = "1rpyqzkrqvk721hf75wb7aasw5mzp9wz4j89p0x1l9p5x1b3maz3";
+  };
   jsoncpp = fetchFromGitHub {
     owner = "open-source-parsers";
     repo = "jsoncpp";
-    rev = "1.8.3";
-    sha256 = "05gkmg6r94q8a0qdymarcjlnlvmy9s365m9jhz3ysvi71cr31lkz";
+    rev = "1.8.4";
+    sha256 = "1z0gj7a6jypkijmpknis04qybs1hkd04d1arr3gy89lnxmp6qzlm";
   };
-  googletest = fetchFromGitHub {
+  googletest = fetchFromGitHub { # only for tests
     owner = "google";
     repo = "googletest";
-    rev = "release-1.8.0";
-    sha256 = "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399";
+    rev = "83fa0cb17dad47a1d905526dcdddb5b96ed189d2";
+    sha256 = "1c2r0p9v7vz2vasy8bknfb448l6wsvzw35s8hmc5z013z5502mpk";
   };
   tinyxml2 = fetchFromGitHub {
     owner = "leethomason";
     repo = "tinyxml2";
-    rev = "5.0.1";
+    rev = "cc1745b552dd12bb1297a99f82044f83b06729e0";
     sha256 = "015g8520a0c55gwmv7pfdsgfz2rpdmh3d1nq5n9bd65n35492s3q";
   };
-  yara = fetchurl {
-     url = "https://github.com/avast-tl/yara/archive/v1.0-retdec.zip";
-     sha256 = "1bjrkgp1sgld2y7gvwrlrz5fs16521ink6xyq72v7yxj3vfa9gps";
-  };
-  openssl = fetchurl {
-    url = "https://www.openssl.org/source/openssl-1.1.0f.tar.gz";
-    sha256 = "0r97n4n552ns571diz54qsgarihrxvbn7kvyv8wjyfs9ybrldxqj";
-  };
 
-  retdec-support = fetchzip {
-    url = "https://github.com/avast-tl/retdec-support/releases/download/2017-12-12/retdec-support_2017-12-12.tar.xz";
-    sha256 = if withPEPatterns then "0pchl7hb42dm0sdbmpr8d3c6xc0lm6cs4p6g6kdb2cr9c99gjzn3"
-                               else "1hcyq6bf4wk739kb53ic2bs71gsbx6zd07pc07lzfnxf8k497mhv";
+  retdec-support = let
+    version = "2018-02-08"; # make sure to adjust both hashes (once with withPEPatterns=true and once withPEPatterns=false)
+  in fetchzip {
+    url = "https://github.com/avast-tl/retdec-support/releases/download/${version}/retdec-support_${version}.tar.xz";
+    sha256 = if withPEPatterns then "148i8flbyj1y4kfdyzsz7jsj38k4h97npjxj18h6v4wksd4m4jm7"
+                               else "0ixv9qyqq40pzyqy6v9jf5rxrvivjb0z0zn260nbmb9gk765bacy";
+    stripRoot = false;
     # Removing PE signatures reduces this from 3.8GB -> 642MB (uncompressed)
-    extraPostFetch = stdenv.lib.optionalString (!withPEPatterns) ''
-      rm -rf $out/generic/yara_patterns/static-code/pe
+    extraPostFetch = lib.optionalString (!withPEPatterns) ''
+      rm -r "$out/generic/yara_patterns/static-code/pe"
     '';
+  } // {
+    inherit version; # necessary to check the version against the expected version
   };
+
+  # patch CMakeLists.txt for a dependency and compare the versions to the ones expected by upstream
+  # this has to be applied for every dependency (which it is in postPatch)
+  patchDep = dep: ''
+    # check if our version of dep is the same version that upstream expects
+    echo "Checking version of ${dep.dep_name}"
+    expected_rev="$( sed -n -e 's|.*URL https://github.com/.*/archive/\(.*\)\.zip.*|\1|p' "deps/${dep.dep_name}/CMakeLists.txt" )"
+    if [ "$expected_rev" != '${dep.rev}' ]; then
+      echo "The ${dep.dep_name} dependency has the wrong version: ${dep.rev} while $expected_rev is expected."
+      exit 1
+    fi
+
+    # patch the CMakeLists.txt file to use our local copy of the dependency instead of fetching it at build time
+    sed -i -e 's|URL .*|URL ${dep}|' "deps/${dep.dep_name}/CMakeLists.txt"
+  '';
+
 in stdenv.mkDerivation rec {
   name = "retdec-${version}";
-  version = "${release}.0";
+
+  # If you update this you will also need to adjust the versions of the updated dependencies. You can do this by first just updating retdec
+  # itself and trying to build it. The build should fail and tell you which dependencies you have to upgrade to which versions.
+  # I've notified upstream about this problem here:
+  # https://github.com/avast-tl/retdec/issues/412
+  version = "3.2";
 
   src = fetchFromGitHub {
     owner = "avast-tl";
     repo = "retdec";
-    name = "retdec-${release}";
-    rev = "refs/tags/v${release}";
-    sha256 = "0cpc5lxg8qphdzl3gg9dx992ar35r8ik8wyysr91l2qvfhx93wks";
-    fetchSubmodules = true;
+    name = "retdec-${version}";
+    rev = "refs/tags/v${version}";
+    sha256 = "0chky656lsddn20bnm3pmz6ix20y4a0y8swwr42hrhi01vkhmzrp";
   };
 
-  nativeBuildInputs = [ cmake autoconf automake libtool pkgconfig bison flex groff perl python ];
+  nativeBuildInputs = [
+    cmake
+    autoconf
+    automake
+    libtool
+    pkgconfig
+    bison
+    flex
+    groff
+    perl
+    python3
+  ];
 
-  buildInputs = [ ncurses libffi libxml2 zlib ];
+  buildInputs = [
+    openssl
+    ncurses
+    libffi
+    libxml2
+    zlib
+  ];
 
-  prePatch = ''
-    find . -wholename "*/deps/rapidjson/CMakeLists.txt" -print0 | \
-      xargs -0 sed -i -e 's|GIT_REPOSITORY.*|URL ${rapidjson}|'
-    find . -wholename "*/deps/jsoncpp/CMakeLists.txt" -print0 | \
-      xargs -0 sed -i -e 's|GIT_REPOSITORY.*|URL ${jsoncpp}|'
-    find . -wholename "*/deps/googletest/CMakeLists.txt" -print0 | \
-      xargs -0 sed -i -e 's|GIT_REPOSITORY.*|URL ${googletest}|'
-    find . -wholename "*/deps/tinyxml2/CMakeLists.txt" -print0 | \
-      xargs -0 sed -i -e 's|GIT_REPOSITORY.*|URL ${tinyxml2}|'
+  cmakeFlags = [
+    "-DRETDEC_TESTS=ON" # build tests
+  ];
 
-    find . -wholename "*/yaracpp/deps/CMakeLists.txt" -print0 | \
-      xargs -0 sed -i -e 's|URL .*|URL ${yara}|'
+  # all dependencies that are normally fetched during build time (the subdirectories of `deps`)
+  # all of these need to be fetched through nix and the CMakeLists files need to be patched not to fetch them themselves
+  external_deps = [
+    (capstone // { dep_name = "capstone"; })
+    (elfio // { dep_name = "elfio"; })
+    (googletest // { dep_name = "googletest"; })
+    (jsoncpp // { dep_name = "jsoncpp"; })
+    (keystone // { dep_name = "keystone"; })
+    (libdwarf // { dep_name = "libdwarf"; })
+    (llvm // { dep_name = "llvm"; })
+    (pelib // { dep_name = "pelib"; })
+    (rapidjson // { dep_name = "rapidjson"; })
+    (tinyxml2 // { dep_name = "tinyxml2"; })
+    (yaracpp // { dep_name = "yaracpp"; })
+    (yaramod // { dep_name = "yaramod"; })
+  ];
 
-    find . -wholename "*/deps/openssl/CMakeLists.txt" -print0 | \
-      xargs -0 sed -i -e 's|OPENSSL_URL .*)|OPENSSL_URL ${openssl})|'
+  postPatch = (lib.concatMapStrings patchDep external_deps) + ''
+    # install retdec-support
+    echo "Checking version of retdec-support"
+    expected_version="$( sed -n -e "s|^version = '\(.*\)'$|\1|p" 'cmake/install-share.py' )"
+    if [ "$expected_version" != '${retdec-support.version}' ]; then
+      echo "The retdec-support dependency has the wrong version: ${retdec-support.version} while $expected_version is expected."
+      exit 1
+    fi
+    mkdir -p "$out/share/retdec"
+    cp -r ${retdec-support} "$out/share/retdec/support" # write permission needed during install
+    chmod -R u+w "$out/share/retdec/support"
+    # python file originally responsible for fetching the retdec-support archive to $out/share/retdec
+    # that is not necessary anymore, so empty the file
+    echo > cmake/install-share.py
 
-    cat > cmake/install-share.sh <<EOF
-      #!/bin/sh
-      mkdir -p $out/share/retdec/
-      ln -s ${retdec-support} $out/share/retdec/support
-    EOF
-    chmod +x cmake/*.sh
-    patchShebangs cmake/*.sh
-
-    substituteInPlace scripts/unpack.sh --replace '	upx -d' '	${upx}/bin/upx -d'
-    substituteInPlace scripts/config.sh --replace /usr/bin/time ${time}/bin/time
+    # call correct `time` and `upx` programs
+    substituteInPlace scripts/retdec-config.py --replace /usr/bin/time ${time}/bin/time
+    substituteInPlace scripts/retdec-unpacker.py --replace "'upx'" "'${upx}/bin/upx'"
   '';
 
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  doInstallCheck = true;
+  installCheckPhase = ''
+    ${python3.interpreter} "$out/bin/retdec-tests-runner.py"
+  '';
+
+  meta = with lib; {
     description = "A retargetable machine-code decompiler based on LLVM";
     homepage = https://retdec.com;
     license = licenses.mit;
-    maintainers = with maintainers; [ dtzWill ];
-    broken = withPEPatterns; # retdec-full is broken, 2018-04-11
+    maintainers = with maintainers; [ dtzWill timokau ];
+    platforms = ["x86_64-linux" "i686-linux"];
   };
 }
diff --git a/pkgs/development/tools/analysis/retdec/yaracpp.nix b/pkgs/development/tools/analysis/retdec/yaracpp.nix
new file mode 100644
index 000000000000..cc857b86145f
--- /dev/null
+++ b/pkgs/development/tools/analysis/retdec/yaracpp.nix
@@ -0,0 +1,49 @@
+{ stdenv
+, fetchFromGitHub
+, coreutils
+}:
+
+let
+  yara = fetchFromGitHub {
+    owner = "avast-tl";
+    repo = "yara";
+    rev = "ea101c5856941f39cad2db3012f2660d1d5c8b65";
+    sha256 = "033ssx2hql5k4pv9si043s3mjq2b748ymjzif8pg6rdwh260faky";
+  };
+in stdenv.mkDerivation rec {
+  # only fetches the yaracpp source patched to work with a local yara clone,
+  # does not build anything
+  name = "yaracpp-src-${version}";
+  version = "2018-10-09";
+  rev = "b92bde0e59e3b75bc445227e04b71105771dee8b"; # as specified in retdec/deps/yaracpp/CMakeLists.txt
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "avast-tl";
+    repo = "yaracpp";
+    sha256 = "0fan7q79j7s3bjmhsd2nw6sqyi14xgikn7mr2p4nj87lick5l4a2";
+  };
+
+  postPatch = ''
+      # check if our version of yara is the same version that upstream expects
+      echo "Checking version of yara"
+      expected_rev="$( sed -n -e 's|.*URL https://github.com/.*/archive/\(.*\)\.zip.*|\1|p' "deps/CMakeLists.txt" )"
+      if [ "$expected_rev" != '${yara.rev}' ]; then
+        echo "The yara dependency has the wrong version: ${yara.rev} while $expected_rev is expected."
+        exit 1
+      fi
+
+      # patch the CMakeLists.txt file to use our local copy of the dependency instead of fetching it at build time
+      sed -i -e "s|URL .*|URL ${yara}|" "deps/CMakeLists.txt"
+
+      # abuse the CONFIGURE_COMMAND to make the source writeable after copying it to the build locatoin (necessary for the build)
+      sed -i -e 's|CONFIGURE_COMMAND ""|CONFIGURE_COMMAND COMMAND ${coreutils}/bin/chmod -R u+w .|' "deps/CMakeLists.txt"
+    '';
+
+  buildPhase = "# do nothing";
+  configurePhase = "# do nothing";
+  installPhase = ''
+    mkdir -p "$out"
+    cp -r * "$out"
+  '';
+}
diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix
deleted file mode 100644
index adb279cdea68..000000000000
--- a/pkgs/development/tools/build-managers/buildbot/default.nix
+++ /dev/null
@@ -1,95 +0,0 @@
-{ stdenv, openssh, buildbot-worker, buildbot-pkg, pythonPackages, runCommand, makeWrapper }:
-
-let
-  withPlugins = plugins: runCommand "wrapped-${package.name}" {
-    buildInputs = [ makeWrapper ] ++ plugins;
-    propagatedBuildInputs = package.propagatedBuildInputs;
-    passthru.withPlugins = moarPlugins: withPlugins (moarPlugins ++ plugins);
-  } ''
-    makeWrapper ${package}/bin/buildbot $out/bin/buildbot \
-      --prefix PYTHONPATH : "${package}/lib/python2.7/site-packages:$PYTHONPATH"
-    ln -sfv ${package}/lib $out/lib
-  '';
-
-  package = pythonPackages.buildPythonApplication rec {
-    name = "${pname}-${version}";
-    pname = "buildbot";
-    version = "1.2.0";
-
-    src = pythonPackages.fetchPypi {
-      inherit pname version;
-      sha256 = "02gwmls8kgm6scy36hdy0bg645zs1pxlrgwkcn79wrl7cfmabcbv";
-    };
-
-    buildInputs = with pythonPackages; [
-      lz4
-      txrequests
-      pyjade
-      boto3
-      moto
-      txgithub
-      mock
-      setuptoolsTrial
-      isort
-      pylint
-      astroid
-      pyflakes
-      openssh
-      buildbot-worker
-      buildbot-pkg
-      treq
-    ];
-
-    propagatedBuildInputs = with pythonPackages; [
-      # core
-      twisted
-      jinja2
-      zope_interface
-      sqlalchemy
-      sqlalchemy_migrate
-      future
-      dateutil
-      txaio
-      autobahn
-      pyjwt
-      distro
-
-      # tls
-      pyopenssl
-      service-identity
-      idna
-
-      # docs
-      sphinx
-      sphinxcontrib-blockdiag
-      sphinxcontrib-spelling
-      pyenchant
-      docutils
-      ramlfications
-      sphinx-jinja
-
-    ];
-
-    patches = [
-      # This patch disables the test that tries to read /etc/os-release which
-      # is not accessible in sandboxed builds.
-      ./skip_test_linux_distro.patch
-    ];
-
-    # TimeoutErrors on slow machines -> aarch64
-    doCheck = !stdenv.isAarch64;
-
-    postPatch = ''
-      substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
-    '';
-
-    passthru = { inherit withPlugins; };
-
-    meta = with stdenv.lib; {
-      homepage = http://buildbot.net/;
-      description = "Buildbot is an open-source continuous integration framework for automating software build, test, and release processes";
-      maintainers = with maintainers; [ nand0p ryansydnor ];
-      license = licenses.gpl2;
-    };
-  };
-in package
diff --git a/pkgs/development/tools/build-managers/buildbot/plugins.nix b/pkgs/development/tools/build-managers/buildbot/plugins.nix
deleted file mode 100644
index 430cdee3ca8c..000000000000
--- a/pkgs/development/tools/build-managers/buildbot/plugins.nix
+++ /dev/null
@@ -1,105 +0,0 @@
-{ stdenv, pythonPackages, buildbot-pkg }:
-
-{
-  www = pythonPackages.buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "buildbot_www";
-    version = buildbot-pkg.version;
-
-    # NOTE: wheel is used due to buildbot circular dependency
-    format = "wheel";
-
-    src = pythonPackages.fetchPypi {
-      inherit pname version format;
-      sha256 = "001kxjcyn5sxiq7m1izy4djj7alw6qpgaid4f518s9xgm4a8hwcb";
-    };
-
-    meta = with stdenv.lib; {
-      homepage = http://buildbot.net/;
-      description = "Buildbot UI";
-      maintainers = with maintainers; [ nand0p ryansydnor ];
-      license = licenses.gpl2;
-    };
-  };
-
-  console-view = pythonPackages.buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "buildbot-console-view";
-    version = buildbot-pkg.version;
-
-    src = pythonPackages.fetchPypi {
-      inherit pname version;
-      sha256 = "11p9l9r9rh8cq0ihzjcdxfbi55n7inbsz45zqq67rkvqn5nhj5b6";
-    };
-
-    propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
-
-    meta = with stdenv.lib; {
-      homepage = http://buildbot.net/;
-      description = "Buildbot Console View Plugin";
-      maintainers = with maintainers; [ nand0p ryansydnor ];
-      license = licenses.gpl2;
-    };
-  };
-
-  waterfall-view = pythonPackages.buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "buildbot-waterfall-view";
-    version = buildbot-pkg.version;
-
-    src = pythonPackages.fetchPypi {
-      inherit pname version;
-      sha256 = "1yx63frfpbvwy4hfib1psyq5ad0wysyzfrla8d7lgbdaip021wzw";
-    };
-
-    propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
-
-    meta = with stdenv.lib; {
-      homepage = http://buildbot.net/;
-      description = "Buildbot Waterfall View Plugin";
-      maintainers = with maintainers; [ nand0p ryansydnor ];
-      license = licenses.gpl2;
-    };
-  };
-
-  grid-view = pythonPackages.buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "buildbot-grid-view";
-    version = buildbot-pkg.version;
-
-    src = pythonPackages.fetchPypi {
-      inherit pname version;
-      sha256 = "06my75hli3w1skdkx1qz6zqw2wckanhrcvlqm4inylj9v9pcrgv6";
-    };
-
-    propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
-
-    meta = with stdenv.lib; {
-      homepage = http://buildbot.net/;
-      description = "Buildbot Grid View Plugin";
-      maintainers = with maintainers; [ nand0p ];
-      license = licenses.gpl2;
-    };
-  };
-
-  wsgi-dashboards = pythonPackages.buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "buildbot-wsgi-dashboards";
-    version = buildbot-pkg.version;
-
-    src = pythonPackages.fetchPypi {
-      inherit pname version;
-      sha256 = "073gz44fa5k1p8k46k0ld9gg16j8zdj6sc297qfyqpiw28ybhc5s";
-    };
-
-    propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
-
-    meta = with stdenv.lib; {
-      homepage = http://buildbot.net/;
-      description = "Buildbot WSGI dashboards Plugin";
-      maintainers = with maintainers; [ ];
-      license = licenses.gpl2;
-    };
-  };
-
-}
diff --git a/pkgs/development/tools/ejson/Gemfile b/pkgs/development/tools/ejson/Gemfile
new file mode 100644
index 000000000000..f860fe5075d4
--- /dev/null
+++ b/pkgs/development/tools/ejson/Gemfile
@@ -0,0 +1,4 @@
+source 'https://rubygems.org'
+
+gem 'fpm'
+gem 'ronn'
diff --git a/pkgs/development/tools/ejson/Gemfile.lock b/pkgs/development/tools/ejson/Gemfile.lock
new file mode 100644
index 000000000000..bc72352c7ab1
--- /dev/null
+++ b/pkgs/development/tools/ejson/Gemfile.lock
@@ -0,0 +1,54 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    arr-pm (0.0.10)
+      cabin (> 0)
+    backports (3.8.0)
+    cabin (0.9.0)
+    childprocess (0.7.1)
+      ffi (~> 1.0, >= 1.0.11)
+    clamp (1.0.1)
+    dotenv (2.2.1)
+    ffi (1.9.18)
+    fpm (1.9.2)
+      arr-pm (~> 0.0.10)
+      backports (>= 2.6.2)
+      cabin (>= 0.6.0)
+      childprocess
+      clamp (~> 1.0.0)
+      ffi
+      json (>= 1.7.7, < 2.0)
+      pleaserun (~> 0.0.29)
+      ruby-xz
+      stud
+    hpricot (0.8.6)
+    insist (1.0.0)
+    io-like (0.3.0)
+    json (1.8.6)
+    mustache (0.99.8)
+    pleaserun (0.0.30)
+      cabin (> 0)
+      clamp
+      dotenv
+      insist
+      mustache (= 0.99.8)
+      stud
+    rdiscount (2.2.0.1)
+    ronn (0.7.3)
+      hpricot (>= 0.8.2)
+      mustache (>= 0.7.0)
+      rdiscount (>= 1.5.8)
+    ruby-xz (0.2.3)
+      ffi (~> 1.9)
+      io-like (~> 0.3)
+    stud (0.0.23)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  fpm
+  ronn
+
+BUNDLED WITH
+   1.16.0
diff --git a/pkgs/development/tools/ejson/default.nix b/pkgs/development/tools/ejson/default.nix
new file mode 100644
index 000000000000..80129f318e39
--- /dev/null
+++ b/pkgs/development/tools/ejson/default.nix
@@ -0,0 +1,46 @@
+{ lib, bundlerEnv, ruby, buildGoPackage, fetchFromGitHub }:
+let
+  # needed for manpage generation
+  gems = bundlerEnv {
+    name = "ejson-gems";
+    gemdir = ./.;
+    inherit ruby;
+  };
+in buildGoPackage rec {
+  name = "ejson-${version}";
+  version = "1.2.0";
+  rev = "v${version}";
+
+  nativeBuildInputs = [ gems ];
+
+  goPackagePath = "github.com/Shopify/ejson";
+  subPackages = [ "cmd/ejson" ];
+
+  goDeps = ./deps.nix;
+
+  src = fetchFromGitHub {
+    owner = "Shopify";
+    repo = "ejson";
+    inherit rev;
+    sha256 = "07ig24fryb9n0mfyqb0sgpj7di9y7wbvh2ppwfs2jqfpvpncd7yh";
+  };
+
+  # set HOME, otherwise bundler will insert stuff in the manpages
+  postBuild = ''
+    cd go/src/$goPackagePath
+    HOME=$PWD make man
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share
+    cp -r build/man $out/share
+  '';
+
+  meta = with lib; {
+    description = "A small library to manage encrypted secrets using asymmetric encryption.";
+    license = licenses.mit;
+    homepage = https://github.com/Shopify/ejson;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.manveru ];
+  };
+}
diff --git a/pkgs/development/tools/ejson/deps.nix b/pkgs/development/tools/ejson/deps.nix
new file mode 100644
index 000000000000..b0c7defc5d78
--- /dev/null
+++ b/pkgs/development/tools/ejson/deps.nix
@@ -0,0 +1,48 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "github.com/codegangsta/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/codegangsta/cli";
+      rev =  "9908e96513e5a94de37004098a3974a567f18111";
+      sha256 = "0g6sihdb53nlf770dp3jc0qqxnlir5n2yjbp5p5vf7kcj3p54p34";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dustin/gojson";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dustin/gojson";
+      rev =  "057ac0edc14e44d03df3bb03449e666ff50884c1";
+      sha256 = "1kzzbi5yshcg1v99gab5ymd3psild3p0rbq9jf7mssjvh11yza6f";
+    };
+  }
+  {
+    goPackagePath  = "github.com/smartystreets/goconvey";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/goconvey";
+      rev =  "90f2eae17a8bdcbe3f6f654fc76af7f39e97d7b9";
+      sha256 = "0s984ksmc8npf642nwwd1a81c2sfi613v7yia9jff710i5472fah";
+    };
+  }
+  {
+    goPackagePath  = "github.com/urfave/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/cli";
+      rev =  "cfb38830724cc34fedffe9a2a29fb54fa9169cd1";
+      sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev =  "ca7e7f10cb9fd9c1a6ff7f60436c086d73714180";
+      sha256 = "02wmfdq40fjszrd9l2w4c1g34zxnxyydwr4sqvp2blmw2s6ww4bx";
+    };
+  }
+]
\ No newline at end of file
diff --git a/pkgs/development/tools/ejson/gemset.nix b/pkgs/development/tools/ejson/gemset.nix
new file mode 100644
index 000000000000..b6fb1473d222
--- /dev/null
+++ b/pkgs/development/tools/ejson/gemset.nix
@@ -0,0 +1,188 @@
+{
+  arr-pm = {
+    dependencies = ["cabin"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07yx1g1nh4zdy38i2id1xyp42fvj4vl6i196jn7szvjfm0jx98hg";
+      type = "gem";
+    };
+    version = "0.0.10";
+  };
+  backports = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17pcz0z6jms5jydr1r95kf1bpk3ms618hgr26c62h34icy9i1dpm";
+      type = "gem";
+    };
+    version = "3.8.0";
+  };
+  cabin = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0b3b8j3iqnagjfn1261b9ncaac9g44zrx1kcg81yg4z9i513kici";
+      type = "gem";
+    };
+    version = "0.9.0";
+  };
+  childprocess = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04cypmwyy4aj5p9b5dmpwiz5p1gzdpz6jaxb42fpckdbmkpvn6j1";
+      type = "gem";
+    };
+    version = "0.7.1";
+  };
+  clamp = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jb6l4scp69xifhicb5sffdixqkw8wgkk9k2q57kh2y36x1px9az";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
+  dotenv = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pgzlvs0sswnqlgfm9gkz2hlhkc0zd3vnlp2vglb1wbgnx37pjjv";
+      type = "gem";
+    };
+    version = "2.2.1";
+  };
+  ffi = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0";
+      type = "gem";
+    };
+    version = "1.9.18";
+  };
+  fpm = {
+    dependencies = ["arr-pm" "backports" "cabin" "childprocess" "clamp" "ffi" "json" "pleaserun" "ruby-xz" "stud"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09vzjsiwa2dlhph6fc519x5l0bfn2qfhayfld48cdl2561x5c7fb";
+      type = "gem";
+    };
+    version = "1.9.2";
+  };
+  hpricot = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jn8x9ch79gqmnzgyz78kppavjh5lqx0y0r6frykga2b86rz9s6z";
+      type = "gem";
+    };
+    version = "0.8.6";
+  };
+  insist = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bw3bdwns14mapbgb8cbjmr0amvwz8y72gyclq04xp43wpp5jrvg";
+      type = "gem";
+    };
+    version = "1.0.0";
+  };
+  io-like = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04nn0s2wmgxij3k760h3r8m1dgih5dmd9h4v1nn085yi824i5z6k";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
+  json = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5";
+      type = "gem";
+    };
+    version = "1.8.6";
+  };
+  mustache = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2";
+      type = "gem";
+    };
+    version = "0.99.8";
+  };
+  pleaserun = {
+    dependencies = ["cabin" "clamp" "dotenv" "insist" "mustache" "stud"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0hgnrl67zkqaxmfkwbyscawj4wqjm7h8khpbj58s6iw54wp3408p";
+      type = "gem";
+    };
+    version = "0.0.30";
+  };
+  rdiscount = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1arvk3k06prxasq1djbj065ixar4zl171340g7wr1ww4gj9makx3";
+      type = "gem";
+    };
+    version = "2.2.0.1";
+  };
+  ronn = {
+    dependencies = ["hpricot" "mustache" "rdiscount"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07plsxxfx5bxdk72ii9za6km0ziqlq8jh3bicr4774dalga6zpw2";
+      type = "gem";
+    };
+    version = "0.7.3";
+  };
+  ruby-xz = {
+    dependencies = ["ffi" "io-like"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11bgpvvk0098ghvlxr4i713jmi2izychalgikwvdwmpb452r3ndw";
+      type = "gem";
+    };
+    version = "0.2.3";
+  };
+  stud = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qpb57cbpm9rwgsygqxifca0zma87drnlacv49cqs2n5iyi6z8kb";
+      type = "gem";
+    };
+    version = "0.0.23";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix
new file mode 100644
index 000000000000..87571f1fcbb7
--- /dev/null
+++ b/pkgs/development/tools/lazygit/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "lazygit-${version}";
+  version = "0.4";
+
+  goPackagePath = "github.com/jesseduffield/lazygit";
+
+  src = fetchFromGitHub {
+    owner = "jesseduffield";
+    repo = "lazygit";
+    rev = "v${version}";
+    sha256 = "0piljnwv778z7zc1pglkidiys1a3yv4d7z9wsrcj1nszlcn3ifyz";
+  };
+
+  postPatch = ''
+    rm -rf scripts
+  '';
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Simple terminal UI for git commands";
+    license = licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ fpletz ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix
index 55902f48bb73..ecc86d51a06e 100644
--- a/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/pkgs/development/tools/profiling/systemtap/default.nix
@@ -5,9 +5,9 @@
 let
   ## fetchgit info
   url = git://sourceware.org/git/systemtap.git;
-  rev = "4051c70c9318c837981384cbb23f3e9eb1bd0892";
-  sha256 = "0sd8n3j3rishks3gyqj2jyqhps7hmlfjyz8i0w8v98cczhhh04rq";
-  version = "2017.10.18";
+  rev = "release-${version}";
+  sha256 = "0hckbmrlcz5nj438409fmdjjaaqzf68r2242v10lkssw5daia1gj";
+  version = "3.3";
 
   inherit (kernel) stdenv;
   inherit (stdenv) lib;
@@ -18,12 +18,6 @@ let
     src = fetchgit { inherit url rev sha256; };
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ elfutils gettext python2 python2Packages.setuptools ];
-    # FIXME: Workaround for bug in kbuild, where quoted -I"/foo" flags would get mangled in out-of-tree kbuild dirs
-    postPatch = ''
-      substituteInPlace buildrun.cxx --replace \
-        'o << "EXTRA_CFLAGS += -I\"" << s.runtime_path << "\"" << endl;' \
-        'o << "EXTRA_CFLAGS += -I" << s.runtime_path << endl;'
-    '';
     enableParallelBuilding = true;
   };
 
@@ -53,7 +47,7 @@ in runCommand "systemtap-${kernel.version}-${version}" {
   };
 } ''
   mkdir -p $out/bin
-  for bin in $stapBuild/bin/*; do # hello emacs */
+  for bin in $stapBuild/bin/*; do
     ln -s $bin $out/bin
   done
   rm $out/bin/stap $out/bin/dtrace
diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix
index 0463ab3ba0af..836003eeb736 100644
--- a/pkgs/development/tools/rust/bindgen/default.nix
+++ b/pkgs/development/tools/rust/bindgen/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   name = "rust-bindgen-${version}";
-  version = "0.40.0";
+  version = "0.42.2";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "rust-bindgen";
     rev = "v${version}";
-    sha256 = "0d7jqgi3aadwqcxiaz7axsq9h6n2i42yd3q0p1hc5l0kcdwwbj5k";
+    sha256 = "10h0h7x8yf4dsyw2p2nas2jg5p3i29np0y3rfzrdq898d70gvq4j";
   };
 
-  cargoSha256 = "1rjyazhnk9xihqw1qzkkcrab627lqbj789g5d5nb8bn2hkbdx5d6";
+  cargoSha256 = "01jvi86xgz0r7ia9agnfpms6b6x68lzwj6f085m0w659i94acgpi";
 
   libclang = llvmPackages.libclang.lib; #for substituteAll
 
diff --git a/pkgs/games/openxcom/default.nix b/pkgs/games/openxcom/default.nix
index 9a82c678f370..211172cee203 100644
--- a/pkgs/games/openxcom/default.nix
+++ b/pkgs/games/openxcom/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchFromGitHub, cmake, libGLU_combined, zlib, openssl, libyamlcpp, boost
 , SDL, SDL_image, SDL_mixer, SDL_gfx }:
 
-let version = "1.0.0.2018.01.28"; in
+let version = "1.0.0.2018.10.08"; in
 stdenv.mkDerivation {
   name = "openxcom-${version}";
   src = fetchFromGitHub {
     owner = "SupSuper";
     repo = "OpenXcom";
-    rev = "b148916268a6ce104c3b6b7eb4d9e0487cba5487";
-    sha256 = "1128ip3g4aw59f3f23mvlyhl8xckhwjjw9rd7wn7xv51hxdh191c";
+    rev = "13049d617fe762b91893faaf7c14ddefa49e2f1d";
+    sha256 = "0vpcfk3g1bnwwmrln14jkj2wvw2z8igxw2mdb7c3y66466wm93ig";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/misc/cups/drivers/googlecloudprint/default.nix b/pkgs/misc/cups/drivers/googlecloudprint/default.nix
new file mode 100644
index 000000000000..b3fc87fbf1da
--- /dev/null
+++ b/pkgs/misc/cups/drivers/googlecloudprint/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, lib, fetchFromGitHub, python2, python2Packages, file, makeWrapper, cups }:
+
+# Setup instructions can be found at https://github.com/simoncadman/CUPS-Cloud-Print#configuration
+# So the nix version is something like:
+# nix run nixpkgs.cups-googlecloudprint -c sudo setupcloudprint
+# nix run nixpkgs.cups-googlecloudprint -c sudo listcloudprinters
+
+let pythonEnv = python2.buildEnv.override {
+  extraLibs = with python2Packages; [
+    six
+    httplib2
+    pycups
+  ];
+};
+
+in stdenv.mkDerivation rec {
+  name    = "cups-googlecloudprint-${version}";
+  version = "20160502";
+
+  src = fetchFromGitHub {
+    owner  = "simoncadman";
+    repo   = "CUPS-Cloud-Print";
+    rev    = version;
+    sha256 = "0760i12w7jrhq7fsgyz3yqla5cvpjb45n6m2jz96wsy3p3xf6dzz";
+  };
+
+  buildInputs = [ cups makeWrapper ];
+
+  cupsgroup = "nonexistantgroup";
+  NOPERMS = 1;
+
+  postConfigure = ''
+    substituteInPlace Makefile --replace "${cups}" "$out"
+  '';
+
+  postInstall = ''
+    pushd "$out"
+    for s in lib/cups/backend/gcp lib/cups/driver/cupscloudprint
+    do
+      echo "Wrapping $s..."
+      wrapProgram "$out/$s" --set PATH "${lib.makeBinPath [pythonEnv file]}" --prefix PYTHONPATH : "$out/share/cloudprint-cups"
+    done
+
+    mkdir bin
+
+    for s in share/cloudprint-cups/*.py
+    do
+      if [ -x "$s" ] # Only wrapping those Python scripts marked as executable
+      then
+        o="bin/$(echo $s | sed 's,share/cloudprint-cups/\(.*\).py,\1,')"
+        echo "Wrapping $o -> $s..."
+        makeWrapper "$out/$s" "$o" --set PATH "${lib.makeBinPath [pythonEnv file]}" --prefix PYTHONPATH : "$out/share/cloudprint-cups"
+      fi
+    done
+    popd
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud Print driver for CUPS, allows printing to printers hosted on Google Cloud Print";
+    homepage    = http://ccp.niftiestsoftware.com;
+    platforms   = platforms.linux;
+    license     = licenses.gpl3;
+  };
+}
diff --git a/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix b/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix
index b14008e11f10..631c59523e2a 100644
--- a/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix
+++ b/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "reattach-to-user-namespace-${version}";
-  version = "2.6";
+  version = "2.7";
 
   src = fetchurl {
-    url = "https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/archive/v2.6.tar.gz";
-    sha256 = "1d8ynzkdlxyyky9f88f7z50g9lwdydkpb2n7gkw3jgl2ac569xc0";
+    url = "https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/archive/v${version}.tar.gz";
+    sha256 = "00mjyj8yicrpnlm46rlbkvxgl5381l8xawh7rmjk10p3zrm56jbv";
   };
 
   buildFlags = "ARCHES=x86_64";
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index 730df56a6429..3c7e2f98b890 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "evdi-${version}";
-  version = "1.5.0";
+  version = "1.5.0.2";
 
   src = fetchFromGitHub {
     owner = "DisplayLink";
     repo = "evdi";
     rev = "v${version}";
-    sha256 = "01z7bx5rgpb5lc4c6dxfiv52ni25564djxmvmgy3d7r1x1mqhxgs";
+    sha256 = "1wjk023lpjxnspfl34c6rzkrixahfdzdkmc3hnmrdw12s3i6ca5x";
   };
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl2;
     homepage = http://www.displaylink.com/;
-    broken = versionOlder kernel.version "4.9" || versionAtLeast kernel.version "4.15";
+    broken = versionOlder kernel.version "4.9" || versionAtLeast kernel.version "4.15" || stdenv.isAarch64;
   };
 }
diff --git a/pkgs/os-specific/linux/iio-sensor-proxy/default.nix b/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
index 0ccc8acfdca9..dcd5b4763ff1 100644
--- a/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
+++ b/pkgs/os-specific/linux/iio-sensor-proxy/default.nix
@@ -3,19 +3,23 @@
 
 stdenv.mkDerivation rec {
   name = "iio-sensor-proxy-${version}";
-  version = "2.4";
+  version = "2.5";
 
   src = fetchFromGitHub {
     owner  = "hadess";
     repo   = "iio-sensor-proxy";
     rev    = version;
-    sha256 = "1c8izq73c00gvv0jc6zby5hcircs4cb16a1d3ivp1i1iflknj46n";
+    sha256 = "06x1vvslsa44bgw8s5rr17q9i2ssbw0x04l75zsy3rql9r3y2jzg";
   };
 
   configurePhase = ''
+    runHook preConfigure
+
     ./autogen.sh --prefix=$out \
       --with-udevrulesdir=$out/lib/udev/rules.d \
       --with-systemdsystemunitdir=$out/lib/systemd/system
+
+    runHook postConfigure
   '';
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index 642653259c34..c0e8e1292330 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "mcelog-${version}";
-  version = "160";
+  version = "161";
 
   src = fetchFromGitHub {
     owner  = "andikleen";
     repo   = "mcelog";
     rev    = "v${version}";
-    sha256 = "1m985wvdykl3003967lp1i7707qhwdj3h13cl8g1afjaip9ccd48";
+    sha256 = "1bqz53xgvwab3r487ihri3nvk7nsgjykdv8m993983vxsi2bgjmz";
   };
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index 86e9e0d3d4d0..7235d8415f55 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -5,14 +5,9 @@
 
 let
   statdPath = lib.makeBinPath [ systemd utillinux coreutils ];
+in
 
-  # Not nice; feel free to find a nicer solution.
-  kerberosEnv = buildEnv {
-    name = "kerberos-env-${kerberos.version}";
-    paths = with lib; [ (getDev kerberos) (getLib kerberos) ];
-  };
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "nfs-utils-${version}";
   version = "2.3.3";
 
@@ -34,10 +29,19 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  preConfigure =
+    ''
+      substituteInPlace configure \
+        --replace '$dir/include/gssapi' ${lib.getDev kerberos}/include/gssapi \
+        --replace '$dir/bin/krb5-config' ${lib.getDev kerberos}/bin/krb5-config
+    '';
+
+  #configureScript = "bash -x configure";
+
   configureFlags =
     [ "--enable-gss"
       "--with-statedir=/var/lib/nfs"
-      "--with-krb5=${kerberosEnv}"
+      "--with-krb5=${lib.getLib kerberos}"
       "--with-systemd=${placeholder "out"}/etc/systemd/system"
       "--enable-libmount-mount"
       "--with-pluginpath=${placeholder "lib"}/lib/libnfsidmap" # this installs libnfsidmap
@@ -97,6 +101,8 @@ in stdenv.mkDerivation rec {
   # One test fails on mips.
   doCheck = !stdenv.isMips;
 
+  disallowedReferences = [ (lib.getDev kerberos) ];
+
   meta = with stdenv.lib; {
     description = "Linux user-space NFS utilities";
 
diff --git a/pkgs/os-specific/linux/piper/default.nix b/pkgs/os-specific/linux/piper/default.nix
index 3e774faaffe2..a3ae0b74f126 100644
--- a/pkgs/os-specific/linux/piper/default.nix
+++ b/pkgs/os-specific/linux/piper/default.nix
@@ -1,5 +1,6 @@
 { stdenv, meson, ninja, pkgconfig, gettext, fetchFromGitHub, python3
-, wrapGAppsHook, gtk3, glib, desktop-file-utils, appstream-glib, gnome3 }:
+, wrapGAppsHook, gtk3, glib, desktop-file-utils, appstream-glib, gnome3
+, gobjectIntrospection }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "piper-${version}";
@@ -14,7 +15,7 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "1ny0vf8ym9v040cb5h084k5wwn929fnhq9infbdq8f8vvy61magb";
   };
 
-  nativeBuildInputs = [ meson ninja gettext pkgconfig wrapGAppsHook desktop-file-utils appstream-glib ];
+  nativeBuildInputs = [ meson ninja gettext pkgconfig wrapGAppsHook desktop-file-utils appstream-glib gobjectIntrospection ];
   buildInputs = [ gtk3 glib gnome3.defaultIconTheme python3 ];
   propagatedBuildInputs = with python3.pkgs; [ lxml evdev pygobject3 ];
 
diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix
index 8b3906dedb1f..68e51afdf1bb 100644
--- a/pkgs/os-specific/linux/psmisc/default.nix
+++ b/pkgs/os-specific/linux/psmisc/default.nix
@@ -15,7 +15,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoconf automake gettext ];
   buildInputs = [ ncurses ];
 
-  preConfigure = ''
+  preConfigure = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    # Goes past the rpl_malloc linking failure
+    export ac_cv_func_malloc_0_nonnull=yes
+    export ac_cv_func_realloc_0_nonnull=yes
+  '' + ''
     echo $version > .tarball-version
     ./autogen.sh
   '';
diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix
index a816a2139395..4f59828098c3 100644
--- a/pkgs/os-specific/linux/udisks/2-default.nix
+++ b/pkgs/os-specific/linux/udisks/2-default.nix
@@ -2,7 +2,7 @@
 , gnome3, gtk-doc, acl, systemd, glib, libatasmart, polkit, coreutils, bash
 , expat, libxslt, docbook_xsl, utillinux, mdadm, libgudev, libblockdev, parted
 , gobjectIntrospection, docbook_xml_dtd_412, docbook_xml_dtd_43
-, libxfs, f2fs-tools, dosfstools, e2fsprogs, btrfs-progs, exfat, nilfs-utils, ntfs3g
+, xfsprogs, f2fs-tools, dosfstools, e2fsprogs, btrfs-progs, exfat, nilfs-utils, ntfs3g
 }:
 
 let
@@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
     })
     (substituteAll {
       src = ./force-path.patch;
-      path = stdenv.lib.makeBinPath [ btrfs-progs coreutils dosfstools e2fsprogs exfat f2fs-tools nilfs-utils libxfs ntfs3g parted utillinux ];
+      path = stdenv.lib.makeBinPath [ btrfs-progs coreutils dosfstools e2fsprogs exfat f2fs-tools nilfs-utils xfsprogs ntfs3g parted utillinux ];
     })
   ];
 
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index 3837f06264b7..64b78d335f79 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -7,11 +7,11 @@ let inherit (stdenv.lib) optional optionals; in
 # Note: ATM only the libraries have been tested in nixpkgs.
 stdenv.mkDerivation rec {
   name = "knot-dns-${version}";
-  version = "2.7.2";
+  version = "2.7.3";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "cb70b2ee1c7ecbaad8774a1e0c449a68c6a6f7c9d60595524f003201d6e38431";
+    sha256 = "8717c0f34e441e96bc32bc93b48333ea9c094c5075f91575e40ac30fcf6692df";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 915144daa908..3e4d49108b71 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -14,11 +14,11 @@ let
   xf86videodummy = callPackage ./xf86videodummy { };
 in buildPythonApplication rec {
   pname = "xpra";
-  version = "2.3.3";
+  version = "2.3.4";
 
   src = fetchurl {
     url = "https://xpra.org/src/${pname}-${version}.tar.xz";
-    sha256 = "1azvvddjfq7lb5kmbn0ilgq2nf7pmymsc3b9lhbjld6w156qdv01";
+    sha256 = "0wa3kx54himy3i1b2801hlzfilh3cf4kjk40k1cjl0ds28m5hija";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/admin/fastlane/default.nix b/pkgs/tools/admin/fastlane/default.nix
index b9008c919bf3..8aba7524008b 100644
--- a/pkgs/tools/admin/fastlane/default.nix
+++ b/pkgs/tools/admin/fastlane/default.nix
@@ -1,11 +1,27 @@
-{ lib, bundlerEnv, ruby }:
+{ stdenv, bundlerEnv, ruby, makeWrapper }:
 
-bundlerEnv rec {
-  inherit ruby;
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
   pname = "fastlane";
-  gemdir = ./.;
+  version = (import ./gemset.nix).fastlane.version;
 
-  meta = with lib; {
+  nativeBuildInputs = [ makeWrapper ];
+
+  env = bundlerEnv {
+    name = "${name}-gems";
+    inherit pname ruby;
+    gemdir = ./.;
+  };
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    makeWrapper ${env}/bin/fastlane $out/bin/fastlane \
+     --set FASTLANE_SKIP_UPDATE_CHECK 1
+  '';
+
+  meta = with stdenv.lib; {
     description     = "A tool to automate building and releasing iOS and Android apps";
     longDescription = "fastlane is a tool for iOS and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application.";
     homepage        = https://github.com/fastlane/fastlane;
diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix
index 4886217211df..5430c2cb73e7 100644
--- a/pkgs/tools/archivers/p7zip/default.nix
+++ b/pkgs/tools/archivers/p7zip/default.nix
@@ -20,6 +20,10 @@ stdenv.mkDerivation rec {
 
     # I think this is a typo and should be CXX? Either way let's kill it
     sed -i '/XX=\/usr/d' makefile.macosx_llvm_64bits
+  '' + stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    substituteInPlace makefile.machine \
+      --replace 'CC=gcc'  'CC=${stdenv.cc.targetPrefix}gcc' \
+      --replace 'CXX=g++' 'CXX=${stdenv.cc.targetPrefix}g++'
   '';
 
   preConfigure = ''
diff --git a/pkgs/tools/audio/mpdsync/default.nix b/pkgs/tools/audio/mpdsync/default.nix
new file mode 100644
index 000000000000..51f5ba656168
--- /dev/null
+++ b/pkgs/tools/audio/mpdsync/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, python2, fetchFromGitHub }:
+with python2.pkgs;
+stdenv.mkDerivation {
+  name = "mpdsync-2017-06-15";
+
+  src = fetchFromGitHub {
+    owner = "alphapapa";
+    repo = "mpdsync";
+    rev = "da90058f44dd9578cc5f2fb96a1fb2b26da40d07";
+    sha256 = "1mfg3ipqj5dvyyqbgp6ia6sc1ja5gmm2c9mfrwx0jw2dl182if6q";
+  };
+
+  pythonPath = [ mpd2 ];
+
+  nativeBuildInputs = [
+    wrapPython
+  ];
+
+  dontBuild = true;
+
+  installPhase = "install -D mpdsync.py $out/bin/mpdsync";
+  postFixup = "wrapPythonPrograms";
+
+}
diff --git a/pkgs/tools/inputmethods/m17n-lib/otf.nix b/pkgs/tools/inputmethods/m17n-lib/otf.nix
index 6e13b4a949c4..95eea7641875 100644
--- a/pkgs/tools/inputmethods/m17n-lib/otf.nix
+++ b/pkgs/tools/inputmethods/m17n-lib/otf.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchurl, libXaw, freetype }:
+
 stdenv.mkDerivation rec {
   name = "libotf-0.9.16";
 
@@ -7,8 +8,16 @@ stdenv.mkDerivation rec {
     sha256 = "0sq6g3xaxw388akws6qrllp3kp2sxgk2dv4j79k6mm52rnihrnv8";
   };
 
+  outputs = [ "out" "dev" ];
+
   buildInputs = [ libXaw freetype ];
 
+  postInstall =
+    ''
+      mkdir -p $dev/bin
+      mv $out/bin/libotf-config $dev/bin/
+    '';
+
   meta = {
     homepage = http://www.nongnu.org/m17n/;
     description = "Multilingual text processing library (libotf)";
diff --git a/pkgs/tools/misc/cloc/default.nix b/pkgs/tools/misc/cloc/default.nix
index 0eff3f0c3916..5a69a6ae7ad2 100644
--- a/pkgs/tools/misc/cloc/default.nix
+++ b/pkgs/tools/misc/cloc/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "cloc-${version}";
-  version = "1.78";
+  version = "1.80";
 
   src = fetchFromGitHub {
     owner = "AlDanial";
     repo = "cloc";
-    rev = version;
-    sha256 = "030cnvl83hgynri3jimhhqp238375m1g6liqfiggl0habrnlbck2";
+    rev = "v${version}";
+    sha256 = "0zmkjpv4dbdr29x95j4i585wz4rxwlrkp6ldfr5wiw83h90n0ilp";
   };
 
   setSourceRoot = ''
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 582f8d8f05f9..fe8d1a8380fc 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
 
   postInstall = optionalString (stdenv.hostPlatform != stdenv.buildPlatform && !minimal) ''
     rm $out/share/man/man1/*
-    cp ${buildPackages.coreutils}/share/man/man1/* $out/share/man/man1
+    cp ${buildPackages.coreutils-full}/share/man/man1/* $out/share/man/man1
   ''
   # du: 8.7 M locale + 0.4 M man pages
   + optionalString minimal ''
diff --git a/pkgs/tools/misc/envdir-go/default.nix b/pkgs/tools/misc/envdir-go/default.nix
new file mode 100644
index 000000000000..ea08608da01c
--- /dev/null
+++ b/pkgs/tools/misc/envdir-go/default.nix
@@ -0,0 +1,27 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  version = "1.0.0";
+  name = "envdir-${version}";
+
+  goPackagePath = "github.com/d10n/envdir";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "d10n";
+    repo = "envdir";
+    sha256 = "1wdlblj127skgynf9amk7waabc3abbyxys9dvyc6c72zpcpdy5nc";
+  };
+
+  preBuild = ''
+   # TODO: is there a way to get the commit ref so we can set main.buildCommit?
+		buildFlagsArray+=("-ldflags" "-X main.buildDate=1970-01-01T00:00:00+0000 -X main.buildVersion=${version}")
+'';
+
+  meta = {
+    description = "A go rewrite of envdir";
+    homepage = https://github.com/d10n/envdir;
+    maintainers = with stdenv.lib.maintainers; [ edude03 ];
+  };
+}
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index 1753f52ab1b6..fd641ea613d5 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -23,6 +23,12 @@ stdenv.mkDerivation rec {
       stripLen = 1;
     });
 
+  postPatch = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform)
+    # XXX: Awful hack to allow cross-compilation.
+    '' sed -i ./configure \
+           -e 's/^as_fn_error .. \("cannot run test program while cross compiling\)/$as_echo \1/g'
+    ''; # "
+
   buildInputs = [ ncurses ] ++ stdenv.lib.optional stdenv.isLinux pam
                             ++ stdenv.lib.optional stdenv.isDarwin utmp;
 
diff --git a/pkgs/tools/misc/teleconsole/default.nix b/pkgs/tools/misc/teleconsole/default.nix
new file mode 100644
index 000000000000..2d3eb91250a8
--- /dev/null
+++ b/pkgs/tools/misc/teleconsole/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "teleconsole-${version}";
+  version = "0.4.0";
+
+  goPackagePath = "github.com/gravitational/teleconsole";
+
+  src = fetchFromGitHub {
+    owner = "gravitational";
+    repo = "teleconsole";
+    rev = version;
+    sha256 = "01552422n0bj1iaaw6pvg9l1qr66r69sdsngxbcdjn1xh3mj74sm";
+  };
+
+  goDeps = ./deps.nix;
+
+  CGO_ENABLED = 1;
+  buildFlags = "-ldflags";
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.teleconsole.com/";
+    description = "Share your terminal session with people you trust";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    # Builds for Aarch64 not possible in the current release due to
+    # incompatibilities further up the dependency chain.
+    # See:
+    #  - https://github.com/gravitational/teleport/issues/679
+    #  - https://github.com/kr/pty/issues/27
+    broken = stdenv.isAarch64;
+    maintainers = [ maintainers.kimburgess ];
+  };
+}
diff --git a/pkgs/tools/misc/teleconsole/deps.nix b/pkgs/tools/misc/teleconsole/deps.nix
new file mode 100644
index 000000000000..f13529d4b25a
--- /dev/null
+++ b/pkgs/tools/misc/teleconsole/deps.nix
@@ -0,0 +1,13 @@
+[
+    # Teleport v2.0.0-alpha.4 required for build.
+    # See https://github.com/gravitational/teleconsole/blob/09591f227c2a8df4c68af8bc4adfadfc596f4ed2/Makefile#L8
+    {
+      goPackagePath = "github.com/gravitational/teleport";
+      fetch = {
+        type = "git";
+        url = "https://github.com/gravitational/teleport";
+        rev = "2cb40abd8ea8fb2915304ea4888b5b9f3e5bc223";
+        sha256 = "1xw3bfnjbj88x465snwwzn4bmpmzmsrq9r0pkj388qwvfrclgnfk";
+      };
+    }
+]
diff --git a/pkgs/tools/misc/yubikey-manager/default.nix b/pkgs/tools/misc/yubikey-manager/default.nix
index c8c0ba706c36..140e322c862b 100644
--- a/pkgs/tools/misc/yubikey-manager/default.nix
+++ b/pkgs/tools/misc/yubikey-manager/default.nix
@@ -2,11 +2,11 @@
   yubikey-personalization, libu2f-host, libusb1 }:
 
 pythonPackages.buildPythonPackage rec {
-  name = "yubikey-manager-0.7.0";
+  name = "yubikey-manager-1.0.0";
 
   srcs = fetchurl {
     url = "https://developers.yubico.com/yubikey-manager/Releases/${name}.tar.gz";
-    sha256 = "13vvl3jc5wg6d4h5cpaf969apsbf72dxad560d02ly061ss856zr";
+    sha256 = "1qdb2b3mv4wafghnmv3sxw4fh7cjc06hnkdimfnwmqcjafzvbawd";
   };
 
   propagatedBuildInputs =
diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix
index 55abeb4f583d..101f2a635a4b 100644
--- a/pkgs/tools/networking/i2p/default.nix
+++ b/pkgs/tools/networking/i2p/default.nix
@@ -2,10 +2,10 @@
 
 let wrapper = stdenv.mkDerivation rec {
   name = "wrapper-${version}";
-  version = "3.5.32";
+  version = "3.5.35";
   src = fetchurl {
     url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz";
-    sha256 = "1v388p5jjbpwybw0zjv5glzny17fwdwppaci2lqcsnm6qw0667f1";
+    sha256 = "0mjyw9ays9v6lnj21pmfd3qdvd9b6rwxfmw3pg6z0kyf2jadixw2";
   };
   buildInputs = [ jdk ];
   buildPhase = ''
@@ -27,10 +27,10 @@ let wrapper = stdenv.mkDerivation rec {
 in
 
 stdenv.mkDerivation rec {
-  name = "i2p-0.9.35";
+  name = "i2p-0.9.37";
   src = fetchurl {
     url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz";
-    sha256 = "02p76vn1777lgv4zs27r6i9s4yk7b2x61b25i8dqmn6j60y3fa4g";
+    sha256 = "1lmqdqavy471s187y0lhckznlxx6id6h0dlwlyif2vr8c0pwv2q9";
   };
   buildInputs = [ jdk ant gettext which ];
   patches = [ ./i2p.patch ];
diff --git a/pkgs/tools/networking/ntp/default.nix b/pkgs/tools/networking/ntp/default.nix
index 8c4462c36bcf..de2fb1472aa9 100644
--- a/pkgs/tools/networking/ntp/default.nix
+++ b/pkgs/tools/networking/ntp/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     "--with-openssl-libdir=${openssl.out}/lib"
     "--with-openssl-incdir=${openssl.dev}/include"
     "--enable-ignore-dns-errors"
+    "--with-yielding-select=yes"
   ] ++ stdenv.lib.optional stdenv.isLinux "--enable-linuxcaps"
     ++ stdenv.lib.optional withSeccomp "--enable-libseccomp";
 
diff --git a/pkgs/tools/package-management/nix-index/default.nix b/pkgs/tools/package-management/nix-index/default.nix
index b5d66bec5cca..d0a81140fc83 100644
--- a/pkgs/tools/package-management/nix-index/default.nix
+++ b/pkgs/tools/package-management/nix-index/default.nix
@@ -1,20 +1,21 @@
-{ lib, rustPlatform, fetchFromGitHub, pkgconfig, openssl, curl }:
+{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, openssl, curl
+, Security
+}:
 
-with rustPlatform;
-
-buildRustPackage rec {
+rustPlatform.buildRustPackage rec {
   name = "nix-index-${version}";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "bennofs";
     repo = "nix-index";
     rev = "v${version}";
-    sha256 = "17pms3cq3i3jan1irxgqfr3nrjy6zb21y07pwqp9v08hyrjpfqin";
+    sha256 = "05fqfwz34n4ijw7ydw2n6bh4bv64rhks85cn720sy5r7bmhfmfa8";
   };
-  cargoSha256 = "0b7xwcgjds80g08sx91lqip8syb52n458si4q4xycvvsand5fa10";
+  cargoSha256 = "045qm7cyg3sdvf22i8b9cz8gsvggs5bn9xz8k1pvn5gxb7zj24cx";
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openssl curl];
+  buildInputs = [ openssl curl ]
+    ++ stdenv.lib.optional stdenv.isDarwin Security;
 
   postInstall = ''
     mkdir -p $out/etc/profile.d
@@ -23,7 +24,7 @@ buildRustPackage rec {
       --replace "@out@" "$out"
   '';
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "A files database for nixpkgs";
     homepage = https://github.com/bennofs/nix-index;
     license = with licenses; [ bsd3 ];
diff --git a/pkgs/tools/security/cfssl/default.nix b/pkgs/tools/security/cfssl/default.nix
index 2391ea1b859b..750539b3ace8 100644
--- a/pkgs/tools/security/cfssl/default.nix
+++ b/pkgs/tools/security/cfssl/default.nix
@@ -27,8 +27,8 @@ buildGoPackage rec {
   meta = with stdenv.lib; {
     homepage = https://cfssl.org/;
     description = "Cloudflare's PKI and TLS toolkit";
-    platforms = platforms.linux;
     license = licenses.bsd2;
     maintainers = with maintainers; [ mbrgm ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/security/duo-unix/default.nix b/pkgs/tools/security/duo-unix/default.nix
index 3ef07c44f501..a76e88772bcf 100644
--- a/pkgs/tools/security/duo-unix/default.nix
+++ b/pkgs/tools/security/duo-unix/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "duo-unix-${version}";
-  version = "1.10.4";
+  version = "1.10.5";
 
   src = fetchurl {
     url    = "https://dl.duosecurity.com/duo_unix-${version}.tar.gz";
-    sha256 = "1pbl6ii7sh66i277s5mqpnv092jd2q52qis3ar4lwy4mywfvrhjp";
+    sha256 = "1h88gwvbh8vwwga7d65iwa9qrmyx23wh5m0rmlv8qbx4fyj7q1f9";
   };
 
   buildInputs = [ pam openssl zlib ];
diff --git a/pkgs/tools/security/kbfs/default.nix b/pkgs/tools/security/kbfs/default.nix
index ff153fddf4d3..f5b2ba3803c8 100644
--- a/pkgs/tools/security/kbfs/default.nix
+++ b/pkgs/tools/security/kbfs/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "kbfs-${version}";
-  version = "2.5.0";
+  version = "2.6.0";
 
   goPackagePath = "github.com/keybase/kbfs";
   subPackages = [ "kbfsfuse" "kbfsgit/git-remote-keybase" ];
@@ -13,7 +13,7 @@ buildGoPackage rec {
     owner = "keybase";
     repo = "kbfs";
     rev = "v${version}";
-    sha256 = "196w7vvi49xpmzn9d75qr5a1b8w23931544kx9bkc9bbwbjfc4la";
+    sha256 = "0i4f1bc0gcnax572s749m7zcpy53a0f9yzi4lwc312zzxi7krz2f";
   };
 
   buildFlags = [ "-tags production" ];
diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix
index beea202a9562..555244bc38cd 100644
--- a/pkgs/tools/security/keybase/default.nix
+++ b/pkgs/tools/security/keybase/default.nix
@@ -4,7 +4,7 @@
 
 buildGoPackage rec {
   name = "keybase-${version}";
-  version = "2.5.0";
+  version = "2.7.3";
 
   goPackagePath = "github.com/keybase/client";
   subPackages = [ "go/keybase" ];
@@ -15,7 +15,7 @@ buildGoPackage rec {
     owner  = "keybase";
     repo   = "client";
     rev    = "v${version}";
-    sha256 = "0fa55nizld8q0szhlpsf75ifb53js3crh98xmf8mn4bvms7d0x09";
+    sha256 = "1sw6v3vf544vp8grw8p287cx078mr9v0v1wffcj6f9p9shlwj7ic";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [ AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox ];
diff --git a/pkgs/tools/security/keybase/gui.nix b/pkgs/tools/security/keybase/gui.nix
index c8bbe42c9d6a..8831f26a42d5 100644
--- a/pkgs/tools/security/keybase/gui.nix
+++ b/pkgs/tools/security/keybase/gui.nix
@@ -38,10 +38,10 @@ let
 in
 stdenv.mkDerivation rec {
   name = "keybase-gui-${version}";
-  version = "2.5.0-20180807164805.0fda758997";
+  version = "2.7.0-20180926133747.0d62c866fc";
   src = fetchurl {
     url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version}_amd64.deb";
-    sha256 = "135sm3h5i2h9j06py827psjbhhiqy1mb133s92p7jp6q1mhr8j1x";
+    sha256 = "0a0ax3skfw398vcjl7822qp7160lbll1snwdqsa13dy8qrjl1byp";
   };
   phases = ["unpackPhase" "installPhase" "fixupPhase"];
   unpackPhase = ''
diff --git a/pkgs/tools/security/pcsctools/default.nix b/pkgs/tools/security/pcsctools/default.nix
index 5b67a6d89ceb..42f1df8b3842 100644
--- a/pkgs/tools/security/pcsctools/default.nix
+++ b/pkgs/tools/security/pcsctools/default.nix
@@ -6,17 +6,15 @@
 let deps = lib.makeBinPath [ wget coreutils ];
 
 in stdenv.mkDerivation rec {
-  name = "pcsc-tools-1.4.25";
+  name = "pcsc-tools-1.5.3";
 
   src = fetchurl {
-    url = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools/${name}.tar.gz";
-    sha256 = "0iqcy28pb963ds4pjrpi37577vm6nkgf3i0b3rr978jy9qi1bix9";
+    url = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools/${name}.tar.bz2";
+    sha256 = "050x3yqd5ywl385zai3k1zhbm2lz1f5ksalfpm9hd86s50f03ans";
   };
 
   buildInputs = [ udev dbus perl pcsclite ];
 
-  makeFlags = [ "DESTDIR=$(out)" ];
-
   nativeBuildInputs = [ makeWrapper pkgconfig ];
 
   postInstall = ''
diff --git a/pkgs/tools/text/dos2unix/default.nix b/pkgs/tools/text/dos2unix/default.nix
index 2db82c36a72a..dd0d1bbc9410 100644
--- a/pkgs/tools/text/dos2unix/default.nix
+++ b/pkgs/tools/text/dos2unix/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     --replace /usr $out
     '';
 
-  buildInputs = [ perl gettext ];
+  nativeBuildInputs = [ perl gettext ];
 
   meta = with stdenv.lib; {
     homepage = http://waterlan.home.xs4all.nl/dos2unix.html;
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index fe0d3816413e..0abf0e608466 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -49,6 +49,11 @@ mapAliases ({
   bashCompletion = bash-completion; # Added 2016-09-28
   bridge_utils = bridge-utils;  # added 2015-02-20
   btrfsProgs = btrfs-progs; # added 2016-01-03
+  buildbot = pythonPackages.buildbot; # added 2018-10-11
+  buildbot-full = pythonPackages.buildbot-full; # added 2018-10-11
+  buildbot-pkg = pythonPackages.buildbot-pkg; # added 2018-10-11
+  buildbot-ui = pythonPackages.buildbot-ui; # added 2018-10-11
+  buildbot-worker = pythonPackages.buildbot-worker; # added 2018-10-11
   bundler_HEAD = bundler; # added 2015-11-15
   cantarell_fonts = cantarell-fonts; # added 2018-03-03
   checkbashism = checkbashisms; # added 2016-08-16
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7a47916d5900..8f4bc519285f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -963,6 +963,8 @@ with pkgs;
 
   brasero = callPackage ../tools/cd-dvd/brasero/wrapper.nix { };
 
+  brigand = callPackage ../development/libraries/brigand { };
+
   brltty = callPackage ../tools/misc/brltty {
     alsaSupport = (!stdenv.isDarwin);
     systemdSupport = stdenv.isLinux;
@@ -1298,6 +1300,8 @@ with pkgs;
 
   et = callPackage ../applications/misc/et {};
 
+  ejson = callPackage ../development/tools/ejson {};
+
   eternal-terminal = callPackage ../tools/networking/eternal-terminal {};
 
   f3 = callPackage ../tools/filesystems/f3 { };
@@ -1332,6 +1336,8 @@ with pkgs;
 
   fsmark = callPackage ../tools/misc/fsmark { };
 
+  futhark = haskell.lib.justStaticExecutables haskellPackages.futhark;
+
   fwup = callPackage ../tools/misc/fwup { };
 
   fzf = callPackage ../tools/misc/fzf { };
@@ -4323,9 +4329,7 @@ with pkgs;
 
   pulsemixer = callPackage ../tools/audio/pulsemixer { };
 
-  pwsafe = callPackage ../applications/misc/pwsafe {
-    wxGTK = wxGTK30;
-  };
+  pwsafe = callPackage ../applications/misc/pwsafe { };
 
   niff = callPackage ../tools/package-management/niff { };
 
@@ -4970,7 +4974,7 @@ with pkgs;
 
   redir = callPackage ../tools/networking/redir { };
 
-  redmine = callPackage ../applications/version-management/redmine { };
+  redmine = callPackage ../applications/version-management/redmine { ruby = pkgs.ruby_2_4; };
 
   redsocks = callPackage ../tools/networking/redsocks { };
 
@@ -5552,6 +5556,8 @@ with pkgs;
 
   teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { };
 
+  teleconsole = callPackage ../tools/misc/teleconsole { };
+
   telegraf = callPackage ../servers/monitoring/telegraf { };
 
   teleport = callPackage ../servers/teleport {};
@@ -8131,21 +8137,6 @@ with pkgs;
 
   buck = callPackage ../development/tools/build-managers/buck { };
 
-  buildbot = callPackage ../development/tools/build-managers/buildbot {
-    pythonPackages = python2Packages;
-  };
-  buildbot-worker = callPackage ../development/tools/build-managers/buildbot/worker.nix {
-    pythonPackages = python2Packages;
-  };
-  buildbot-pkg = callPackage ../development/tools/build-managers/buildbot/pkg.nix {
-    inherit (python2Packages) buildPythonPackage fetchPypi setuptools;
-  };
-  buildbot-plugins = callPackages ../development/tools/build-managers/buildbot/plugins.nix {
-    pythonPackages = python2Packages;
-  };
-  buildbot-ui = buildbot.withPlugins (with self.buildbot-plugins; [ www ]);
-  buildbot-full = buildbot.withPlugins (with self.buildbot-plugins; [ www console-view waterfall-view grid-view wsgi-dashboards ]);
-
   buildkite-agent = buildkite-agent2;
   buildkite-agent2 = callPackage ../development/tools/continuous-integration/buildkite-agent/2.x.nix { };
   buildkite-agent3 = callPackage ../development/tools/continuous-integration/buildkite-agent/3.x.nix { };
@@ -8260,6 +8251,8 @@ with pkgs;
 
   cppcheck = callPackage ../development/tools/analysis/cppcheck { };
 
+  cpplint = callPackage ../development/tools/analysis/cpplint { };
+
   cquery = callPackage ../development/tools/misc/cquery {
     llvmPackages = llvmPackages_6;
   };
@@ -8556,6 +8549,8 @@ with pkgs;
 
   kythe = callPackage ../development/tools/kythe { };
 
+  lazygit = callPackage ../development/tools/lazygit { };
+
   Literate = callPackage ../development/tools/literate-programming/Literate {};
 
   lcov = callPackage ../development/tools/analysis/lcov { };
@@ -8609,7 +8604,7 @@ with pkgs;
 
   msitools = callPackage ../development/tools/misc/msitools { };
 
-  multi-ghc-travis = haskell.lib.justStaticExecutables haskellPackages.multi-ghc-travis;
+  haskell-ci = haskell.lib.justStaticExecutables haskellPackages.haskell-ci;
 
   neoload = callPackage ../development/tools/neoload {
     licenseAccepted = (config.neoload.accept_license or false);
@@ -12371,6 +12366,8 @@ with pkgs;
 
   telepathy-qt = callPackage ../development/libraries/telepathy/qt { qtbase = qt4; };
 
+  termbox = callPackage ../development/libraries/termbox { };
+
   tevent = callPackage ../development/libraries/tevent {
     python = python2;
   };
@@ -12700,6 +12697,8 @@ with pkgs;
 
   yajl = callPackage ../development/libraries/yajl { };
 
+  yojimbo = callPackage ../development/libraries/yojimbo { };
+
   yubioath-desktop = callPackage ../applications/misc/yubioath-desktop { };
 
   yubico-piv-tool = callPackage ../tools/misc/yubico-piv-tool { };
@@ -15078,6 +15077,8 @@ with pkgs;
 
   envypn-font = callPackage ../data/fonts/envypn-font { };
 
+  envdir = callPackage ../tools/misc/envdir-go { };
+
   fantasque-sans-mono = callPackage ../data/fonts/fantasque-sans-mono {};
 
   fira = callPackage ../data/fonts/fira { };
@@ -21280,7 +21281,7 @@ with pkgs;
 
   libpoly = callPackage ../applications/science/logic/poly {};
 
-  prooftree = ocamlPackages.callPackage  ../applications/science/logic/prooftree { };
+  prooftree = callPackage  ../applications/science/logic/prooftree {};
 
   prover9 = callPackage ../applications/science/logic/prover9 { };
 
@@ -21682,6 +21683,8 @@ with pkgs;
 
   cups-brother-hl1110 = pkgsi686Linux.callPackage ../misc/cups/drivers/hl1110 { };
 
+  cups-googlecloudprint = callPackage ../misc/cups/drivers/googlecloudprint { };
+
   # this driver ships with pre-compiled 32-bit binary libraries
   cnijfilter_2_80 = pkgsi686Linux.callPackage ../misc/cups/drivers/cnijfilter_2_80 { };
 
@@ -21970,7 +21973,9 @@ with pkgs;
   nix-info = callPackage ../tools/nix/info { };
   nix-info-tested = nix-info.override { doCheck = true; };
 
-  nix-index = callPackage ../tools/package-management/nix-index { };
+  nix-index = callPackage ../tools/package-management/nix-index {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   nix-pin = callPackage ../tools/package-management/nix-pin { };
 
@@ -22111,6 +22116,8 @@ with pkgs;
 
   retrofe = callPackage ../misc/emulators/retrofe { };
 
+  rfc-bibtex = python3Packages.callPackage ../development/python-modules/rfc-bibtex { };
+
   rpl = callPackage ../tools/text/rpl {
     pythonPackages = python3Packages;
   };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index a15295db93b0..62b77b187bc7 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -190,7 +190,9 @@ in {
 
   astral = callPackage ../development/python-modules/astral { };
 
-  astropy = callPackage ../development/python-modules/astropy {  };
+  astropy = callPackage ../development/python-modules/astropy { };
+
+  atom = callPackage ../development/python-modules/atom { };
 
   augeas = callPackage ../development/python-modules/augeas {
     inherit (pkgs) augeas;
@@ -302,6 +304,8 @@ in {
 
   fido2 = callPackage ../development/python-modules/fido2 {  };
 
+  filterpy = callPackage ../development/python-modules/filterpy { };
+
   fire = callPackage ../development/python-modules/fire { };
 
   fuse = callPackage ../development/python-modules/fuse-python { fuse = pkgs.fuse; };
@@ -734,7 +738,8 @@ in {
   # argparse is part of stdlib in 2.7 and 3.2+
   argparse = null;
 
-  astroid = callPackage ../development/python-modules/astroid { };
+  astroid = if isPy3k then callPackage ../development/python-modules/astroid { }
+            else callPackage ../development/python-modules/astroid/1.6.nix { };
 
   attrdict = callPackage ../development/python-modules/attrdict { };
 
@@ -746,9 +751,7 @@ in {
 
   autopep8 = callPackage ../development/python-modules/autopep8 { };
 
-  av = callPackage ../development/python-modules/av {
-    inherit (pkgs) ffmpeg_2 git libav pkgconfig;
-  };
+  av = callPackage ../development/python-modules/av { };
 
   avro = callPackage ../development/python-modules/avro {};
 
@@ -1418,6 +1421,13 @@ in {
 
   bugzilla = callPackage ../development/python-modules/bugzilla { };
 
+  buildbot = callPackage ../development/python-modules/buildbot { };
+  buildbot-plugins = pkgs.recurseIntoAttrs (callPackage ../development/python-modules/buildbot/plugins.nix { });
+  buildbot-ui = self.buildbot.withPlugins (with self.buildbot-plugins; [ www ]);
+  buildbot-full = self.buildbot.withPlugins (with self.buildbot-plugins; [ www console-view waterfall-view grid-view wsgi-dashboards ]);
+  buildbot-worker = callPackage ../development/python-modules/buildbot/worker.nix { };
+  buildbot-pkg = callPackage ../development/python-modules/buildbot/pkg.nix { };
+
   check-manifest = callPackage ../development/python-modules/check-manifest { };
 
   devpi-common = callPackage ../development/python-modules/devpi-common { };
@@ -1969,32 +1979,7 @@ in {
 
   pytest-sugar = callPackage ../development/python-modules/pytest-sugar { };
 
-  tinycss = buildPythonPackage rec {
-    name = "tinycss-${version}";
-    version = "0.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/tinycss/${name}.tar.gz";
-      sha256 = "1pichqra4wk86142hqgvy9s5x6c5k5zhy8l9qxr0620pqk8spbd4";
-    };
-
-    buildInputs = with self; [ pytest ];
-
-    propagatedBuildInputs = with self; [ cssutils ];
-
-    checkPhase = ''
-      py.test $out/${python.sitePackages}
-    '';
-
-    # Disable Cython tests for PyPy
-    TINYCSS_SKIP_SPEEDUPS_TESTS = optional isPyPy true;
-
-    meta = {
-      description = "Complete yet simple CSS parser for Python";
-      license = licenses.bsd3;
-      homepage = https://pythonhosted.org/tinycss/;
-    };
-  };
+  tinycss = callPackage ../development/python-modules/tinycss { };
 
   tinycss2 = callPackage ../development/python-modules/tinycss2 { };
 
@@ -2223,25 +2208,7 @@ in {
 
   enzyme = callPackage ../development/python-modules/enzyme {};
 
-  escapism = buildPythonPackage rec {
-    name = "escapism-${version}";
-    version = "0.0.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/e/escapism/${name}.tar.gz";
-      sha256 = "1yfyxwxb864xrmrrqgp85xgsh4yrrq5mmzvkdg19jwr7rm6sqx9p";
-    };
-
-    # No tests distributed
-    doCheck = false;
-
-    meta = {
-      description = "Simple, generic API for escaping strings";
-      homepage = "https://github.com/minrk/escapism";
-      license = licenses.mit;
-      maintainers = with maintainers; [ bzizou ];
-    };
-  };
+  escapism = callPackage ../development/python-modules/escapism { };
 
   etcd = buildPythonPackage rec {
     name = "etcd-${version}";
@@ -10242,7 +10209,8 @@ in {
 
   pygpgme = callPackage ../development/python-modules/pygpgme { };
 
-  pylint = callPackage ../development/python-modules/pylint { };
+  pylint = if isPy3k then callPackage ../development/python-modules/pylint { }
+           else callPackage ../development/python-modules/pylint/1.9.nix { };
 
   pyopencl = callPackage ../development/python-modules/pyopencl { };
 
@@ -12993,26 +12961,7 @@ in {
     };
   });
 
-  sphinx-jinja = buildPythonPackage (rec {
-    name = "${pname}-${version}";
-    pname = "sphinx-jinja";
-    version = "0.2.1";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/${pname}/${name}.tar.gz";
-      sha256 = "1zsnhc573rvaww9qqyzs4f5h4hhvxklvppv14450vi5dk8rij81z";
-    };
-    buildInputs = with self; [ sphinx-testing pytest pbr];
-    propagatedBuildInputs = with self; [ sphinx blockdiag ];
-    checkPhase = ''
-      py.test -k "not test_build_epub"
-    '';
-    disabled = isPy3k;
-    meta = {
-      description = "includes jinja templates in a documentation";
-      maintainers = with maintainers; [ nand0p ];
-      license = licenses.mit;
-    };
-  });
+  sphinx-jinja = callPackage ../development/python-modules/sphinx-jinja { };
 
   sphinx_pypi_upload = buildPythonPackage (rec {
     name = "Sphinx-PyPI-upload-0.2.1";
@@ -13345,24 +13294,7 @@ in {
     };
   };
 
-  tempita = buildPythonPackage rec {
-    version = "0.5.2";
-    name = "tempita-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/T/Tempita/Tempita-${version}.tar.gz";
-      sha256 = "cacecf0baa674d356641f1d406b8bff1d756d739c46b869a54de515d08e6fc9c";
-    };
-
-    disabled = isPy3k;
-
-    buildInputs = with self; [ nose ];
-
-    meta = {
-      homepage = http://pythonpaste.org/tempita/;
-      description = "A very small text templating language";
-    };
-  };
+  tempita = callPackage ../development/python-modules/tempita { };
 
   terminado = callPackage ../development/python-modules/terminado { };
 
diff --git a/pkgs/top-level/splice.nix b/pkgs/top-level/splice.nix
index 41fdc22d1477..82a781083e2c 100644
--- a/pkgs/top-level/splice.nix
+++ b/pkgs/top-level/splice.nix
@@ -24,15 +24,6 @@
 lib: pkgs: actuallySplice:
 
 let
-  defaultBuildBuildScope = pkgs.buildPackages.buildPackages // pkgs.buildPackages.buildPackages.xorg;
-  defaultBuildHostScope = pkgs.buildPackages // pkgs.buildPackages.xorg;
-  defaultBuildTargetScope =
-    if pkgs.stdenv.targetPlatform == pkgs.stdenv.hostPlatform
-    then defaultBuildHostScope
-    else assert pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform; defaultHostTargetScope;
-  defaultHostHostScope = {}; # unimplemented
-  defaultHostTargetScope = pkgs // pkgs.xorg;
-  defaultTargetTargetScope = pkgs.targetPackages // pkgs.targetPackages.xorg or {};
 
   spliceReal = { pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
                , pkgsHostHost, pkgsHostTarget
@@ -105,19 +96,24 @@ let
                    } @ args:
     if actuallySplice then spliceReal args else pkgsHostTarget;
 
-  splicedPackages = splicePackages {
-    pkgsBuildBuild = defaultBuildBuildScope;
-    pkgsBuildHost = defaultBuildHostScope;
-    pkgsBuildTarget = defaultBuildTargetScope;
-    pkgsHostHost = defaultHostHostScope;
-    pkgsHostTarget = defaultHostTargetScope;
-    pkgsTargetTarget = defaultTargetTargetScope;
+  splicedPackages = splicePackages rec {
+    pkgsBuildBuild = pkgs.buildPackages.buildPackages;
+    pkgsBuildHost = pkgs.buildPackages;
+    pkgsBuildTarget =
+      if pkgs.stdenv.targetPlatform == pkgs.stdenv.hostPlatform
+      then pkgsBuildHost
+      else assert pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform; pkgsHostTarget;
+    pkgsHostHost = {}; # unimplemented
+    pkgsHostTarget = pkgs;
+    pkgsTargetTarget = pkgs.targetPackages;
   } // {
     # These should never be spliced under any circumstances
     inherit (pkgs) pkgs buildPackages targetPackages;
     inherit (pkgs.stdenv) buildPlatform targetPlatform hostPlatform;
   };
 
+  splicedPackagesWithXorg = splicedPackages // splicedPackages.xorg;
+
 in
 
 {
@@ -128,9 +124,9 @@ in
   # `newScope' for sets of packages in `pkgs' (see e.g. `gnome' below).
   callPackage = pkgs.newScope {};
 
-  callPackages = lib.callPackagesWith splicedPackages;
+  callPackages = lib.callPackagesWith splicedPackagesWithXorg;
 
-  newScope = extra: lib.callPackageWith (splicedPackages // extra);
+  newScope = extra: lib.callPackageWith (splicedPackagesWithXorg // extra);
 
   # Haskell package sets need this because they reimplement their own
   # `newScope`.