summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/languages-frameworks/ruby.xml2
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/mail/nullmailer.nix217
-rw-r--r--nixos/modules/services/misc/gitlab.nix1
-rw-r--r--pkgs/applications/altcoins/bitcoin-unlimited.nix4
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevelop.nix13
-rw-r--r--pkgs/applications/misc/openbrf/default.nix24
-rw-r--r--pkgs/applications/networking/instant-messengers/qtox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix6
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix4
-rw-r--r--pkgs/applications/science/misc/openmvs/default.nix45
-rw-r--r--pkgs/applications/video/streamlink/default.nix4
-rw-r--r--pkgs/applications/virtualization/virt-manager/qt.nix4
-rw-r--r--pkgs/data/fonts/fontconfig-penultimate/default.nix4
-rw-r--r--pkgs/data/misc/iana-etc/default.nix4
-rw-r--r--pkgs/development/compilers/souper/default.nix9
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix34
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml7
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix8
-rw-r--r--pkgs/development/libraries/vcg/default.nix14
-rw-r--r--pkgs/development/python-modules/whoosh/default.nix30
-rw-r--r--pkgs/development/tools/build-managers/buildbot/default.nix18
-rw-r--r--pkgs/development/tools/build-managers/buildbot/plugins.nix16
-rw-r--r--pkgs/development/tools/build-managers/buildbot/worker.nix4
-rw-r--r--pkgs/development/tools/misc/checkbashisms/default.nix19
-rw-r--r--pkgs/games/stepmania/default.nix16
-rw-r--r--pkgs/os-specific/linux/hdparm/default.nix4
-rw-r--r--pkgs/servers/mail/nullmailer/default.nix51
-rw-r--r--pkgs/tools/filesystems/dosfstools/default.nix7
-rw-r--r--pkgs/tools/networking/openvpn/default.nix4
-rw-r--r--pkgs/tools/security/afl/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix6
-rw-r--r--pkgs/top-level/python-packages.nix35
33 files changed, 456 insertions, 167 deletions
diff --git a/doc/languages-frameworks/ruby.xml b/doc/languages-frameworks/ruby.xml
index 3c6e4f5e01a4..b13da92dcc41 100644
--- a/doc/languages-frameworks/ruby.xml
+++ b/doc/languages-frameworks/ruby.xml
@@ -46,7 +46,7 @@ bundlerEnv rec {
 so it has all the libraries necessary for <literal>sensu</literal> in its paths. The second one can be used to make derivations from custom Ruby scripts which have
 <filename>Gemfile</filename>s with their dependencies specified. It is a derivation with <command>ruby</command> wrapped so it can find all the needed dependencies.
 For example, to make a derivation <literal>my-script</literal> for a <filename>my-script.rb</filename> (which should be placed in <filename>bin</filename>) you should
-run <command>bundix</command> as specified above and then use <literal>bundlerEnv</literal> lile this:</para>
+run <command>bundix</command> as specified above and then use <literal>bundlerEnv</literal> like this:</para>
 
 <programlisting>
 <![CDATA[let env = bundlerEnv {
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 15d7caed38a3..04f6e6c60e8b 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -256,6 +256,7 @@
   ./services/mail/spamassassin.nix
   ./services/mail/rspamd.nix
   ./services/mail/rmilter.nix
+  ./services/mail/nullmailer.nix
   ./services/misc/apache-kafka.nix
   ./services/misc/autofs.nix
   ./services/misc/autorandr.nix
diff --git a/nixos/modules/services/mail/nullmailer.nix b/nixos/modules/services/mail/nullmailer.nix
new file mode 100644
index 000000000000..b2c738ab6ebd
--- /dev/null
+++ b/nixos/modules/services/mail/nullmailer.nix
@@ -0,0 +1,217 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+
+  options = {
+
+    services.nullmailer = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to enable nullmailer daemon.";
+      };
+
+      user = mkOption {
+        type = types.string;
+        default = "nullmailer";
+        description = ''
+          User to use to run nullmailer-send.
+        '';
+      };
+
+      group = mkOption {
+        type = types.string;
+        default = "nullmailer";
+        description = ''
+          Group to use to run nullmailer-send.
+        '';
+      };
+
+      setSendmail = mkOption {
+        type = types.bool;
+        default = true;
+        description = "Whether to set the system sendmail to nullmailer's.";
+      };
+
+      config = {
+        adminaddr = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            If set, all recipients to users at either "localhost" (the literal string)
+            or the canonical host name (from the me control attribute) are remapped to this address.
+            This is provided to allow local daemons to be able to send email to
+            "somebody@localhost" and have it go somewhere sensible instead of being  bounced
+            by your relay host. To send to multiple addresses,
+            put them all on one line separated by a comma.
+          '';
+        };
+
+        allmailfrom = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            If set, content will override the envelope sender on all messages.
+          '';
+        };
+
+        defaultdomain = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+             The content of this attribute is appended to any host name that
+             does not contain a period (except localhost), including defaulthost
+             and idhost. Defaults to the value of the me attribute, if it exists,
+             otherwise the literal name defauldomain.
+          '';
+        };
+
+        defaulthost = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+             The content of this attribute is appended to any address that
+             is missing a host name. Defaults to the value of the me control
+             attribute, if it exists, otherwise the literal name defaulthost.
+          '';
+        };
+
+        doublebounceto = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            If the original sender was empty (the original message was a
+            delivery status or disposition notification), the double bounce
+            is sent to the address in this attribute.
+          '';
+        };
+
+        helohost = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            Sets  the  environment variable $HELOHOST which is used by the
+            SMTP protocol module to set the parameter given to the HELO command.
+            Defaults to the value of the me configuration attribute.
+          '';
+        };
+
+        idhost = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            The content of this attribute is used when building the message-id
+            string for the message. Defaults to the canonicalized value of defaulthost.
+          '';
+        };
+
+        maxpause = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+             The maximum time to pause between successive queue runs, in seconds.
+             Defaults to 24 hours (86400).
+          '';
+        };
+
+        me = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+             The fully-qualifiled host name of the computer running nullmailer.
+             Defaults to the literal name me.
+          '';
+        };
+
+        pausetime = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            The minimum time to pause between successive queue runs when there
+            are messages in the queue, in seconds. Defaults to 1 minute (60).
+            Each time this timeout is reached, the timeout is doubled to a
+            maximum of maxpause. After new messages are injected, the timeout
+            is reset.  If this is set to 0, nullmailer-send will exit
+            immediately after going through the queue once (one-shot mode).
+          '';
+        };
+
+        remotes = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            If set, content will override the envelope sender on all messages.
+          '';
+        };
+
+        sendtimeout = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            The  time to wait for a remote module listed above to complete sending
+            a message before killing it and trying again, in seconds.
+            Defaults to 1 hour (3600).  If this is set to 0, nullmailer-send
+            will wait forever for messages to complete sending.
+          '';
+        };
+      };
+    };
+  };
+
+  config = let
+    cfg = config.services.nullmailer;
+  in mkIf cfg.enable {
+
+    environment = {
+      systemPackages = [ pkgs.nullmailer ];
+      etc = let
+        getval  = attr: builtins.getAttr attr cfg.config;
+        attrs   = builtins.attrNames cfg.config;
+        attrs'  = builtins.filter (attr: ! isNull (getval attr)) attrs;
+      in foldl' (as: attr: as // { "nullmailer/${attr}".text = getval attr; }) {} attrs';
+    };
+
+    users = {
+      extraUsers = singleton {
+        name = cfg.user;
+        description = "Nullmailer relay-only mta user";
+        group = cfg.group;
+      };
+
+      extraGroups = singleton {
+        name = cfg.group;
+      };
+    };
+
+    systemd.services.nullmailer = {
+      description = "nullmailer";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+
+      preStart = ''
+        mkdir -p /var/spool/nullmailer/{queue,tmp}
+        rm -f var/spool/nullmailer/trigger && mkfifo -m 660 /var/spool/nullmailer/trigger
+        chown ${cfg.user} /var/spool/nullmailer/*
+      '';
+
+      serviceConfig = {
+        User = cfg.user;
+        Group = cfg.group;
+        PermissionsStartOnly=true;
+        ExecStart = "${pkgs.nullmailer}/bin/nullmailer-send";
+        Restart = "always";
+      };
+    };
+
+    services.mail.sendmailSetuidWrapper = mkIf cfg.setSendmail {
+      program = "sendmail";
+      source = "${pkgs.nullmailer}/bin/sendmail";
+      owner = cfg.user;
+      group = cfg.group;
+      setuid = true;
+      setgid = true;
+    };
+  };
+}
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index ee881edb5ab0..0ed5a539e7dd 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -440,6 +440,7 @@ in {
       path = with pkgs; [
         gitAndTools.git
         openssh
+        gitlab-workhorse
       ];
       preStart = ''
         mkdir -p /run/gitlab
diff --git a/pkgs/applications/altcoins/bitcoin-unlimited.nix b/pkgs/applications/altcoins/bitcoin-unlimited.nix
index 597e74a34d01..2ad8e3fb3500 100644
--- a/pkgs/applications/altcoins/bitcoin-unlimited.nix
+++ b/pkgs/applications/altcoins/bitcoin-unlimited.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
-  version = "1.0.1.4";
+  version = "1.0.2.0";
 
   src = fetchFromGitHub {
     owner = "bitcoinunlimited";
     repo = "bitcoinunlimited";
     rev = "v${version}";
-    sha256 = "1awsgkgqvb57grrsq6k99009rzhpfaplh2lbf5sy36v3bh7p5mw5";
+    sha256 = "0rhk6xvzvzyfppg0pgq72nqgm2rmkiw0nhg3rwnzcvvj90nrz3da";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix
index facd1206a00e..9191d7a66537 100644
--- a/pkgs/applications/editors/kdevelop5/kdevelop.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, gettext, pkgconfig, extra-cmake-modules, makeQtWrapper
-, qtquickcontrols, qtwebkit, qttools
+, qtquickcontrols, qtwebkit, qttools, kde-cli-tools
 , kconfig, kdeclarative, kdoctools, kiconthemes, ki18n, kitemmodels, kitemviews
 , kjobwidgets, kcmutils, kio, knewstuff, knotifyconfig, kparts, ktexteditor
 , threadweaver, kxmlgui, kwindowsystem, grantlee
@@ -36,7 +36,16 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapQtProgram "$out/bin/kdevelop"
-    wrapProgram "$out/bin/kdevelop!" --prefix PATH ":" "${qttools}/bin"
+    
+    # The kdevelop! script (shell environment) needs qdbus and kioclient5 in PATH.
+    wrapProgram "$out/bin/kdevelop!" --prefix PATH ":" "${qttools}/bin:${kde-cli-tools}/bin"
+    
+    # Fix the (now wrapped) kdevelop! to find things in right places:
+    # - Make KDEV_BASEDIR point to bin directory of kdevplatform.
+    kdev_fixup_sed="s|^export KDEV_BASEDIR=.*$|export KDEV_BASEDIR=${kdevplatform}/bin|"
+    # - Fixup the one use where KDEV_BASEDIR is assumed to contain kdevelop.
+    kdev_fixup_sed+=";s|\\\$KDEV_BASEDIR/kdevelop|$out/bin/kdevelop|"
+    sed -E -i "$kdev_fixup_sed" "$out/bin/.kdevelop!-wrapped"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/openbrf/default.nix b/pkgs/applications/misc/openbrf/default.nix
index 36218b6d5079..50c8fc7bcecd 100644
--- a/pkgs/applications/misc/openbrf/default.nix
+++ b/pkgs/applications/misc/openbrf/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchFromGitHub, qt4, qmake4Hook, vcg, glew }:
+{ stdenv, fetchFromGitHub, qtbase, vcg, glew, qmakeHook, makeQtWrapper, mesa }:
+
 
 stdenv.mkDerivation {
-  name = "openbrf-2016-01-09";
+  name = "openbrf-unstable-2016-01-09";
 
   src = fetchFromGitHub {
     owner = "cfcohen";
     repo = "openbrf";
-    rev = "c18d7431e1d499cee11586f4a035fb5fdc0d3330";
-    sha256 = "0laikpz0ljz7l5fgapwj09ygizmvj1iywnpfgfd0i14j46s134xb";
+    rev = "4bdc66e38def5e5184f5379c84a7558b7484c70a";
+    sha256 = "16254cnr60ihcn7bki7wl1qm6gkvzb99cn66md1pnb7za8nvzf4j";
   };
 
-  buildInputs = [ qt4 qmake4Hook vcg glew ];
+  buildInputs = [ qtbase vcg glew ];
+  nativeBuildInputs = [ qmakeHook makeQtWrapper ];
 
   enableParallelBuilding = true;
 
@@ -21,9 +23,19 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    install -Dm755 openBrf $out/bin/openBrf
+    install -Dm755 openBrf $out/share/openBrf/openBrf
+    install -Dm644 carry_positions.txt $out/share/openBrf/carry_positions.txt
+    install -Dm644 reference.brf $out/share/openBrf/reference.brf
+
+    patchelf  \
+      --set-rpath "${stdenv.lib.makeLibraryPath [ qtbase glew stdenv.cc.cc mesa ]}" \
+      $out/share/openBrf/openBrf
+
+    makeQtWrapper "$out/share/openBrf/openBrf" "$out/bin/openBrf"
   '';
 
+  dontPatchELF = true;
+
   meta = with stdenv.lib; {
     description = "A tool to edit resource files (BRF)";
     homepage = "https://github.com/cfcohen/openbrf";
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
index ea12bc4bc8c7..bb5e26f33105 100644
--- a/pkgs/applications/networking/instant-messengers/qtox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "qtox-${version}";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner  = "tux3";
     repo   = "qTox";
     rev    = "v${version}";
-    sha256 = "00pbb788147qxpzj3kfp6x6a9w2h8rmz0sdwfzzdjh1qyb43d4q0";
+    sha256 = "1c5y7fwhsq1f6z8208xl1jd6bl1r6k8g0fjqxf0z10373c9395jq";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index 20abda9ea6f0..aa89e802cb26 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -4,7 +4,7 @@
 
 let
 
-  version = "5.1.0.1";
+  version = "5.2.0.1";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -49,8 +49,8 @@ let
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = "https://repo.skype.com/latest/skypeforlinux-64.deb";
-        sha256 = "18v861x0n2q2jaglap8193sia476dwkwr0ccfzl29mi5ijma24ml";
+        url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_5.2.0.1_amd64.deb";
+        sha256 = "1dwyj5wm2amkysbnzxsskq6sl7rbqggm6n4sabnq7wd5xnbq4i06";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index 00d1c8d9bc91..17816e6a7355 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -21,12 +21,12 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "1.7.1";
+  version = "1.8";
   name = "weechat-${version}";
 
   src = fetchurl {
     url = "http://weechat.org/files/src/weechat-${version}.tar.bz2";
-    sha256 = "1020m1lsm8lg9n0dlxgp2wbn9b0r11g8r0namnzi2x6gvxn7iyf0";
+    sha256 = "10km0437lg9ms6f16h20s89l2w9f9g597rykybxb16s95ql48z08";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/pkgs/applications/science/misc/openmvs/default.nix b/pkgs/applications/science/misc/openmvs/default.nix
new file mode 100644
index 000000000000..177f8ca25649
--- /dev/null
+++ b/pkgs/applications/science/misc/openmvs/default.nix
@@ -0,0 +1,45 @@
+{ lib, stdenv, fetchFromGitHub, pkgconfig, cmake
+, eigen, opencv, ceres-solver, cgal, boost, vcg
+, gmp, mpfr, glog, google-gflags, libjpeg_turbo }:
+
+stdenv.mkDerivation rec {
+  name = "openmvs-unstable-2017-05-01";
+
+  src = fetchFromGitHub {
+    owner = "cdcseacave";
+    repo = "openmvs";
+
+    rev = "a3b360016660a1397f6eb6c070c2c19bbb4c7590";
+    sha256 = "170ff4ipix2kqq5rhb1yrrcvc79im9qgp5hiwsdr23xxzdl21221";
+  };
+
+  buildInputs = [ eigen opencv ceres-solver cgal boost vcg gmp mpfr glog google-gflags libjpeg_turbo ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  preConfigure = ''
+    cmakeFlagsArray=(
+      $cmakeFlagsArray
+      "-DCMAKE_CXX_FLAGS=-std=c++11"
+      "-DBUILD_SHARED_LIBS=ON"
+      "-DBUILD_STATIC_RUNTIME=ON"
+      "-DINSTALL_BIN_DIR=$out/bin"
+      "-DVCG_DIR=${vcg}"
+      "-DCERES_DIR=${ceres-solver}/lib/cmake/Ceres/"
+    )
+  '';
+
+  cmakeDir = "./";
+
+  dontUseCmakeBuildDir = true;
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A library for computer-vision scientists and especially targeted to the Multi-View Stereo reconstruction community";
+    homepage = http://cdcseacave.github.io/openMVS/;
+    license = licenses.agpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ mdaiter ];
+  };
+}
diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix
index 4891592bc7e4..513eea07ceda 100644
--- a/pkgs/applications/video/streamlink/default.nix
+++ b/pkgs/applications/video/streamlink/default.nix
@@ -1,14 +1,14 @@
 { stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "0.5.0";
+  version = "0.6.0";
   name = "streamlink-${version}";
 
   src = fetchFromGitHub {
     owner = "streamlink";
     repo = "streamlink";
     rev = "${version}";
-    sha256 = "08q7f1fnm3zhs1knrkl6npr4yvpblqbiwa0m9r186ny11jq2dyib";
+    sha256 = "0602mybh9qrxbalnpg930prjfmfkfiwdyr6iz4byfzv0qrwa08yq";
   };
 
   buildInputs = with pythonPackages; [ pytest mock ];
diff --git a/pkgs/applications/virtualization/virt-manager/qt.nix b/pkgs/applications/virtualization/virt-manager/qt.nix
index 1952102e71a2..25a70ee9bce3 100644
--- a/pkgs/applications/virtualization/virt-manager/qt.nix
+++ b/pkgs/applications/virtualization/virt-manager/qt.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "virt-manager-qt-${version}";
-  version = "0.42.67";
+  version = "0.43.70";
 
   src = fetchFromGitHub {
     owner  = "F1ash";
     repo   = "qt-virt-manager";
     rev    = "${version}";
-    sha256 = "0hskaffc84wf8h9qck5xg840jw8x2krfy6cw4hqnq946z9lbyanr";
+    sha256 = "0d8g0pg15cyi450qgkgi7fh83wkxcqfpphgsh5q10r6jjl87166x";
   };
 
   cmakeFlags = [
diff --git a/pkgs/data/fonts/fontconfig-penultimate/default.nix b/pkgs/data/fonts/fontconfig-penultimate/default.nix
index 148cbb2f8c1d..13e833bfe363 100644
--- a/pkgs/data/fonts/fontconfig-penultimate/default.nix
+++ b/pkgs/data/fonts/fontconfig-penultimate/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub }:
 
-let version = "0.3.3"; in
+let version = "0.3.4"; in
 stdenv.mkDerivation {
   name = "fontconfig-penultimate-${version}";
 
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     owner = "ttuegel";
     repo = "fontconfig-penultimate";
     rev = version;
-    sha256 = "0392lw31jps652dcjazln77ihb6bl7gk201gb7wb9i223avp86w9";
+    sha256 = "00vrw82dg1jyg65hhsg46rmg063rsls94hn6b8491mmvnzr0kgh2";
   };
 
   installPhase = ''
diff --git a/pkgs/data/misc/iana-etc/default.nix b/pkgs/data/misc/iana-etc/default.nix
index ed70de517abe..842b031c6bed 100644
--- a/pkgs/data/misc/iana-etc/default.nix
+++ b/pkgs/data/misc/iana-etc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "iana-etc-${version}";
-  version = "20170417";
+  version = "20170512";
 
   src = fetchurl {
     url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz";
-    sha256 = "0gzv8ldyf3g70m4k3m50p2gbqwvxa343v2q4xcnl1jqfgw9db5wf";
+    sha256 = "0zx2ag894qldvrv8f4hs84644kdcp8a83gjg33xsw8rrn38gll2a";
   };
 
   installPhase = ''
diff --git a/pkgs/development/compilers/souper/default.nix b/pkgs/development/compilers/souper/default.nix
index 6ea135ea9906..327139ce0455 100644
--- a/pkgs/development/compilers/souper/default.nix
+++ b/pkgs/development/compilers/souper/default.nix
@@ -9,14 +9,15 @@ let
     rev   = "57cd3d43056b029d9da3c6b3c666c4153554c04f";
     sha256 = "197wb7nbirlfpx2jr3afpjjhcj7slc4dxxi02j3kmazz9kcqaygz";
   };
-in stdenv.mkDerivation {
-  name = "souper-unstable-2017-03-07";
+in stdenv.mkDerivation rec {
+  name = "souper-unstable-${version}";
+  version = "2017-03-23";
 
   src = fetchFromGitHub {
     owner  = "google";
     repo   = "souper";
-    rev    = "5faed54ddc4a0e0e12647a0eac1da455a1067a47";
-    sha256 = "1v8ml94ryw5wdls9syvicx4sc9l34yaq8r7cf7is6x7y1q677rps";
+    rev    = "cf2911d2eb1e7c8ab465df5a722fa5cdac06e6fc";
+    sha256 = "1kg08a1af4di729pn1pip2lzqzlvjign6av95214f5rr3cq2q0cl";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index b54a5b72235d..67fe44157877 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -66,7 +66,7 @@ self: super: {
     src = pkgs.fetchgit {
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + drv.version;
-      sha256 = "0irvzwpwxxdy6qs7jj81r6qk7i1gkkqyaza4wcm0phyyn07yh2sz";
+      sha256 = "0i08zxk68kbg6k0d9af97r9nr5vidsy63hx22fdp7c5jp64f967q";
     };
   }))).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@@ -860,34 +860,4 @@ self: super: {
 
   # https://github.com/danidiaz/tailfile-hinotify/issues/2
   tailfile-hinotify = dontCheck super.tailfile-hinotify;
-} // (let scope' = self: super: {
-            haskell-tools-ast = super.haskell-tools-ast_0_6_0_0;
-            haskell-tools-backend-ghc = super.haskell-tools-backend-ghc_0_6_0_0;
-            haskell-tools-cli = super.haskell-tools-cli_0_6_0_0;
-            haskell-tools-daemon = super.haskell-tools-daemon_0_6_0_0;
-            haskell-tools-debug = super.haskell-tools-debug_0_6_0_0;
-            haskell-tools-demo = super.haskell-tools-demo_0_6_0_0;
-            haskell-tools-prettyprint = super.haskell-tools-prettyprint_0_6_0_0;
-            haskell-tools-refactor = super.haskell-tools-refactor_0_6_0_0;
-            haskell-tools-rewrite = super.haskell-tools-rewrite_0_6_0_0;
-          };
-      in {
-        haskell-tools-ast_0_6_0_0 =
-          super.haskell-tools-ast_0_6_0_0.overrideScope scope';
-        haskell-tools-backend-ghc_0_6_0_0 =
-          super.haskell-tools-backend-ghc_0_6_0_0.overrideScope scope';
-        haskell-tools-cli_0_6_0_0 =
-          dontCheck (super.haskell-tools-cli_0_6_0_0.overrideScope scope');
-        haskell-tools-daemon_0_6_0_0 =
-          dontCheck (super.haskell-tools-daemon_0_6_0_0.overrideScope scope');
-        haskell-tools-debug_0_6_0_0 =
-          super.haskell-tools-debug_0_6_0_0.overrideScope scope';
-        haskell-tools-demo_0_6_0_0 =
-          super.haskell-tools-demo_0_6_0_0.overrideScope scope';
-        haskell-tools-prettyprint_0_6_0_0 =
-          super.haskell-tools-prettyprint_0_6_0_0.overrideScope scope';
-        haskell-tools-refactor_0_6_0_0 =
-          super.haskell-tools-refactor_0_6_0_0.overrideScope scope';
-        haskell-tools-rewrite_0_6_0_0 =
-          super.haskell-tools-rewrite_0_6_0_0.overrideScope scope';
-     })
+}
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 15f57b08fe63..1ace80a48a50 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -2458,13 +2458,6 @@ extra-packages:
   - transformers == 0.4.3.*             # the latest version isn't supported by mtl yet
   - vector < 0.10.10                    # newer versions don't work with GHC 6.12.3
   - zlib < 0.6                          # newer versions break cabal-install
-  - aeson == 0.11.3.0                   # purescript 0.10.7
-  - bower-json == 1.0.0.1               # purescript 0.10.7
-  - optparse-applicative == 0.13.1.0    # purescript 0.10.7
-  - http-client == 0.4.31.2             # purescript 0.10.7
-  - http-client-tls == 0.2.4.1          # purescript 0.10.7
-  - pipes == 4.2.0                      # purescript 0.10.7
-  - websockets == 0.9.8.2               # purescript 0.10.7
 
 package-maintainers:
   peti:
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index f7969b977a48..1ad74866c1d4 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -74123,9 +74123,13 @@ self: {
          bup curl git gnupg lsof openssh perl rsync wget which
        ];
        preConfigure = "export HOME=$TEMPDIR; patchShebangs .";
-       postBuild = "ln -sf dist/build/git-annex/git-annex git-annex";
        installPhase = "make PREFIX=$out BUILDER=: install";
-       checkPhase = "./git-annex test";
+       checkPhase = ''
+         ln -sf dist/build/git-annex/git-annex git-annex
+         ln -sf git-annex git-annex-shell
+         export PATH+=":$PWD"
+         git-annex test
+       '';
        enableSharedExecutables = false;
        homepage = "http://git-annex.branchable.com/";
        description = "manage files with git, without checking their contents into git";
diff --git a/pkgs/development/libraries/vcg/default.nix b/pkgs/development/libraries/vcg/default.nix
index 9e85ad7413d0..6225fb18e280 100644
--- a/pkgs/development/libraries/vcg/default.nix
+++ b/pkgs/development/libraries/vcg/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchsvn, eigen }:
+{ stdenv, fetchFromGitHub, eigen }:
 
 stdenv.mkDerivation rec {
-  name = "vcg-2016-02-14";
+  name = "vcg-${version}";
+  version = "1.0.1";
 
-  src = fetchsvn {
-    url = "svn://svn.code.sf.net/p/vcg/code/trunk/vcglib";
-    rev = 5688;
-    sha256 = "0hkvz2d8prrjdcc7h0xhfd9hq86lmqg17ml045x4bkiciimx0w5s";
+  src = fetchFromGitHub {
+    owner = "cnr-isti-vclab";
+    repo = "vcglib";
+    rev = "v${version}";
+    sha256 = "0jh8jc8rn7rci8qr3q03q574fk2hsc3rllysck41j8xkr3rmxz2f";
   };
 
   propagatedBuildInputs = [ eigen ];
diff --git a/pkgs/development/python-modules/whoosh/default.nix b/pkgs/development/python-modules/whoosh/default.nix
new file mode 100644
index 000000000000..7e2a571b1bba
--- /dev/null
+++ b/pkgs/development/python-modules/whoosh/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "Whoosh";
+  version = "2.7.4";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "10qsqdjpbc85fykc1vgcs8xwbgn4l2l52c8d83xf1q59pwyn79bw";
+  };
+  buildInputs = [ pytest ];
+
+  # Wrong encoding
+  postPatch = ''
+    rm tests/test_reading.py
+  '';
+  checkPhase =  ''
+    # FIXME: test_minimize_dfa fails on python 3.6
+    py.test -k "not test_timelimit and not test_minimize_dfa"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Fast, pure-Python full text indexing, search, and spell
+checking library.";
+    homepage    = "http://bitbucket.org/mchaput/whoosh";
+    license     = licenses.bsd2;
+    maintainers = with maintainers; [ nand0p ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix
index a4fb9a8b8bf8..64ab960c88b1 100644
--- a/pkgs/development/tools/build-managers/buildbot/default.nix
+++ b/pkgs/development/tools/build-managers/buildbot/default.nix
@@ -13,11 +13,11 @@ let
   package = pythonPackages.buildPythonApplication (rec {
     name = "${pname}-${version}";
     pname = "buildbot";
-    version = "0.9.6";
+    version = "0.9.7";
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "0d6ys1wjwsv4jg4bja1cqhy279hhrl1c9kwyx126srf45slcvg1w";
+      sha256 = "0cwy39ap2v9kni3zm92633cnqf7qsnb4zlargx060pbfagkg1jwg";
     };
 
     buildInputs = with pythonPackages; [
@@ -70,25 +70,13 @@ let
     ];
 
     patches = [
-      # This patch disables the test that tries to reat /etc/os-release which
+      # This patch disables the test that tries to read /etc/os-release which
       # is not accessible in sandboxed builds.
       ./skip_test_linux_distro.patch
     ];
 
     postPatch = ''
       substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
-
-      # NOTE: secrets management tests currently broken
-      rm -fv buildbot/test/integration/test_integration_secrets.py
-      rm -fv buildbot/test/integration/test_integration_secrets_with_vault.py
-      rm -fv buildbot/test/unit/test_fake_secrets_manager.py
-      rm -fv buildbot/test/unit/test_interpolate_secrets.py
-      rm -fv buildbot/test/unit/test_secret_in_file.py
-      rm -fv buildbot/test/unit/test_secret_in_vault.py
-
-      # Remove this line after next update. See
-      # https://github.com/buildbot/buildbot/commit/e7fc8c8eba903c2aa6d7e6393499e5b9bffc2334
-      rm -fv buildbot/test/unit/test_mq_wamp.py
     '';
 
     passthru = { inherit withPlugins; };
diff --git a/pkgs/development/tools/build-managers/buildbot/plugins.nix b/pkgs/development/tools/build-managers/buildbot/plugins.nix
index 77e97ed7ac3c..3c15e256a3f6 100644
--- a/pkgs/development/tools/build-managers/buildbot/plugins.nix
+++ b/pkgs/development/tools/build-managers/buildbot/plugins.nix
@@ -4,11 +4,11 @@ let
   buildbot-pkg = pythonPackages.buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "buildbot-pkg";
-    version = "0.9.5";
+    version = "0.9.7";
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "1xpi4w0lc6z97pmmms85dvdspacbzlvs8zi3kv1r4rypk3znwmi1";
+      sha256 = "0p351r10y42gwgxb2qg7xlsbhmnzdmqp6h4922l0yfii3pzmrdzv";
     };
 
     propagatedBuildInputs = with pythonPackages; [ setuptools ];
@@ -25,14 +25,14 @@ in {
   www = pythonPackages.buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "buildbot_www";
-    version = "0.9.5";
+    version = "0.9.7";
 
     # NOTE: wheel is used due to buildbot circular dependency
     format = "wheel";
 
     src = pythonPackages.fetchPypi {
       inherit pname version format;
-      sha256 = "1d7yjxka6slflm3wbdpq4sr1kagmgbqdv2zgx9bq77jvjh7ga0py";
+      sha256 = "1wf2spnilm0dkyw95vf57lca453sbly4r6ak3lxa8bpwhxb6lkdn";
     };
 
     meta = with stdenv.lib; {
@@ -46,11 +46,11 @@ in {
   console-view = pythonPackages.buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "buildbot-console-view";
-    version = "0.9.5";
+    version = "0.9.7";
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "1s6mvw955dsgk7hvb1xa32bbd7w2yma62py5s0vmi5shv8nwq3hb";
+      sha256 = "1iv77886rbbn0wlzl5qiqc08rgbymxirqh3vmimqwsabbh7fhzkm";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
@@ -66,11 +66,11 @@ in {
   waterfall-view = pythonPackages.buildPythonPackage rec {
     name = "${pname}-${version}";
     pname = "buildbot-waterfall-view";
-    version = "0.9.5";
+    version = "0.9.7";
 
     src = pythonPackages.fetchPypi {
       inherit pname version;
-      sha256 = "116846d987wp1bz78f0h4lypqcns5073vzhb4vsqbf08sppgr67k";
+      sha256 = "1q42l25cryx0yp6lbbl0mxnxkb9h24wawhzhi1wkc3kj8zs5sifn";
     };
 
     propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
diff --git a/pkgs/development/tools/build-managers/buildbot/worker.nix b/pkgs/development/tools/build-managers/buildbot/worker.nix
index 145221c63537..28fb719d84a0 100644
--- a/pkgs/development/tools/build-managers/buildbot/worker.nix
+++ b/pkgs/development/tools/build-managers/buildbot/worker.nix
@@ -3,11 +3,11 @@
 pythonPackages.buildPythonApplication (rec {
   name = "${pname}-${version}";
   pname = "buildbot-worker";
-  version = "0.9.5";
+  version = "0.9.7";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "1al7jam351sf781axj4kfhj70cc0g21zv81ynk410kdccjyxp2dy";
+    sha256 = "0s62i808l13a8dprmrb2dikh7d1xvvdnw3pfhl6im0i9fc64w6x4";
   };
 
   buildInputs = with pythonPackages; [ setuptoolsTrial mock ];
diff --git a/pkgs/development/tools/misc/checkbashisms/default.nix b/pkgs/development/tools/misc/checkbashisms/default.nix
index b00b9cc9910b..563d76930880 100644
--- a/pkgs/development/tools/misc/checkbashisms/default.nix
+++ b/pkgs/development/tools/misc/checkbashisms/default.nix
@@ -1,33 +1,26 @@
 { stdenv, fetchurl, perl }:
 stdenv.mkDerivation rec {
-  inherit perl;
-
-  name = "checkbashisms";
   version = "2.0.0.2";
+  name = "checkbashisms-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/checkbaskisms/${version}/${name}";
+    url = "mirror://sourceforge/project/checkbaskisms/${version}/checkbashisms";
     sha256 = "1vm0yykkg58ja9ianfpm3mgrpah109gj33b41kl0jmmm11zip9jd";
   };
 
+  buildInputs = [ perl ];
+
   # The link returns directly the script. No need for unpacking
   unpackPhase = "true";
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp $src $out/bin/checkbashisms
-    chmod 755 $out/bin/checkbashisms
-  '';
-
-  # Makes sure to point to the proper perl version
-  fixupPhase = ''
-    sed -e "s#/usr/bin/perl#$perl/bin/perl#" -i $out/bin/checkbashisms
+    install -D -m755 $src $out/bin/checkbashisms
   '';
 
   meta = {
     homepage = http://sourceforge.net/projects/checkbaskisms/;
     description = "Check shell scripts for non-portable syntax";
     license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix
index 9ba78c0ab14a..cd59f96037fb 100644
--- a/pkgs/games/stepmania/default.nix
+++ b/pkgs/games/stepmania/default.nix
@@ -1,24 +1,24 @@
 { stdenv, lib, fetchpatch, fetchFromGitHub, cmake, nasm
 , gtk2, glib, ffmpeg, alsaLib, libmad, libogg, libvorbis
-, glew, libpulseaudio
+, glew, libpulseaudio, udev
 }:
 
 stdenv.mkDerivation rec {
   name = "stepmania-${version}";
-  version = "5.0.10";
+  version = "5.0.12";
 
   src = fetchFromGitHub {
     owner = "stepmania";
     repo  = "stepmania";
     rev   = "v${version}";
-    sha256 = "174gzvk42gwm56hpkz51csad9xi4dg466xv0mf1z39xd7mqd5j5w";
+    sha256 = "0ig5pnw78j45b35kfr76phaqbac9b2f6wg3c63l6mf0nrq17wslz";
   };
 
   nativeBuildInputs = [ cmake nasm ];
 
   buildInputs = [
     gtk2 glib ffmpeg alsaLib libmad libogg libvorbis
-    glew libpulseaudio
+    glew libpulseaudio udev
   ];
 
   cmakeFlags = [
@@ -27,14 +27,6 @@ stdenv.mkDerivation rec {
     "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
   ];
 
-  patches = [
-    # Fix compilation on i686
-    (fetchpatch {
-      url = "https://github.com/stepmania/stepmania/commit/f1e114aa03c90884946427bb43a75badec21f163.patch";
-      sha256 = "1cm14w92dilqvlyqfffiihf09ra97hxzgfal5gx08brc3j1yyzdw";
-    })
-  ];
-
   postInstall = ''
     mkdir -p $out/bin
     ln -s $out/stepmania-5.0/stepmania $out/bin/stepmania
diff --git a/pkgs/os-specific/linux/hdparm/default.nix b/pkgs/os-specific/linux/hdparm/default.nix
index ab40099fc2ce..fa63cddfcdb9 100644
--- a/pkgs/os-specific/linux/hdparm/default.nix
+++ b/pkgs/os-specific/linux/hdparm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hdparm-9.51";
+  name = "hdparm-9.52";
 
   src = fetchurl {
     url = "mirror://sourceforge/hdparm/${name}.tar.gz";
-    sha256 = "14ax5lyzhigx58ing7adbfyzisv0fqajbmzphg149rnb3s4xiyhs";
+    sha256 = "1djgxhfadd865dcrl6dp7dvjxpaisy7mk17mbdbglwg24ga9qhn3";
 
   };
 
diff --git a/pkgs/servers/mail/nullmailer/default.nix b/pkgs/servers/mail/nullmailer/default.nix
new file mode 100644
index 000000000000..44840c91b058
--- /dev/null
+++ b/pkgs/servers/mail/nullmailer/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, lib, tls ? true, gnutls ? null }:
+
+assert tls -> gnutls != null;
+
+stdenv.mkDerivation rec {
+
+  version = "2.0";
+  name = "nullmailer-${version}";
+
+  src = fetchurl {
+    url = "http://untroubled.org/nullmailer/nullmailer-${version}.tar.gz";
+    sha256 = "112ghdln8q9yljc8kp9mc3843mh0fyb4rig2v4q2dzy1l324q3yp";
+  };
+
+  buildInputs = stdenv.lib.optional tls gnutls;
+
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--localstatedir=/var"
+  ] ++ stdenv.lib.optional tls "--enable-tls";
+
+  installFlags = [ "DESTDIR=$(out)" ];
+
+  # We have to remove the ''var'' directory, since nix can't handle named pipes
+  # and we can't use it in the store anyway. Same for ''etc''.
+  # The second line is need, because the installer of nullmailer will copy its
+  # own prepared version of ''etc'' and ''var'' and also uses the prefix path (configure phase)
+  # for hardcoded absolute references to its own binary farm, e.g. sendmail binary is
+  # calling nullmailer-inject binary. Since we can't configure inside the store of
+  # the derivation we need both directories in the root, but don't want to put them there
+  # during install, hence we have to fix mumbling inside the install directory.
+  # This is kind of a hack, but the only way I know of, yet.
+  postInstall = ''
+    rm -rf $out/var/ $out/etc/
+    mv $out/$out/* $out/
+    rmdir $out/$out
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = "http://untroubled.org/nullmailer/";
+    description = ''
+      A sendmail/qmail/etc replacement MTA for hosts which relay to a fixed set of smart relays.
+      It is designed to be simple to configure, secure, and easily extendable.
+    '';
+    license = lib.licenses.gpl2;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers ; [ sargon ];
+  };
+}
diff --git a/pkgs/tools/filesystems/dosfstools/default.nix b/pkgs/tools/filesystems/dosfstools/default.nix
index d6a4e83a533b..2eeb2003a194 100644
--- a/pkgs/tools/filesystems/dosfstools/default.nix
+++ b/pkgs/tools/filesystems/dosfstools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libiconv }:
 
 stdenv.mkDerivation rec {
   name = "dosfstools-${version}";
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1a2zn1655d5f1m6jp9vpn3bp8yfxhcmxx3mx23ai9hmxiydiykr1";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ]
+    ++ stdenv.lib.optional stdenv.isDarwin libiconv;
 
   configureFlags = [ "--enable-compat-symlinks" ];
 
@@ -19,6 +20,6 @@ stdenv.mkDerivation rec {
     description = "Utilities for creating and checking FAT and VFAT file systems";
     repositories.git = git://daniel-baumann.ch/git/software/dosfstools.git;
     homepage = http://www.daniel-baumann.ch/software/dosfstools/;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
 }
diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix
index a8f3a5a19ae7..f2741e2b7243 100644
--- a/pkgs/tools/networking/openvpn/default.nix
+++ b/pkgs/tools/networking/openvpn/default.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "openvpn-${version}";
-  version = "2.4.0";
+  version = "2.4.2";
 
   src = fetchurl {
     url = "http://swupdate.openvpn.net/community/releases/${name}.tar.xz";
-    sha256 = "0zpqnbhjaifdalyxwmvk5kcyd7cpxbcigbn7967nbsyvl54vl8vg";
+    sha256 = "1ydzy5i7yaifz0v1ivrckksvm0nkkx5sia3g5y5b1xkx9cw4yp6z";
   };
 
   buildInputs = [ lzo openssl pkgconfig ]
diff --git a/pkgs/tools/security/afl/default.nix b/pkgs/tools/security/afl/default.nix
index d07396319d8d..252be087675f 100644
--- a/pkgs/tools/security/afl/default.nix
+++ b/pkgs/tools/security/afl/default.nix
@@ -9,11 +9,11 @@ let
 in
 stdenv.mkDerivation rec {
   name    = "afl-${version}";
-  version = "2.35b";
+  version = "2.41b";
 
   src = fetchurl {
     url    = "http://lcamtuf.coredump.cx/afl/releases/${name}.tgz";
-    sha256 = "1smwc3j0mrpnhqq7li2ry42fxcmq3q2kl568dpq9r9npg996fqar";
+    sha256 = "13wnjk0rklcjglj7dmpahv67vig9azifxgnggj56hki66lrb2w06";
   };
 
   # Note: libcgroup isn't needed for building, just for the afl-cgroup
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e3131c4d7882..6ebefb74a36d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3331,6 +3331,8 @@ with pkgs;
 
   openmvg = callPackage ../applications/science/misc/openmvg { };
 
+  openmvs = callPackage ../applications/science/misc/openmvs { };
+
   openntpd = callPackage ../tools/networking/openntpd { };
 
   openntpd_nixos = openntpd.override {
@@ -12749,6 +12751,8 @@ with pkgs;
   inherit (callPackages ../data/fonts/noto-fonts {})
     noto-fonts noto-fonts-cjk noto-fonts-emoji;
 
+  nullmailer = callPackage ../servers/mail/nullmailer { };
+
   numix-icon-theme = callPackage ../data/icons/numix-icon-theme { };
 
   numix-icon-theme-circle = callPackage ../data/icons/numix-icon-theme-circle { };
@@ -15134,7 +15138,7 @@ with pkgs;
 
   openbox-menu = callPackage ../applications/misc/openbox-menu { };
 
-  openbrf = callPackage ../applications/misc/openbrf { };
+  openbrf = libsForQt5.callPackage ../applications/misc/openbrf { };
 
   opencpn = callPackage ../applications/misc/opencpn { };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 110ce6b84116..07bb85632cce 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -677,15 +677,15 @@ in {
   aniso8601 = buildPythonPackage rec {
     name = "aniso8601-${version}";
     version = "1.2.0";
- 
+
     meta = {
       description = "Parses ISO 8601 strings.";
       homepage    = "https://bitbucket.org/nielsenb/aniso8601";
       license     = licenses.bsd3;
     };
- 
+
     propagatedBuildInputs = with self; [ dateutil ];
- 
+
     src = pkgs.fetchurl {
       url = "mirror://pypi/a/aniso8601/${name}.tar.gz";
       sha256 = "502400f82574afa804cc915d83f15c67533d364dcd594f8a6b9d2053f3404dd4";
@@ -22087,7 +22087,7 @@ in {
       homepage = "https://github.com/goinnn/django-multiselectfield";
     };
   };
-  
+
   reviewboard = buildPythonPackage rec {
     name = "ReviewBoard-2.5.1.1";
 
@@ -31070,32 +31070,7 @@ EOF
     };
   };
 
-  whoosh = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "Whoosh";
-    version = "2.7.4";
-    src = pkgs.fetchurl {
-      url = "https://pypi.python.org/packages/25/2b/6beed2107b148edc1321da0d489afc4617b9ed317ef7b72d4993cad9b684/${name}.tar.gz";
-      sha256 = "10qsqdjpbc85fykc1vgcs8xwbgn4l2l52c8d83xf1q59pwyn79bw";
-    };
-    buildInputs = with self; [ pytest ];
-
-    # Wrong encoding
-    postPatch = ''
-      rm tests/test_reading.py
-    '';
-    checkPhase =  ''
-      py.test -k "not test_timelimit"
-    '';
-
-    meta = {
-      description = "Fast, pure-Python full text indexing, search, and spell checking library.";
-      homepage    = "http://bitbucket.org/mchaput/whoosh";
-      license     = licenses.bsd2;
-      maintainers = with maintainers; [ nand0p ];
-      platforms   = platforms.all;
-    };
-  };
+  whoosh = callPackage ../development/python-modules/whoosh { };
 
   packet-python = buildPythonPackage rec {
     name = "${pname}-${version}";