summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/stdenv.xml2
-rw-r--r--nixos/modules/services/security/sshguard.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/wire-desktop/default.nix201
-rw-r--r--pkgs/development/node-packages/default-v10.nix4
-rw-r--r--pkgs/development/node-packages/node-packages-v10.json1
-rw-r--r--pkgs/development/node-packages/node-packages-v10.nix179
-rw-r--r--pkgs/development/python-modules/configshell/default.nix4
-rw-r--r--pkgs/development/python-modules/fipy/default.nix55
-rw-r--r--pkgs/development/python-modules/pyamg/default.nix36
-rw-r--r--pkgs/development/python-modules/pysparse/default.nix49
-rw-r--r--pkgs/development/python-modules/pysparse/dropPackageLoader.patch88
-rw-r--r--pkgs/development/python-modules/scikit-fmm/default.nix32
-rw-r--r--pkgs/games/crawl/crawl_purify.patch13
-rw-r--r--pkgs/games/crawl/default.nix15
-rw-r--r--pkgs/misc/emulators/wine/sources.nix10
-rw-r--r--pkgs/os-specific/linux/trace-cmd/default.nix43
-rw-r--r--pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch52
-rw-r--r--pkgs/os-specific/linux/trace-cmd/kernelshark.nix39
-rw-r--r--pkgs/os-specific/linux/trace-cmd/src.nix5
-rw-r--r--pkgs/servers/mail/exim/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/varnish-exporter.nix7
-rw-r--r--pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix261
-rw-r--r--pkgs/shells/xonsh/default.nix4
-rw-r--r--pkgs/tools/compression/advancecomp/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix8
26 files changed, 800 insertions, 320 deletions
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index fbb84b03a8d..42095c13e0a 100644
--- a/doc/stdenv.xml
+++ b/doc/stdenv.xml
@@ -786,7 +786,7 @@ passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ]
         set, the default value is used, which is <literal>$prePhases
         unpackPhase patchPhase $preConfigurePhases configurePhase
         $preBuildPhases buildPhase checkPhase $preInstallPhases installPhase
-        fixupPhase $preDistPhases distPhase $postPhases</literal>.
+        fixupPhase installCheckPhase $preDistPhases distPhase $postPhases</literal>.
        </para>
        <para>
         Usually, if you just want to add a few phases, it’s more convenient
diff --git a/nixos/modules/services/security/sshguard.nix b/nixos/modules/services/security/sshguard.nix
index 3892cd5c72b..25cec5b5b10 100644
--- a/nixos/modules/services/security/sshguard.nix
+++ b/nixos/modules/services/security/sshguard.nix
@@ -107,8 +107,6 @@ in {
       path = with pkgs; [ iptables ipset iproute systemd ];
 
       postStart = ''
-        ${pkgs.ipset}/bin/ipset -quiet create -exist sshguard4 hash:ip family inet
-        ${pkgs.ipset}/bin/ipset -quiet create -exist sshguard6 hash:ip family inet6
         ${pkgs.iptables}/bin/iptables  -I INPUT -m set --match-set sshguard4 src -j DROP
         ${pkgs.iptables}/bin/ip6tables -I INPUT -m set --match-set sshguard6 src -j DROP
       '';
diff --git a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
index fb8a24be70d..3792c91ea91 100644
--- a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
@@ -1,103 +1,132 @@
-{ stdenv, fetchurl, dpkg, makeDesktopItem, libuuid, gtk3, atk, cairo, pango
-, gdk-pixbuf, glib, freetype, fontconfig, dbus, libnotify, libX11, xorg, libXi
-, libXcursor, libXdamage, libXrandr, libXcomposite, libXext, libXfixes
-, libXrender, libXtst, libXScrnSaver, nss, nspr, alsaLib, cups, expat, udev
-, xdg_utils, hunspell, pulseaudio, pciutils, at-spi2-atk
+{ stdenv, fetchurl, makeDesktopItem
+
+, alsaLib, at-spi2-atk, atk, cairo, cups, dbus, dpkg, expat, fontconfig
+, freetype, gdk_pixbuf, glib, gtk3, hunspell, libX11, libXScrnSaver
+, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr
+, libXrender, libXtst, libnotify, libuuid, nspr, nss, pango, pciutils
+, pulseaudio, udev, xdg_utils, xorg
+
+, cpio, xar
 }:
 
 let
 
-  rpath = stdenv.lib.makeLibraryPath [
-    alsaLib
-    atk
-    cairo
-    cups
-    dbus
-    expat
-    fontconfig
-    freetype
-    gdk-pixbuf
-    glib
-    gtk3
-    at-spi2-atk
-    hunspell
-    libuuid
-    libnotify
-    libX11
-    libXcomposite
-    libXcursor
-    libXdamage
-    libXext
-    libXfixes
-    libXi
-    libXrandr
-    libXrender
-    libXScrnSaver
-    libXtst
-    nspr
-    nss
-    pango
-    pciutils
-    pulseaudio
-    stdenv.cc.cc
-    udev
-    xdg_utils
-    xorg.libxcb
-  ];
-
-in
-
-stdenv.mkDerivation rec {
+  inherit (stdenv.hostPlatform) system;
+
   pname = "wire-desktop";
-  version = "3.9.2895";
 
-  src = fetchurl {
-    url = "https://wire-app.wire.com/linux/debian/pool/main/Wire-${version}_amd64.deb";
-    sha256 = "0wrn95m64j4b7ym44h9zawq13kg4m12aixlyyzp56bfyczmjq4a5";
+  version = {
+    "x86_64-linux" = "3.9.2895";
+    "x86_64-darwin" = "3.9.2943";
+  }.${system};
+
+  sha256 = {
+    "x86_64-linux" = "0wrn95m64j4b7ym44h9zawq13kg4m12aixlyyzp56bfyczmjq4a5";
+    "x86_64-darwin" = "1y1bzsjmjrj518q29xfx6gg1nhdbaz7y5hzaqrp241az6plp090k";
+  }.${system};
+
+  meta = with stdenv.lib; {
+    description = "A modern, secure messenger for everyone";
+    longDescription = ''
+      Wire Personal is a secure, privacy-friendly messenger. It combines useful
+      and fun features, audited security, and a beautiful, distinct user
+      interface.  It does not require a phone number to register and chat.
+
+        * End-to-end encrypted chats, calls, and files
+        * Crystal clear voice and video calling
+        * File and screen sharing
+        * Timed messages and chats
+        * Synced across your phone, desktop and tablet
+    '';
+    homepage = https://wire.com/;
+    downloadPage = https://wire.com/download/;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ toonn worldofpeace ];
+    platforms = [ "x86_64-darwin" "x86_64-linux" ];
   };
 
-  desktopItem = makeDesktopItem {
-    name = "wire-desktop";
-    exec = "wire-desktop %U";
-    icon = "wire-desktop";
-    comment = "Secure messenger for everyone";
-    desktopName = "Wire Desktop";
-    genericName = "Secure messenger";
-    categories = "Network;InstantMessaging;Chat;VideoConference";
+  linux = stdenv.mkDerivation rec {
+    inherit pname version meta;
+
+    src = fetchurl {
+      url = "https://wire-app.wire.com/linux/debian/pool/main/"
+        + "Wire-${version}_amd64.deb";
+      inherit sha256;
+    };
+
+    desktopItem = makeDesktopItem {
+      name = "wire-desktop";
+      exec = "wire-desktop %U";
+      icon = "wire-desktop";
+      comment = "Secure messenger for everyone";
+      desktopName = "Wire Desktop";
+      genericName = "Secure messenger";
+      categories = "Network;InstantMessaging;Chat;VideoConference";
+    };
+
+    dontBuild = true;
+    dontPatchELF = true;
+    dontConfigure = true;
+
+    nativeBuildInputs = [ dpkg ];
+    rpath = stdenv.lib.makeLibraryPath [
+      alsaLib at-spi2-atk atk cairo cups dbus expat fontconfig freetype
+      gdk_pixbuf glib gtk3 hunspell libX11 libXScrnSaver libXcomposite
+      libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
+      libXtst libnotify libuuid nspr nss pango pciutils pulseaudio
+      stdenv.cc.cc udev xdg_utils xorg.libxcb
+    ];
+
+    unpackPhase = "dpkg-deb -x $src .";
+
+    installPhase = ''
+      mkdir -p "$out"
+      cp -R "opt" "$out"
+      cp -R "usr/share" "$out/share"
+      chmod -R g-w "$out"
+
+      # Patch wire-desktop
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath "${rpath}:$out/opt/Wire" \
+        "$out/opt/Wire/wire-desktop"
+
+      # Symlink to bin
+      mkdir -p "$out/bin"
+      ln -s "$out/opt/Wire/wire-desktop" "$out/bin/wire-desktop"
+
+      # Desktop file
+      mkdir -p "$out/share/applications"
+      cp "${desktopItem}/share/applications/"* "$out/share/applications"
+    '';
   };
 
-  dontBuild = true;
-  dontPatchELF = true;
-  dontConfigure = true;
+  darwin = stdenv.mkDerivation rec {
+    inherit pname version meta;
 
-  nativeBuildInputs = [ dpkg ];
-  unpackPhase = "dpkg-deb -x $src .";
-  installPhase = ''
-    mkdir -p "$out"
-    cp -R "opt" "$out"
-    cp -R "usr/share" "$out/share"
+    src = fetchurl {
+      url = "https://github.com/wireapp/wire-desktop/releases/download/"
+        + "macos%2F${version}/Wire.pkg";
+      inherit sha256;
+    };
 
-    chmod -R g-w "$out"
+    buildInputs = [ cpio xar ];
 
-    # Patch wire-desktop
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${rpath}:$out/opt/Wire" \
-      "$out/opt/Wire/wire-desktop"
+    unpackPhase = ''
+      xar -xf $src
+      cd com.wearezeta.zclient.mac.pkg
+    '';
 
-    # Symlink to bin
-    mkdir -p "$out/bin"
-    ln -s "$out/opt/Wire/wire-desktop" "$out/bin/wire-desktop"
 
-    # Desktop file
-    mkdir -p "$out/share/applications"
-    cp "${desktopItem}/share/applications/"* "$out/share/applications"
-  '';
+    buildPhase = ''
+      cat Payload | gunzip -dc | cpio -i
+    '';
 
-  meta = with stdenv.lib; {
-    description = "A modern, secure messenger";
-    homepage = https://wire.com/;
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ worldofpeace ];
-    platforms = [ "x86_64-linux" ];
+    installPhase = ''
+      mkdir -p $out/Applications
+      cp -r Wire.app $out/Applications
+    '';
   };
-}
+
+in if stdenv.isDarwin
+  then darwin
+  else linux
diff --git a/pkgs/development/node-packages/default-v10.nix b/pkgs/development/node-packages/default-v10.nix
index df3a07b26e8..50b33f7effd 100644
--- a/pkgs/development/node-packages/default-v10.nix
+++ b/pkgs/development/node-packages/default-v10.nix
@@ -73,10 +73,6 @@ nodePackages // {
     '';
   };
 
-  npm2nix = nodePackages."npm2nix-git://github.com/NixOS/npm2nix.git#5.12.0".override {
-    postInstall = "npm run-script prepublish";
-  };
-
   pnpm = nodePackages.pnpm.override {
     nativeBuildInputs = [ pkgs.makeWrapper ];
 
diff --git a/pkgs/development/node-packages/node-packages-v10.json b/pkgs/development/node-packages/node-packages-v10.json
index 14012438bc1..4689546832a 100644
--- a/pkgs/development/node-packages/node-packages-v10.json
+++ b/pkgs/development/node-packages/node-packages-v10.json
@@ -86,7 +86,6 @@
 , "nodemon"
 , "node-red"
 , "npm"
-, { "npm2nix": "git://github.com/NixOS/npm2nix.git#5.12.0" }
 , "npm-check-updates"
 , "ocaml-language-server"
 , "peerflix"
diff --git a/pkgs/development/node-packages/node-packages-v10.nix b/pkgs/development/node-packages/node-packages-v10.nix
index b587d1391fa..b0017eec327 100644
--- a/pkgs/development/node-packages/node-packages-v10.nix
+++ b/pkgs/development/node-packages/node-packages-v10.nix
@@ -58097,183 +58097,6 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "npm2nix-git://github.com/NixOS/npm2nix.git#5.12.0" = nodeEnv.buildNodePackage {
-    name = "npm2nix";
-    packageName = "npm2nix";
-    version = "5.12.0";
-    src = fetchgit {
-      url = "git://github.com/NixOS/npm2nix.git";
-      rev = "0c06be7d278a7f64fc853a5fd42d2031d14496d5";
-      sha256 = "e1b252cd883fd8c5c4618b157d03b3fb869fa6aad4170ef51e34681069d50bf5";
-    };
-    dependencies = [
-      sources."abbrev-1.1.1"
-      sources."ajv-6.10.2"
-      sources."ansi-regex-2.1.1"
-      sources."aproba-1.2.0"
-      sources."are-we-there-yet-1.1.5"
-      sources."argparse-0.1.15"
-      sources."asn1-0.2.4"
-      sources."assert-plus-1.0.0"
-      sources."asynckit-0.4.0"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.8.0"
-      sources."balanced-match-1.0.0"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."block-stream-0.0.9"
-      sources."brace-expansion-1.1.11"
-      sources."caseless-0.12.0"
-      sources."chownr-0.0.2"
-      sources."code-point-at-1.1.0"
-      sources."coffee-script-1.12.7"
-      sources."combined-stream-1.0.8"
-      sources."concat-map-0.0.1"
-      (sources."config-chain-1.1.12" // {
-        dependencies = [
-          sources."ini-1.3.5"
-        ];
-      })
-      sources."console-control-strings-1.1.0"
-      sources."core-util-is-1.0.2"
-      sources."couch-login-0.1.20"
-      sources."dashdash-1.14.1"
-      sources."delayed-stream-1.0.0"
-      sources."delegates-1.0.0"
-      sources."ecc-jsbn-0.1.2"
-      sources."extend-3.0.2"
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-2.0.1"
-      sources."fast-json-stable-stringify-2.0.0"
-      sources."findit-1.2.0"
-      sources."foreachasync-3.0.0"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
-      (sources."fs-extra-0.6.4" // {
-        dependencies = [
-          sources."rimraf-2.2.8"
-        ];
-      })
-      sources."fs.extra-1.3.2"
-      sources."fs.realpath-1.0.0"
-      (sources."fstream-0.1.31" // {
-        dependencies = [
-          sources."graceful-fs-3.0.11"
-          sources."mkdirp-0.5.1"
-        ];
-      })
-      sources."gauge-2.7.4"
-      sources."getpass-0.1.7"
-      sources."glob-7.1.4"
-      sources."graceful-fs-2.0.3"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.3"
-      sources."has-unicode-2.0.1"
-      sources."http-signature-1.2.0"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."ini-1.1.0"
-      sources."is-fullwidth-code-point-1.0.0"
-      sources."is-typedarray-1.0.0"
-      sources."isarray-1.0.0"
-      sources."isstream-0.1.2"
-      sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."jsonfile-1.0.1"
-      sources."jsprim-1.4.1"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
-      sources."minimatch-3.0.4"
-      sources."minimist-0.0.8"
-      sources."mkdirp-0.3.5"
-      sources."natives-1.1.6"
-      sources."ncp-0.4.2"
-      sources."nopt-2.2.1"
-      (sources."npm-registry-client-0.2.27" // {
-        dependencies = [
-          sources."semver-2.0.11"
-        ];
-      })
-      (sources."npmconf-0.1.1" // {
-        dependencies = [
-          sources."inherits-1.0.2"
-          sources."once-1.1.1"
-          sources."semver-2.3.2"
-        ];
-      })
-      sources."npmlog-4.1.2"
-      sources."number-is-nan-1.0.1"
-      sources."oauth-sign-0.9.0"
-      sources."object-assign-4.1.1"
-      sources."once-1.4.0"
-      sources."osenv-0.0.3"
-      sources."path-is-absolute-1.0.1"
-      sources."performance-now-2.1.0"
-      sources."process-nextick-args-2.0.1"
-      sources."proto-list-1.2.4"
-      sources."psl-1.2.0"
-      sources."punycode-2.1.1"
-      sources."qs-6.5.2"
-      (sources."readable-stream-2.3.6" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."request-2.88.0"
-      sources."retry-0.6.0"
-      sources."rimraf-2.6.3"
-      sources."safe-buffer-5.2.0"
-      sources."safer-buffer-2.1.2"
-      sources."semver-4.3.6"
-      sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.2"
-      sources."slide-1.1.6"
-      sources."sshpk-1.16.1"
-      sources."string-width-1.0.2"
-      (sources."string_decoder-1.1.1" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."strip-ansi-3.0.1"
-      (sources."tar-0.1.17" // {
-        dependencies = [
-          sources."inherits-1.0.2"
-        ];
-      })
-      (sources."temp-0.6.0" // {
-        dependencies = [
-          sources."graceful-fs-1.2.3"
-          sources."rimraf-2.1.4"
-        ];
-      })
-      (sources."tough-cookie-2.4.3" // {
-        dependencies = [
-          sources."punycode-1.4.1"
-        ];
-      })
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."underscore-1.4.4"
-      sources."underscore.string-2.3.3"
-      sources."uri-js-4.2.2"
-      sources."util-deprecate-1.0.2"
-      sources."uuid-3.3.2"
-      sources."verror-1.10.0"
-      sources."walk-2.3.14"
-      sources."wide-align-1.1.3"
-      sources."wrappy-1.0.2"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "Generate nix expressions to build npm packages";
-      homepage = https://github.com/NixOS/npm2nix;
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
@@ -72008,4 +71831,4 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/configshell/default.nix b/pkgs/development/python-modules/configshell/default.nix
index b0a563126e2..9b54f439847 100644
--- a/pkgs/development/python-modules/configshell/default.nix
+++ b/pkgs/development/python-modules/configshell/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, buildPythonPackage, pyparsing, six }:
+{ stdenv, fetchFromGitHub, buildPythonPackage, pyparsing, six, urwid }:
 
 buildPythonPackage rec {
   pname = "configshell";
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     sha256 = "0zpr2n4105qqsklyfyr9lzl1rhxjcv0mnsl57hgk0m763w6na90h";
   };
 
-  propagatedBuildInputs = [ pyparsing six ];
+  propagatedBuildInputs = [ pyparsing six urwid ];
 
   meta = with stdenv.lib; {
     description = "A Python library for building configuration shells";
diff --git a/pkgs/development/python-modules/fipy/default.nix b/pkgs/development/python-modules/fipy/default.nix
new file mode 100644
index 00000000000..7fbf14cf7de
--- /dev/null
+++ b/pkgs/development/python-modules/fipy/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+, scipy
+, pyamg
+, pysparse
+, future
+, matplotlib
+, tkinter
+, mpi4py
+, scikit-fmm
+, isPy27
+, gmsh
+, python
+, stdenv
+}:
+
+let
+  not_darwin_inputs = lib.optionals (! stdenv.isDarwin) [ gmsh ];
+in
+  buildPythonPackage rec {
+    pname = "fipy";
+    version = "3.3";
+
+    src = fetchPypi {
+      pname = "FiPy";
+      inherit version;
+      sha256 = "11agpg3d6yrns8igkpml1mxy3mkqkjq2yrw1mw12y07dkk12ii19";
+    };
+
+    propagatedBuildInputs = [
+      numpy
+      scipy
+      pyamg
+      matplotlib
+      tkinter
+      mpi4py
+      future
+      scikit-fmm
+    ] ++ lib.optionals isPy27 [ pysparse ] ++ not_darwin_inputs;
+
+    checkInputs = not_darwin_inputs;
+
+    checkPhase = ''
+      ${python.interpreter} setup.py test --modules
+    '';
+
+    meta = with lib; {
+      homepage = https://www.ctcms.nist.gov/fipy/;
+      description = "A Finite Volume PDE Solver Using Python";
+      license = licenses.free;
+      maintainers = with maintainers; [ costrouc wd15 ];
+    };
+  }
diff --git a/pkgs/development/python-modules/pyamg/default.nix b/pkgs/development/python-modules/pyamg/default.nix
new file mode 100644
index 00000000000..b299e44f3e3
--- /dev/null
+++ b/pkgs/development/python-modules/pyamg/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+, scipy
+, pytest
+, pybind11
+}:
+
+buildPythonPackage rec {
+  pname = "pyamg";
+  version = "4.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3ceb38ffd86e29774e759486f2961599c8ed847459c68727493cadeaf115a38a";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+    scipy
+    pytest
+    pybind11
+  ];
+
+  preBuild = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  meta = with lib; {
+    description = "Algebraic Multigrid Solvers in Python";
+    homepage = https://github.com/pyamg/pyamg;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysparse/default.nix b/pkgs/development/python-modules/pysparse/default.nix
new file mode 100644
index 00000000000..45ff5a9b5b4
--- /dev/null
+++ b/pkgs/development/python-modules/pysparse/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, setuptools
+, liblapack
+, isPy27
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "pysparse";
+  version = "1.3-dev";
+  disabled = !isPy27;
+
+  src = fetchFromGitHub {
+    owner = "PythonOptimizers";
+    repo = "pysparse";
+    rev = "f8430bd99ac2a6209c462657c5792d10033888cc";
+    sha256 = "19xcq8214yndra1xjhna3qjm32wprsqck97dlnw3xcww7rfy6hqh";
+  };
+
+  hardeningDisable = [ "all" ];
+
+  propagatedBuildInputs = [
+    numpy
+    numpy.blas
+    liblapack
+  ];
+
+  # Include patches from working version of PySparse 1.3-dev in
+  # Conda-Forge,
+  # https://github.com/conda-forge/pysparse-feedstock/tree/b69266911a2/recipe
+  # Thanks to https://github.com/guyer
+  patches = [ ./dropPackageLoader.patch ];
+
+  checkPhase = ''
+    cd test
+    ${python.interpreter} -c "import pysparse"
+    ${python.interpreter} test_sparray.py
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/PythonOptimizers/pysparse;
+    description = "A Sparse Matrix Library for Python";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysparse/dropPackageLoader.patch b/pkgs/development/python-modules/pysparse/dropPackageLoader.patch
new file mode 100644
index 00000000000..b2526645f89
--- /dev/null
+++ b/pkgs/development/python-modules/pysparse/dropPackageLoader.patch
@@ -0,0 +1,88 @@
+diff --git a/pysparse/__init__.py b/pysparse/__init__.py
+index 6d09b00..ff39084 100644
+--- a/pysparse/__init__.py
++++ b/pysparse/__init__.py
+@@ -1,9 +1,42 @@
+-"PySparse: A Fast Sparse Matrix Library for Python"
++"""
++PySparse: A Fast Sparse Matrix Library for Python
++=================================================
++
++Documentation is available in the docstrings and
++online at http://pysparse.sourceforge.net/.
++
++Contents
++--------
++Pysparse imports
++::
++ spmatrix                     --- sparse matrix types
++
++and, in addition, provides:
++    
++Subpackages
++-----------
++Using any of these subpackages requires an explicit import.  For example,
++``import pysparse.itsolvers``.
++
++::
++
++ itsolvers                    --- Iterative linear algebra solvers
++ precon                       --- Preconditioners
++ direct                       --- Direct solvers
++ direct.superlu               --- Wrappers to SuperLU library
++ direct.umfpack               --- Wrappers to UMFPACK library
++ eigen.jdsym                  --- Jacobi davidson eigenvalue solver for symmetric matrices
++ 
++Utility tools
++-------------
++::
++
++ __version__       --- pysparse version string
++"""
++
+ 
+ __docformat__ = 'restructuredtext'
+ 
+-# Imports
+-from numpy._import_tools import PackageLoader
+ try:
+     from version import version as __version__
+ except ImportError:
+@@ -11,31 +44,6 @@ except ImportError:
+     __version__ = 'undefined'
+     
+ from sparse import spmatrix
+-#from sparse import *
+-from misc import get_include
+-
+-pkgload = PackageLoader()
+-pkgload(verbose=False,postpone=True)
+-
+-if __doc__:
+-    __doc__ += """
+-
+-Available subpackages
+----------------------
+-"""
+-if __doc__:
+-    __doc__ += pkgload.get_pkgdocs()
+-
+-__all__ = filter(lambda s: not s.startswith('_'), dir())
+-__all__ += '__version__'
+-
+-__doc__ += """
+-
+-Miscellaneous
+--------------
+-
+-    __version__  :  pysparse version string
+-"""
+ 
+ from pysparse.misc import Deprecated
+ 
+@@ -47,3 +55,5 @@ class _superlu:
+         return self.factorizeFnc(*args, **kwargs)
+     
+ superlu = _superlu()
++
++__all__ = ['spmatrix', 'superlu', '__version__']
diff --git a/pkgs/development/python-modules/scikit-fmm/default.nix b/pkgs/development/python-modules/scikit-fmm/default.nix
new file mode 100644
index 00000000000..122af8cfda2
--- /dev/null
+++ b/pkgs/development/python-modules/scikit-fmm/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "scikit-fmm";
+  version = "2019.1.30";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "eb64b6d8e30b8df8f8636d5fc4fd7ca6a9b05938ccd62518c80c1d9e823069dd";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  checkPhase = ''
+    mkdir testdir; cd testdir
+    ${python.interpreter} -c "import skfmm, sys; sys.exit(skfmm.test())"
+  '';
+
+  meta = with lib; {
+    description = "A Python extension module which implements the fast marching method";
+    homepage = https://github.com/scikit-fmm/scikit-fmm;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ costrouc ];
+  };
+}
diff --git a/pkgs/games/crawl/crawl_purify.patch b/pkgs/games/crawl/crawl_purify.patch
index 67a883c16b0..f792dc013f0 100644
--- a/pkgs/games/crawl/crawl_purify.patch
+++ b/pkgs/games/crawl/crawl_purify.patch
@@ -1,6 +1,19 @@
 diff -ru3 crawl-ref-0.23.2-src-old/crawl-ref/source/Makefile crawl-ref-0.23.2-src-new/crawl-ref/source/Makefile
 --- crawl-ref-0.23.2-src-old/crawl-ref/source/Makefile	1970-01-01 03:00:01.000000000 +0300
 +++ crawl-ref-0.23.2-src-new/crawl-ref/source/Makefile	2017-07-27 14:45:34.611221571 +0300
+@@ -224,9 +224,9 @@
+	STRIP := strip -x
+	NEED_APPKIT = YesPlease
+	LIBNCURSES_IS_UNICODE = Yes
+-	NO_PKGCONFIG = Yes
+-	BUILD_SQLITE = YesPlease
+-	BUILD_ZLIB = YesPlease
++	#NO_PKGCONFIG = Yes
++	#BUILD_SQLITE = YesPlease
++	#BUILD_ZLIB = YesPlease
+	ifdef TILES
+		EXTRA_LIBS += -framework AppKit -framework AudioUnit -framework CoreAudio -framework ForceFeedback -framework Carbon -framework IOKit -framework OpenGL -framework AudioToolbox -framework CoreVideo contrib/install/$(ARCH)/lib/libSDL2main.a
+		BUILD_FREETYPE = YesPlease
 @@ -286,13 +286,7 @@
  LIBZ := contrib/install/$(ARCH)/lib/libz.a
  
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
index ac58a43aecb..203afa93b45 100644
--- a/pkgs/games/crawl/default.nix
+++ b/pkgs/games/crawl/default.nix
@@ -1,6 +1,9 @@
 { stdenv, lib, fetchFromGitHub, fetchpatch, which, sqlite, lua5_1, perl, python3, zlib, pkgconfig, ncurses
 , dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU_combined, freetype, pngcrush, advancecomp
 , tileMode ? false, enableSound ? tileMode
+
+# MacOS / Darwin builds
+, darwin ? null
 }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +18,7 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    ./crawl_purify.patch  # Patch hard-coded paths
+    ./crawl_purify.patch  # Patch hard-coded paths and remove force library builds
     (fetchpatch {         # Use a nice high-res app icon
       url = "https://github.com/crawl/crawl/commit/2aa1166087e44e6585b26cedf1fe81b3f3ba547f.patch";
       sha256 = "1jqrdv4wy18shg1fdabdb421232hg5micphkixcyzxd1lrmvadg0";
@@ -28,7 +31,13 @@ stdenv.mkDerivation rec {
   buildInputs = [ lua5_1 zlib sqlite ncurses ]
                 ++ (with python3.pkgs; [ pyyaml ])
                 ++ lib.optionals tileMode [ libpng SDL2 SDL2_image freetype libGLU_combined ]
-                ++ lib.optional enableSound SDL2_mixer;
+                ++ lib.optional enableSound SDL2_mixer
+                ++ (lib.optionals stdenv.isDarwin (
+                  assert (lib.assertMsg (darwin != null) "Must have darwin frameworks available for darwin builds");
+                  with darwin.apple_sdk.frameworks; [
+                    AppKit AudioUnit CoreAudio ForceFeedback Carbon IOKit OpenGL
+                   ]
+                ));
 
   preBuild = ''
     cd crawl-ref/source
@@ -64,7 +73,7 @@ stdenv.mkDerivation rec {
       with dangerous and unfriendly monsters in a quest to rescue the
       mystifyingly fabulous Orb of Zot.
     '';
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     license = with licenses; [ gpl2Plus bsd2 bsd3 mit licenses.zlib cc0 ];
     maintainers = [ maintainers.abbradar ];
   };
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index e4958b8cfc3..41f3813b94b 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -31,24 +31,24 @@ in rec {
 
     ## see http://wiki.winehq.org/Mono
     mono = fetchurl rec {
-      version = "4.8.3";
+      version = "4.9.0";
       url = "http://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}.msi";
-      sha256 = "0xhavcjwwr21am3bxp2cxlvykwasw8y4g8p470j5fg7skc0izynn";
+      sha256 = "04y7w57cgay74227qci1bjbzwvclkawwljqvgd7a5yhhdz7cfblf";
     };
   };
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "4.9";
+    version = "4.12.1";
     url = "https://dl.winehq.org/wine/source/4.x/wine-${version}.tar.xz";
-    sha256 = "16vrzhhk0x862mfhninx5515s76j2kbjgmz7gzdigjzkzwi8x14i";
+    sha256 = "09yjfb2k14y11k19lm8dqmb8qwxyhh67d5q1gqv480y64mljvkx0";
     inherit (stable) mono gecko32 gecko64;
   };
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
     inherit (unstable) version;
-    sha256 = "17v66rsxvm3grglidxxzllw4msfrgwg35hmzanvrf8x8jfzjlvv2";
+    sha256 = "1bvpvj6vcw2p6vcjm6mw5maarbs4lfw1ix3pj020w4n3kg4nmmc4";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/pkgs/os-specific/linux/trace-cmd/default.nix b/pkgs/os-specific/linux/trace-cmd/default.nix
index 33dbfe5bf0a..3133602b44e 100644
--- a/pkgs/os-specific/linux/trace-cmd/default.nix
+++ b/pkgs/os-specific/linux/trace-cmd/default.nix
@@ -1,25 +1,40 @@
 { stdenv, fetchgit, asciidoc, docbook_xsl, libxslt }:
-
 stdenv.mkDerivation rec {
   name    = "trace-cmd-${version}";
-  version = "2.6";
+  version = "2.8.3";
 
-  src = fetchgit {
-    url    = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git";
-    rev    = "refs/tags/trace-cmd-v${version}";
-    sha256 = "15d6b7l766h2mamqgphx6l6a33b1zn0yar2h7i6b24ph6kz3idxn";
-  };
+  src = fetchgit (import ./src.nix);
+
+  patches = [ ./fix-Makefiles.patch ];
+
+  nativeBuildInputs = [ asciidoc libxslt ];
 
-  buildInputs = [ asciidoc libxslt ];
+  outputs = [ "out" "lib" "dev" "man" ];
+
+  MANPAGE_DOCBOOK_XSL="${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl";
 
   dontConfigure = true;
-  buildPhase     = "make prefix=$out MANPAGE_DOCBOOK_XSL=${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl all doc";
-  installPhase   = "make prefix=$out install install_doc";
 
-  meta = {
+  buildPhase = "make trace-cmd libs doc";
+
+  installTargets = [ "install_cmd" "install_libs" "install_man" ];
+  installFlags = [
+    "bindir=${placeholder "out"}/bin"
+    "man_dir=${placeholder "man"}/share/man"
+    "libdir=${placeholder "lib"}/lib"
+    "includedir=${placeholder "dev"}/include/trace-cmd"
+    "BASH_COMPLETE_DIR=${placeholder "out"}/etc/bash_completion.d"
+  ];
+
+  postInstall = ''
+    mv $dev/include/trace-cmd/traceevent $dev/include/traceevent
+  '';
+
+  meta = with stdenv.lib; {
     description = "User-space tools for the Linux kernel ftrace subsystem";
-    license     = stdenv.lib.licenses.gpl2;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    homepage    = http://kernelshark.org/;
+    license     = licenses.gpl2;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ thoughtpolice basvandijk ];
   };
 }
diff --git a/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch b/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch
new file mode 100644
index 00000000000..0d6f5c5d8bf
--- /dev/null
+++ b/pkgs/os-specific/linux/trace-cmd/fix-Makefiles.patch
@@ -0,0 +1,52 @@
+diff --git a/Documentation/Makefile b/Documentation/Makefile
+index 21e42fd..826361d 100644
+--- a/Documentation/Makefile
++++ b/Documentation/Makefile
+@@ -108,7 +108,11 @@ $(IMGS_INSTALL): %.png.install : %.png force
+ 
+ GUI_INSTALL = $(HTML_INSTALL) $(IMGS_INSTALL)
+ 
+-install: $(MAN1_INSTALL) $(MAN5_INSTALL) $(GUI_INSTALL)
++install_man: $(MAN1_INSTALL) $(MAN5_INSTALL)
++
++install_gui: $(GUI_INSTALL)
++
++install: install_man install_gui
+ 
+ clean:
+ 	(cd $(obj); \
+diff --git a/Makefile b/Makefile
+index 2bcc383..107ead0 100644
+--- a/Makefile
++++ b/Makefile
+@@ -289,7 +289,7 @@ libtraceevent.a: $(LIBTRACEEVENT_STATIC)
+ libtracecmd.a: $(LIBTRACECMD_STATIC)
+ libtracecmd.so: $(LIBTRACECMD_SHARED)
+ 
+-libs: $(LIBTRACECMD_SHARED) $(LIBTRACEEVENT_SHARED)
++libs: $(LIBTRACECMD_SHARED) $(LIBTRACEEVENT_SHARED) $(LIBTRACECMD_STATIC) $(LIBTRACEEVENT_STATIC)
+ 
+ plugins: force $(obj)/plugins/trace_plugin_dir $(obj)/plugins/trace_python_dir
+ 	$(Q)$(MAKE) -C $(src)/plugins
+@@ -345,6 +345,8 @@ install_gui: install_cmd gui
+ install_libs: libs
+ 	$(Q)$(call do_install,$(LIBTRACECMD_SHARED),$(libdir_SQ))
+ 	$(Q)$(call do_install,$(LIBTRACEEVENT_SHARED),$(libdir_SQ))
++	$(Q)$(call do_install,$(LIBTRACECMD_STATIC),$(libdir_SQ))
++	$(Q)$(call do_install,$(LIBTRACEEVENT_STATIC),$(libdir_SQ))
+ 	$(Q)$(call do_install,$(src)/include/traceevent/event-parse.h,$(includedir_SQ)/traceevent)
+ 	$(Q)$(call do_install,$(src)/include/traceevent/trace-seq.h,$(includedir_SQ)/traceevent)
+ 	$(Q)$(call do_install,$(src)/include/trace-cmd/trace-cmd.h,$(includedir_SQ))
+@@ -356,6 +358,12 @@ doc:
+ doc_clean:
+ 	$(MAKE) -C $(src)/Documentation clean
+ 
++install_man:
++	$(MAKE) -C $(src)/Documentation install_man
++
++install_gui_docs:
++	$(MAKE) -C $(src)/Documentation install_gui
++
+ install_doc:
+ 	$(MAKE) -C $(src)/Documentation install
+ 
diff --git a/pkgs/os-specific/linux/trace-cmd/kernelshark.nix b/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
new file mode 100644
index 00000000000..8e49af77139
--- /dev/null
+++ b/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
@@ -0,0 +1,39 @@
+{ stdenv, mkDerivation, fetchgit, qtbase, cmake, json_c, mesa_glu, freeglut, trace-cmd, pkg-config }:
+mkDerivation rec {
+  pname = "kernelshark";
+  version = "0.9.8";
+
+  src = fetchgit (import ./src.nix);
+
+  patches = [ ./fix-Makefiles.patch ];
+
+  outputs = [ "out" "doc" ];
+
+  preConfigure = "pushd kernel-shark";
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ qtbase json_c mesa_glu freeglut pkg-config ];
+
+  cmakeFlags = [
+    "-D_INSTALL_PREFIX=${placeholder "out"}"
+    "-DTRACECMD_BIN_DIR=${trace-cmd}/bin"
+    "-DTRACECMD_INCLUDE_DIR=${trace-cmd.dev}/include"
+    "-DTRACECMD_LIBRARY=${trace-cmd.lib}/lib/libtracecmd.a"
+    "-DTRACEEVENT_LIBRARY=${trace-cmd.lib}/lib/libtraceevent.a"
+  ];
+
+  preInstall = ''
+    popd
+    make install_gui_docs prefix=$doc
+    pushd kernel-shark/build
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GUI for trace-cmd which is an interface for the Linux kernel ftrace subsystem";
+    homepage    = http://kernelshark.org/;
+    license     = licenses.gpl2;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ basvandijk ];
+  };
+}
diff --git a/pkgs/os-specific/linux/trace-cmd/src.nix b/pkgs/os-specific/linux/trace-cmd/src.nix
new file mode 100644
index 00000000000..836e71b1851
--- /dev/null
+++ b/pkgs/os-specific/linux/trace-cmd/src.nix
@@ -0,0 +1,5 @@
+{
+  url    = "git://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/";
+  rev    = "138c70106835ee0f05879e7f2f46bca8dae7ca99"; # branch: trace-cmd-stable-v2.8
+  sha256 = "1grpip7lywf98nsm7ql1d6bgc0ky0672savr8jz3a8hf9ny265nx";
+}
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
index 60ff9cab2d3..88c973de0d1 100644
--- a/pkgs/servers/mail/exim/default.nix
+++ b/pkgs/servers/mail/exim/default.nix
@@ -6,11 +6,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "exim-4.92";
+  name = "exim-4.92.1";
 
   src = fetchurl {
     url = "https://ftp.exim.org/pub/exim/exim4/${name}.tar.xz";
-    sha256 = "0qhxxwl0nhzgp0w3pjkhx9z9lqfpk8id25q5ghf9ay2f90mydjba";
+    sha256 = "1d14vs6jdw2bm9m33w2szxpv8rppbk7hvszq9p0n9i3svmqshr1c";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
index b23270cd8c1..1a623a3171d 100644
--- a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
@@ -1,9 +1,8 @@
-# This file was generated by go2nix.
 { lib, buildGoPackage, fetchFromGitHub, makeWrapper, varnish }:
 
 buildGoPackage rec {
   name = "prometheus_varnish_exporter-${version}";
-  version = "1.4";
+  version = "1.5";
 
   goPackagePath = "github.com/jonnenauha/prometheus_varnish_exporter";
 
@@ -11,7 +10,7 @@ buildGoPackage rec {
     owner = "jonnenauha";
     repo = "prometheus_varnish_exporter";
     rev = version;
-    sha256 = "12gd09858zlhn8gkkchfwxv0ca2r72s18wrsz0agfr8pd1gxqh6j";
+    sha256 = "1040x7fk3s056yrn95siilhi8c9cci2mdncc1xfjf5xj87421qx8";
   };
 
   goDeps = ./varnish-exporter_deps.nix;
@@ -26,7 +25,7 @@ buildGoPackage rec {
   doCheck = true;
 
   meta = {
-    homepage = https://github.com/jonnenauha/prometheus_varnish_exporter;
+    homepage = "https://github.com/jonnenauha/prometheus_varnish_exporter";
     description = "Varnish exporter for Prometheus";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ MostAwesomeDude willibutz ];
diff --git a/pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix b/pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix
index 19ff1e9aa56..aeacbb5cee8 100644
--- a/pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix
+++ b/pkgs/servers/monitoring/prometheus/varnish-exporter_deps.nix
@@ -1,11 +1,75 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
 [
   {
+    goPackagePath = "github.com/alecthomas/template";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/template";
+      rev = "a0175ee3bccc";
+      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/units";
+      rev = "2efee857e7cf";
+      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+    };
+  }
+  {
     goPackagePath = "github.com/beorn7/perks";
     fetch = {
       type = "git";
       url = "https://github.com/beorn7/perks";
-      rev = "3a771d992973f24aa725d07868b467d1ddfceafb";
-      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
+      rev = "v1.0.0";
+      sha256 = "1i1nz1f6g55xi2y3aiaz5kqfgvknarbfl4f0sx4nyyb4s7xb1z9x";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-kit/kit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-kit/kit";
+      rev = "v0.8.0";
+      sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-logfmt/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-logfmt/logfmt";
+      rev = "v0.3.0";
+      sha256 = "1gkgh3k5w1xwb2qbjq52p6azq3h1c1rr6pfwjlwj1zrijpzn2xb9";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-stack/stack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-stack/stack";
+      rev = "v1.8.0";
+      sha256 = "0wk25751ryyvxclyp8jdk5c3ar0cmfr8lrjb66qbg4808x66b96v";
+    };
+  }
+  {
+    goPackagePath = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev = "v1.1.1";
+      sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2";
     };
   }
   {
@@ -13,8 +77,44 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265";
-      sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq";
+      rev = "v1.3.1";
+      sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl";
+    };
+  }
+  {
+    goPackagePath = "github.com/json-iterator/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/json-iterator/go";
+      rev = "v1.1.6";
+      sha256 = "08caswxvdn7nvaqyj5kyny6ghpygandlbw9vxdj7l5vkp7q0s43r";
+    };
+  }
+  {
+    goPackagePath = "github.com/julienschmidt/httprouter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/julienschmidt/httprouter";
+      rev = "v1.2.0";
+      sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666";
+    };
+  }
+  {
+    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev = "v1.0.1";
+      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/logfmt";
+      rev = "b84e30acd515";
+      sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
     };
   }
   {
@@ -22,17 +122,62 @@
     fetch = {
       type = "git";
       url = "https://github.com/matttproud/golang_protobuf_extensions";
-      rev = "c12348ce28de40eed0136aa2b644d0ee0650e56c";
+      rev = "v1.0.1";
       sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
     };
   }
   {
+    goPackagePath = "github.com/modern-go/concurrent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/concurrent";
+      rev = "bacd9c7ef1dd";
+      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
+    };
+  }
+  {
+    goPackagePath = "github.com/modern-go/reflect2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/reflect2";
+      rev = "v1.0.1";
+      sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf";
+    };
+  }
+  {
+    goPackagePath = "github.com/mwitkow/go-conntrack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mwitkow/go-conntrack";
+      rev = "cc309e4a2223";
+      sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "v0.8.0";
+      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+    };
+  }
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
     goPackagePath = "github.com/prometheus/client_golang";
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_golang";
-      rev = "82f5ff156b29e276022b1a958f7d385870fb9814";
-      sha256 = "111j329yrlgvh73dm80gawwxsh9dgjkw74254kyj5c2rfmra7znz";
+      rev = "v1.0.0";
+      sha256 = "1f03ndyi3jq7zdxinnvzimz3s4z2374r6dikkc8i42xzb6d1bli6";
     };
   }
   {
@@ -40,8 +185,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_model";
-      rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c";
-      sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998";
+      rev = "fd36f4220a90";
+      sha256 = "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5";
     };
   }
   {
@@ -49,8 +194,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/common";
-      rev = "d811d2e9bf898806ecfb6ef6296774b13ffc314c";
-      sha256 = "0r4067r4ysmljksqw3awcxx5qplqhykahc5igdzgkky7i4bvaik1";
+      rev = "v0.4.1";
+      sha256 = "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s";
     };
   }
   {
@@ -58,8 +203,98 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/procfs";
-      rev = "8b1c2da0d56deffdbb9e48d4414b4e674bd8083e";
-      sha256 = "0x128p15h35mgwqxkigfkk1lfrcz9g697ahl8v6xp9kwvcqvjrrf";
+      rev = "v0.0.2";
+      sha256 = "0s7pvs7fgnfpmym3cd0k219av321h9sf3yvdlnn3qy0ps280lg7k";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.2.0";
+      sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.1";
+      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.3.0";
+      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "0709b304e793";
+      sha256 = "0i05s09y5pavmfh71fgih7syxg58x7a4krgd8am6d3mnahnmab5c";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "adae6a3d119a";
+      sha256 = "1fx860zsgzqk28j7lmp96qsfrgb0kzbfjvr294hywswcbwdwkb01";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "37e7f081c4d4";
+      sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "5ac8a444bdc5";
+      sha256 = "00zdrighflwc4iyizsag184nvl1cbkk02v73kpl5miprdrvzqlr4";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev = "v2.2.6";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "20d25e280405";
+      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.1";
+      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
     };
   }
 ]
diff --git a/pkgs/shells/xonsh/default.nix b/pkgs/shells/xonsh/default.nix
index 12d39c5bdab..b896b8b088e 100644
--- a/pkgs/shells/xonsh/default.nix
+++ b/pkgs/shells/xonsh/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "xonsh";
-  version = "0.9.6";
+  version = "0.9.8";
 
   # fetch from github because the pypi package ships incomplete tests
   src = fetchFromGitHub {
-    owner  = "scopatz";
+    owner  = "xonsh";
     repo   = "xonsh";
     rev    = "refs/tags/${version}";
     sha256 = "0lnvx1kdk1nwv988wrxyvbzb25xawz517amvi4pwzs22bymcdhws";
diff --git a/pkgs/tools/compression/advancecomp/default.nix b/pkgs/tools/compression/advancecomp/default.nix
index db1e1dbfd85..4f288b9e56f 100644
--- a/pkgs/tools/compression/advancecomp/default.nix
+++ b/pkgs/tools/compression/advancecomp/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     description = ''A set of tools to optimize deflate-compressed files'';
     license = licenses.gpl3 ;
     maintainers = [ maintainers.raskin ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     homepage = https://github.com/amadvance/advancecomp;
 
   };
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d9932678a98..3b6987cff20 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4340,8 +4340,6 @@ in
 
   nodePackages = nodePackages_10_x;
 
-  npm2nix = nodePackages.npm2nix;
-
   now-cli = callPackage ../development/web/now-cli {};
 
   file-rename = callPackage ../tools/filesystems/file-rename { };
@@ -6401,6 +6399,8 @@ in
 
   trace-cmd = callPackage ../os-specific/linux/trace-cmd { };
 
+  kernelshark = libsForQt5.callPackage ../os-specific/linux/trace-cmd/kernelshark.nix { };
+
   traceroute = callPackage ../tools/networking/traceroute { };
 
   tracebox = callPackage ../tools/networking/tracebox { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 9bb23598232..2ef2dae60e2 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4022,6 +4022,8 @@ in {
 
   fixtures = callPackage ../development/python-modules/fixtures { };
 
+  fipy = callPackage ../development/python-modules/fipy { };
+
   pelican = callPackage ../development/python-modules/pelican {
     inherit (pkgs) glibcLocales git;
   };
@@ -4287,6 +4289,8 @@ in {
 
   pyspread = callPackage ../development/python-modules/pyspread { };
 
+  pysparse = callPackage ../development/python-modules/pysparse { };
+
   pyupdate = callPackage ../development/python-modules/pyupdate {};
 
   pyx = callPackage ../development/python-modules/pyx { };
@@ -4463,6 +4467,8 @@ in {
 
   pyxattr = callPackage ../development/python-modules/pyxattr { };
 
+  pyamg = callPackage ../development/python-modules/pyamg { };
+
   pyaml = callPackage ../development/python-modules/pyaml { };
 
   pyyaml = callPackage ../development/python-modules/pyyaml { };
@@ -4693,6 +4699,8 @@ in {
 
   scikit-tda = callPackage ../development/python-modules/scikit-tda { };
 
+  scikit-fmm = callPackage ../development/python-modules/scikit-fmm { };
+
   scp = callPackage ../development/python-modules/scp {};
 
   seaborn = callPackage ../development/python-modules/seaborn { };