about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/pulseaudio-dlna/default.nix20
-rw-r--r--pkgs/applications/audio/spectmorph/default.nix4
-rw-r--r--pkgs/applications/graphics/gimp/default.nix5
-rw-r--r--pkgs/applications/graphics/gimp/remove-cc-reference.patch16
-rw-r--r--pkgs/applications/misc/electrum/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/bare.nix56
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/default.nix74
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/isDev.patch14
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix43
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/sencha/response.varfile13
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix236
-rw-r--r--pkgs/applications/networking/instant-messengers/turses/default.nix2
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/tixati/default.nix4
-rw-r--r--pkgs/applications/networking/ssb/patchwork/default.nix10
-rw-r--r--pkgs/applications/science/machine-learning/shogun/default.nix82
-rw-r--r--pkgs/applications/version-management/sourcehut/default.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/fetchNodeModules.nix (renamed from pkgs/applications/networking/instant-messengers/rambox/fetchNodeModules.nix)0
-rw-r--r--pkgs/applications/video/shotcut/default.nix4
-rw-r--r--pkgs/data/icons/numix-icon-theme-circle/default.nix8
-rw-r--r--pkgs/data/icons/numix-icon-theme-square/default.nix12
-rw-r--r--pkgs/development/compilers/swift/default.nix10
-rw-r--r--pkgs/development/compilers/swift/patches/swift-package-manager-glibc-2.30.patch25
-rw-r--r--pkgs/development/libraries/gegl/4.0.nix6
-rw-r--r--pkgs/development/libraries/libfido2/default.nix4
-rw-r--r--pkgs/development/libraries/mypaint-brushes/1.0.nix13
-rw-r--r--pkgs/development/libraries/physics/lhapdf/pdf_sets.nix2
-rw-r--r--pkgs/development/libraries/sundials/3.x.nix52
-rw-r--r--pkgs/development/python-modules/cvxpy/default.nix49
-rw-r--r--pkgs/development/python-modules/face_recognition/default.nix6
-rw-r--r--pkgs/development/python-modules/pyodbc/default.nix4
-rw-r--r--pkgs/development/python-modules/pysam/default.nix27
-rw-r--r--pkgs/development/python-modules/scikits-odes/default.nix17
-rw-r--r--pkgs/development/tools/build-managers/apache-maven/builder.sh2
-rw-r--r--pkgs/development/tools/build-managers/bazel/buildtools/default.nix20
-rw-r--r--pkgs/development/tools/build-managers/bazel/buildtools/deps.nix9
-rw-r--r--pkgs/development/tools/build-managers/cmake/2.8.nix5
-rw-r--r--pkgs/development/tools/ocaml/dune/2.nix4
-rw-r--r--pkgs/development/tools/yq-go/default.nix21
-rw-r--r--pkgs/development/tools/yq-go/deps.nix363
-rw-r--r--pkgs/misc/vim-plugins/vim-utils.nix5
-rw-r--r--pkgs/os-specific/linux/pax-utils/default.nix4
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix4
-rw-r--r--pkgs/tools/backup/wal-g/default.nix20
-rw-r--r--pkgs/tools/backup/wal-g/deps.nix588
-rw-r--r--pkgs/tools/graphics/gifski/default.nix11
-rw-r--r--pkgs/tools/system/plan9port/builder.sh13
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix11
-rw-r--r--pkgs/top-level/python-packages.nix8
53 files changed, 1060 insertions, 881 deletions
diff --git a/pkgs/applications/audio/pulseaudio-dlna/default.nix b/pkgs/applications/audio/pulseaudio-dlna/default.nix
index a9f56cca0015..75990d593dfe 100644
--- a/pkgs/applications/audio/pulseaudio-dlna/default.nix
+++ b/pkgs/applications/audio/pulseaudio-dlna/default.nix
@@ -16,10 +16,10 @@ assert vorbisSupport -> vorbisTools != null;
 
 let
   zeroconf = pythonPackages.callPackage ./zeroconf.nix { };
-
-in pythonPackages.buildPythonApplication {
+in
+pythonPackages.buildPythonApplication {
   pname = "pulseaudio-dlna";
-  version = "2017-11-01";
+  version = "unstable-2017-11-01";
 
   src = fetchFromGitHub {
     owner = "masmu";
@@ -28,12 +28,9 @@ in pythonPackages.buildPythonApplication {
     sha256 = "1dfn7036vrq49kxv4an7rayypnm5dlawsf02pfsldw877hzdamqk";
   };
 
-  # pulseaudio-dlna has no tests
-  doCheck = false;
-
   propagatedBuildInputs = with pythonPackages; [
     dbus-python docopt requests setproctitle protobuf psutil futures
-    chardet notify2 netifaces pyroute2 pygobject2 lxml ]
+    chardet notify2 netifaces pyroute2 pygobject2 lxml setuptools ]
     ++ [ zeroconf ]
     ++ stdenv.lib.optional mp3Support lame
     ++ stdenv.lib.optional opusSupport opusTools
@@ -42,12 +39,15 @@ in pythonPackages.buildPythonApplication {
     ++ stdenv.lib.optional soxSupport sox
     ++ stdenv.lib.optional vorbisSupport vorbisTools;
 
+  # upstream has no tests
+  checkPhase = ''
+    $out/bin/pulseaudio-dlna --help > /dev/null
+  '';
+
   meta = with stdenv.lib; {
     description = "A lightweight streaming server which brings DLNA / UPNP and Chromecast support to PulseAudio and Linux";
-    homepage = https://github.com/masmu/pulseaudio-dlna;
-
+    homepage = "https://github.com/masmu/pulseaudio-dlna";
     license = licenses.gpl3Plus;
-
     maintainers = with maintainers; [ mog ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/audio/spectmorph/default.nix b/pkgs/applications/audio/spectmorph/default.nix
index 7544a3520c76..a4f48aa0c21c 100644
--- a/pkgs/applications/audio/spectmorph/default.nix
+++ b/pkgs/applications/audio/spectmorph/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "spectmorph";
-  version = "0.5.0";
+  version = "0.5.1";
   src = fetchurl {
     url = "http://spectmorph.org/files/releases/${pname}-${version}.tar.bz2";
-    sha256 = "003wznv3sy1b4g55vqii9pr3i3bb3zmj7nqvwrz7vjsfn2xyd1bn";
+    sha256 = "06jrfx5g9c56swxn78lix0gyrjkhi21l9wqs56knp8iqcgfi3m0s";
   };
 
   buildInputs = [  libjack2 lv2 glib qt5.qtbase libao cairo libsndfile fftwFloat ];
diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix
index d3950c06c339..e9223b1453e2 100644
--- a/pkgs/applications/graphics/gimp/default.nix
+++ b/pkgs/applications/graphics/gimp/default.nix
@@ -50,13 +50,13 @@ let
   inherit (python2Packages) pygtk wrapPython python;
 in stdenv.mkDerivation rec {
   pname = "gimp";
-  version = "2.10.14";
+  version = "2.10.16";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "http://download.gimp.org/pub/gimp/v${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0m6wdnfvsxyhimdd4v3351g4r1fklllnbipbwcfym3h7q88hz6yz";
+    sha256 = "1sybf1yilw272lr8qbyx3zbvysf5rc89gk80gd4aj4xr6jazxyfb";
   };
 
   nativeBuildInputs = [
@@ -155,6 +155,7 @@ in stdenv.mkDerivation rec {
 
   configureFlags = [
     "--without-webkit" # old version is required
+    "--disable-check-update"
     "--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new"
     "--with-icc-directory=/run/current-system/sw/share/color/icc"
     # fix libdir in pc files (${exec_prefix} needs to be passed verbatim)
diff --git a/pkgs/applications/graphics/gimp/remove-cc-reference.patch b/pkgs/applications/graphics/gimp/remove-cc-reference.patch
index 0d6a87000ccd..e37351cfd463 100644
--- a/pkgs/applications/graphics/gimp/remove-cc-reference.patch
+++ b/pkgs/applications/graphics/gimp/remove-cc-reference.patch
@@ -1,13 +1,15 @@
 diff --git a/app/gimp-version.c b/app/gimp-version.c
-index 12605c6..a9083da 100644
+index 0f7bfb9bf9..1679624b8e 100644
 --- a/app/gimp-version.c
 +++ b/app/gimp-version.c
-@@ -203,7 +203,7 @@ gimp_version (gboolean be_verbose,
-       lib_versions = gimp_library_versions (localized);
-       verbose_info = g_strdup_printf ("git-describe: %s\n"
-                                       "C compiler:\n%s\n%s",
--                                      GIMP_GIT_VERSION, CC_VERSION,
-+                                      GIMP_GIT_VERSION, "@cc_version@",
+@@ -228,9 +228,9 @@
+                                       "# Libraries #\n%s",
+                                       GIMP_GIT_VERSION,
+                                       GIMP_BUILD_ID,
+                                       gimp_version_get_revision (),
+                                       GIMP_BUILD_PLATFORM,
+-                                      CC_VERSION,
++                                      "@cc_version@",
                                        lib_versions);
        g_free (lib_versions);
  
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index df95b26b9c5b..924d4dc9e0b5 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -90,6 +90,7 @@ python3Packages.buildPythonApplication {
   '' + (if enableQt then ''
     substituteInPlace ./electrum/qrscanner.py \
       --replace ${libzbar_name} ${zbar.lib}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary}
+    sed -i 's/qdarkstyle<2.7/qdarkstyle<3.0/' contrib/requirements/requirements.txt
   '' else ''
     sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt
   '');
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index caaecd0ab9f6..53d58334b86f 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -82,11 +82,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.3.115";
+  version = "1.3.118";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "1k9g1zjnn0bhyw133padpyym73x8v1i3nm65a040bgkwh6a5jaj8";
+    sha256 = "1pmz10h35fm54453h7m0qiynyfpfmwaicmwzs41c4h8xavqgr6mb";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/instant-messengers/rambox/bare.nix b/pkgs/applications/networking/instant-messengers/rambox/bare.nix
deleted file mode 100644
index 1a11e8c04439..000000000000
--- a/pkgs/applications/networking/instant-messengers/rambox/bare.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, fetchFromGitHub, fetchNodeModules, nodejs-10_x, ruby, sencha
-, auth0ClientID, auth0Domain }:
-
-stdenv.mkDerivation rec {
-  pname = "rambox-bare";
-  version = "0.7.3";
-
-  src = fetchFromGitHub {
-    owner = "ramboxapp";
-    repo = "community-edition";
-    rev = version;
-    sha256 = "03pwzyij2i5m23qzhyqdcipixmqj46qbjmq626swwqy03a0p91qv";
-  };
-
-  nativeBuildInputs = [ nodejs-10_x ruby sencha ];
-
-  node_modules = fetchNodeModules {
-    inherit src;
-
-    nodejs = nodejs-10_x;
-    sha256 = "05vb0r0q3ckg2g87fsm22j0cbfvk81q5z43zwmrzh3pb3zh54xj1";
-  };
-
-  patches = [ ./isDev.patch ];
-
-  configurePhase = ''
-    echo 'var auth0Cfg = { clientID: "${auth0ClientID}", domain: "${auth0Domain}" };' > env.js
-    ln -s ${node_modules} node_modules
-  '';
-
-  buildPhase = ''
-    mkdir ../rambox-build
-    npm run sencha:compile:build
-  '';
-
-  installPhase = ''
-    mv ../rambox-build/ $out
-
-    # https://github.com/saenzramiro/rambox/issues/1281
-    echo '{"name": "rambox", "version": "${version}", "main": "electron/main.js"}' > $out/package.json
-
-    # https://github.com/saenzramiro/rambox/issues/1282
-    cp --parents ext/packages/ext-locale/build/ext-locale-*.js $out
-
-    # Symbolic link causes `Uncaught Error: Cannot find module 'immutable'`
-    cp -r ${node_modules} $out/node_modules
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Messaging and emailing app that combines common web applications into one";
-    homepage = http://rambox.pro;
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ gnidorah ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix
index f588c31c183d..488da12c18c2 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix
@@ -1,52 +1,50 @@
-{ stdenv, newScope, makeWrapper
-, electron, xdg_utils, makeDesktopItem
-, auth0ClientID ? "0spuNKfIGeLAQ_Iki9t3fGxbfJl3k8SU"
-, auth0Domain ? "nixpkgs.auth0.com" }:
+{ stdenv, fetchurl, xdg_utils, dpkg, makeWrapper, autoPatchelfHook
+, libXtst, libXScrnSaver, gtk3, nss, alsaLib, udev, libnotify
+}:
 
 let
-  callPackage = newScope self;
-  self = {
-    fetchNodeModules = callPackage ./fetchNodeModules.nix {};
-    rambox-bare = callPackage ./bare.nix {
-      inherit auth0ClientID auth0Domain;
+  version = "0.7.3";
+in stdenv.mkDerivation rec {
+  pname = "rambox";
+  inherit version;
+  src = {
+    x86_64-linux = fetchurl {
+      url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-amd64.deb";
+      sha256 = "09v8zlayas906zhqy2aw4wkvyl87ykr09sjf0nmgmf69piwmjgg6";
     };
-    sencha = callPackage ./sencha {};
-  };
-  desktopItem = makeDesktopItem rec {
-    name = "Rambox";
-    exec = "rambox";
-    icon = "${self.rambox-bare}/resources/Icon.png";
-    desktopName = name;
-    genericName = "Rambox messenger";
-    categories = "Network;";
-  };
-in
-
-with self;
-
-stdenv.mkDerivation {
-  name = "rambox-${rambox-bare.version}";
-
-  nativeBuildInputs = [ makeWrapper ];
+    i686-linux = fetchurl {
+      url = "https://github.com/ramboxapp/community-edition/releases/download/${version}/Rambox-${version}-linux-i386.deb";
+      sha256 = "0gv4pf3vhrw4xyccm24ivv92d9qy4zpwsh0m82ib1w764lyxmyrz";
+    };
+  }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
 
-  dontUnpack = true;
+  nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook ];
+  buildInputs = [ libXtst libXScrnSaver gtk3 nss alsaLib ];
+  runtimeDependencies = [ udev.lib libnotify ];
 
-  dontWrapGApps = true; # we only want $gappsWrapperArgs here
+  unpackPhase = "dpkg-deb -x $src .";
 
   installPhase = ''
-    runHook preInstall
-    mkdir -p $out/share/applications
-    ln -s ${desktopItem}/share/applications/* $out/share/applications
-    runHook postInstall
+    mkdir -p $out/bin
+    cp -r opt $out
+    ln -s $out/opt/Rambox/rambox $out/bin
+
+    # provide resources
+    cp -r usr/share $out
+    substituteInPlace $out/share/applications/rambox.desktop \
+      --replace Exec=/opt/Rambox/rambox Exec=rambox
   '';
 
   postFixup = ''
-    makeWrapper ${electron}/bin/electron $out/bin/rambox \
-      --add-flags "${rambox-bare} --without-update" \
-      --prefix PATH : ${xdg_utils}/bin
+    wrapProgram $out/opt/Rambox/rambox --prefix PATH : ${xdg_utils}/bin
   '';
 
-  meta = rambox-bare.meta // {
-    platforms = [ "i686-linux" "x86_64-linux" ];
+  meta = with stdenv.lib; {
+    description = "Free and Open Source messaging and emailing app that combines common web applications into one";
+    homepage = http://rambox.pro;
+    license = licenses.mit;
+    maintainers = [ maintainers.gnidorah ];
+    platforms = ["i686-linux" "x86_64-linux"];
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/rambox/isDev.patch b/pkgs/applications/networking/instant-messengers/rambox/isDev.patch
deleted file mode 100644
index b918144c7662..000000000000
--- a/pkgs/applications/networking/instant-messengers/rambox/isDev.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://github.com/saenzramiro/rambox/issues/1280
-
-diff -urNZ a/electron/main.js b/electron/main.js
---- a/electron/main.js	2017-11-02 14:58:06.085127616 +0000
-+++ b/electron/main.js	2017-11-02 14:58:18.316887679 +0000
-@@ -8,7 +8,7 @@
- // Configuration
- const Config = require('electron-config');
- // Development
--const isDev = require('electron-is-dev');
-+const isDev = false;
- // Updater
- const updater = require('./updater');
- // File System
diff --git a/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix b/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix
deleted file mode 100644
index 30b12963b337..000000000000
--- a/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, gzip, which, unzip, jdk }:
-
-let
-  version = "6.6.0.13";
-  srcs = {
-    i686-linux = fetchurl {
-      url = "https://cdn.sencha.com/cmd/${version}/no-jre/SenchaCmd-${version}-linux-i386.sh.zip";
-      sha256 = "15b197108b49mf0afpihkh3p68lxm7580zz2w0xsbahglnvhwyfz";
-    };
-    x86_64-linux = fetchurl {
-      url = "https://cdn.sencha.com/cmd/${version}/no-jre/SenchaCmd-${version}-linux-amd64.sh.zip";
-      sha256 = "1cxhckmx1802p9qiw09cgb1v5f30wcvnrwkshmia8p8n0q47lpp4";
-    };
-  };
-in
-
-stdenv.mkDerivation {
-  inherit version;
-
-  pname = "sencha-bare";
-  src = srcs.${stdenv.hostPlatform.system};
-
-  nativeBuildInputs = [ gzip which unzip ];
-  buildInputs = [ jdk ];
-
-  sourceRoot = ".";
-
-  configurePhase = ''
-    substituteAll ${./response.varfile} response.varfile
-  '';
-
-  installPhase = ''
-    ./SenchaCmd*.sh -q -dir $out -varfile response.varfile
-    # disallow sencha writing into /nix/store/repo
-    echo "repo.local.dir=$TMP/repo" >> $out/sencha.cfg
-    rm $out/shell-wrapper.sh $out/Uninstaller
-  '';
-
-  meta = with stdenv.lib; {
-    license = licenses.unfree;
-    platforms = attrNames srcs;
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix b/pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix
deleted file mode 100644
index 4be8edaf9b85..000000000000
--- a/pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, callPackage, makeWrapper }:
-
-let
-  sencha-bare = callPackage ./bare.nix {};
-in
-
-stdenv.mkDerivation {
-  name = "sencha-${sencha-bare.version}";
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  dontUnpack = true;
-
-  installPhase = ''
-    makeWrapper ${sencha-bare}/sencha $out/bin/sencha
-  '';
-}
diff --git a/pkgs/applications/networking/instant-messengers/rambox/sencha/response.varfile b/pkgs/applications/networking/instant-messengers/rambox/sencha/response.varfile
deleted file mode 100644
index 0ff6f0a30d50..000000000000
--- a/pkgs/applications/networking/instant-messengers/rambox/sencha/response.varfile
+++ /dev/null
@@ -1,13 +0,0 @@
-addToPath$Integer=1
-parentDir=.
-sys.adminRights$Boolean=false
-sys.component.148$Boolean=true
-sys.component.157$Boolean=true
-sys.component.26$Boolean=true
-sys.component.30$Boolean=true
-sys.component.90$Boolean=true
-sys.component.91$Boolean=true
-sys.component.92$Boolean=true
-sys.component.94$Boolean=true
-sys.installationDir=@out@
-sys.languageId=en
\ No newline at end of file
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index e501d3bcdbfc..32f50b6fd638 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -8,120 +8,146 @@ let
 
   version = "4.2.0";
 
-  rpath = stdenv.lib.makeLibraryPath [
-    alsaLib
-    at-spi2-atk
-    at-spi2-core
-    atk
-    cairo
-    cups
-    curl
-    dbus
-    expat
-    fontconfig
-    freetype
-    glib
-    gnome2.GConf
-    gdk-pixbuf
-    gtk3
-    pango
-    libnotify
-    libxcb
-    libappindicator-gtk3
-    nspr
-    nss
-    stdenv.cc.cc
-    systemd
-    libuuid
-    libpulseaudio
+  inherit (stdenv.hostPlatform) system;
 
-    xorg.libxkbfile
-    xorg.libX11
-    xorg.libXcomposite
-    xorg.libXcursor
-    xorg.libXdamage
-    xorg.libXext
-    xorg.libXfixes
-    xorg.libXi
-    xorg.libXrandr
-    xorg.libXrender
-    xorg.libXtst
-    xorg.libXScrnSaver
-  ] + ":${stdenv.cc.cc.lib}/lib64";
+  throwSystem = throw "Unsupported system: ${system}";
 
-  src =
-    if stdenv.hostPlatform.system == "x86_64-linux" then
-      fetchurl {
-        url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
-        sha256 = "01b2klhky04fijdqcpfafgdqx2c5nh2fpnzvzgvz10hv7h16cinv";
-      }
-    else
-      throw "Slack is not supported on ${stdenv.hostPlatform.system}";
-
-in stdenv.mkDerivation {
   pname = "slack";
-  inherit version;
-
-  inherit src;
-
-  buildInputs = [
-    gtk3  # needed for GSETTINGS_SCHEMAS_PATH
-  ];
-
-  nativeBuildInputs = [ dpkg makeWrapper nodePackages.asar ];
-
-  dontUnpack = true;
-  dontBuild = true;
-  dontPatchELF = true;
 
-  installPhase = ''
-    # The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
-    dpkg --fsys-tarfile $src | tar --extract
-    rm -rf usr/share/lintian
+  sha256 = {
+    x86_64-darwin = "0947a98m7yz4hldjvcqnv9s17dpvlsk9sflc1zc99hf500zck0w1";
+    x86_64-linux = "01b2klhky04fijdqcpfafgdqx2c5nh2fpnzvzgvz10hv7h16cinv";
+  }.${system} or throwSystem;
 
-    mkdir -p $out
-    mv usr/* $out
-
-    # Otherwise it looks "suspicious"
-    chmod -R g-w $out
-
-    for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do
-      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
-      patchelf --set-rpath ${rpath}:$out/lib/slack $file || true
-    done
-
-    # Replace the broken bin/slack symlink with a startup wrapper
-    rm $out/bin/slack
-    makeWrapper $out/lib/slack/slack $out/bin/slack \
-      --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
-      --prefix PATH : ${xdg_utils}/bin
-
-    # Fix the desktop link
-    substituteInPlace $out/share/applications/slack.desktop \
-      --replace /usr/bin/ $out/bin/ \
-      --replace /usr/share/ $out/share/
-  '' + stdenv.lib.optionalString (theme != null) ''
-    asar extract $out/lib/slack/resources/app.asar $out/lib/slack/resources/app.asar.unpacked
-    cat <<EOF >> $out/lib/slack/resources/app.asar.unpacked/dist/ssb-interop.bundle.js
-
-    var fs = require('fs');
-    document.addEventListener('DOMContentLoaded', function() {
-      fs.readFile('${theme}/theme.css', 'utf8', function(err, css) {
-        let s = document.createElement('style');
-        s.type = 'text/css';
-        s.innerHTML = css;
-        document.head.appendChild(s);
-      });
-    });
-    EOF
-    asar pack $out/lib/slack/resources/app.asar.unpacked $out/lib/slack/resources/app.asar
-  '';
 
   meta = with stdenv.lib; {
     description = "Desktop client for Slack";
     homepage = https://slack.com;
     license = licenses.unfree;
     maintainers = [ maintainers.mmahut ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-darwin" "x86_64-linux" ];
+  };
+
+  linux = stdenv.mkDerivation rec {
+    inherit pname version meta;
+    src = fetchurl {
+      url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
+      inherit sha256;
+    };
+
+    rpath = stdenv.lib.makeLibraryPath [
+      alsaLib
+      at-spi2-atk
+      at-spi2-core
+      atk
+      cairo
+      cups
+      curl
+      dbus
+      expat
+      fontconfig
+      freetype
+      glib
+      gnome2.GConf
+      gdk-pixbuf
+      gtk3
+      pango
+      libnotify
+      libxcb
+      libappindicator-gtk3
+      nspr
+      nss
+      stdenv.cc.cc
+      systemd
+      libuuid
+      libpulseaudio
+  
+      xorg.libxkbfile
+      xorg.libX11
+      xorg.libXcomposite
+      xorg.libXcursor
+      xorg.libXdamage
+      xorg.libXext
+      xorg.libXfixes
+      xorg.libXi
+      xorg.libXrandr
+      xorg.libXrender
+      xorg.libXtst
+      xorg.libXScrnSaver
+    ] + ":${stdenv.cc.cc.lib}/lib64";
+
+    buildInputs = [
+      gtk3  # needed for GSETTINGS_SCHEMAS_PATH
+    ];
+  
+    nativeBuildInputs = [ dpkg makeWrapper nodePackages.asar ];
+  
+    dontUnpack = true;
+    dontBuild = true;
+    dontPatchELF = true;
+  
+    installPhase = ''
+      # The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
+      dpkg --fsys-tarfile $src | tar --extract
+      rm -rf usr/share/lintian
+  
+      mkdir -p $out
+      mv usr/* $out
+  
+      # Otherwise it looks "suspicious"
+      chmod -R g-w $out
+  
+      for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do
+        patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
+        patchelf --set-rpath ${rpath}:$out/lib/slack $file || true
+      done
+  
+      # Replace the broken bin/slack symlink with a startup wrapper
+      rm $out/bin/slack
+      makeWrapper $out/lib/slack/slack $out/bin/slack \
+        --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
+        --prefix PATH : ${xdg_utils}/bin
+  
+      # Fix the desktop link
+      substituteInPlace $out/share/applications/slack.desktop \
+        --replace /usr/bin/ $out/bin/ \
+        --replace /usr/share/ $out/share/
+    '' + stdenv.lib.optionalString (theme != null) ''
+      asar extract $out/lib/slack/resources/app.asar $out/lib/slack/resources/app.asar.unpacked
+      cat <<EOF >> $out/lib/slack/resources/app.asar.unpacked/dist/ssb-interop.bundle.js
+  
+      var fs = require('fs');
+      document.addEventListener('DOMContentLoaded', function() {
+        fs.readFile('${theme}/theme.css', 'utf8', function(err, css) {
+          let s = document.createElement('style');
+          s.type = 'text/css';
+          s.innerHTML = css;
+          document.head.appendChild(s);
+        });
+      });
+      EOF
+      asar pack $out/lib/slack/resources/app.asar.unpacked $out/lib/slack/resources/app.asar
+    '';
+  };
+
+  darwin = stdenv.mkDerivation {
+    inherit pname version meta;
+
+    phases = [ "installPhase" ];
+
+    src = fetchurl {
+      url = "https://downloads.slack-edge.com/mac_releases/Slack-${version}-macOS.dmg";
+      inherit sha256;
+    };
+
+    installPhase = ''
+      /usr/bin/hdiutil mount -nobrowse -mountpoint slack-mnt $src
+      mkdir -p $out/Applications
+      cp -r ./slack-mnt/Slack.app $out/Applications
+      /usr/bin/hdiutil unmount slack-mnt
+      defaults write com.tinyspeck.slackmacgap SlackNoAutoUpdates -bool YES
+    '';
   };
-}
+in if stdenv.isDarwin
+  then darwin
+  else linux
diff --git a/pkgs/applications/networking/instant-messengers/turses/default.nix b/pkgs/applications/networking/instant-messengers/turses/default.nix
index 780dab79e997..27977dae15f8 100644
--- a/pkgs/applications/networking/instant-messengers/turses/default.nix
+++ b/pkgs/applications/networking/instant-messengers/turses/default.nix
@@ -15,6 +15,8 @@ buildPythonPackage rec {
   checkInputs = [ mock pytest coverage tox ];
   propagatedBuildInputs = [ urwid tweepy future ];
 
+  LC_ALL = "en_US.UTF-8";
+
   patches = [
     (fetchpatch {
       url = "https://github.com/louipc/turses/commit/be0961b51f502d49fd9e2e5253ac130e543a31c7.patch";
diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
index 845dd9287663..038611ca2898 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
@@ -64,7 +64,7 @@ in buildPythonPackage {
       --replace '/usr/bin/env -S python3' '${scriptPython}/bin/python'
     substituteInPlace $out/bin/matrix_decrypt \
       --replace '/usr/bin/env python3' '${scriptPython}/bin/python'
-   
+
     mkdir -p $out/${python.sitePackages}
     cp -r $src/matrix $out/${python.sitePackages}/matrix
   '';
@@ -75,7 +75,7 @@ in buildPythonPackage {
     description = "A Python plugin for Weechat that lets Weechat communicate over the Matrix protocol";
     homepage = "https://github.com/poljar/weechat-matrix";
     license = licenses.isc;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ tilpner emily ];
   };
 }
diff --git a/pkgs/applications/networking/p2p/tixati/default.nix b/pkgs/applications/networking/p2p/tixati/default.nix
index 72003f417210..05268bdaead1 100644
--- a/pkgs/applications/networking/p2p/tixati/default.nix
+++ b/pkgs/applications/networking/p2p/tixati/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tixati";
-  version = "2.66";
+  version = "2.67";
 
   src = fetchurl {
     url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
-    sha256 = "1qwmxfkgc5q7v6ickxr29khil6mh9crv5mwdm72bp6k64w0akbs7";
+    sha256 = "0510wkwmwrlv61958zd5nsc4lr0l0lka3jf4pq3dyiyfsf4k20rq";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/ssb/patchwork/default.nix b/pkgs/applications/networking/ssb/patchwork/default.nix
index cf1159b83f8e..3d3f60c7f62f 100644
--- a/pkgs/applications/networking/ssb/patchwork/default.nix
+++ b/pkgs/applications/networking/ssb/patchwork/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ssb-patchwork";
-  version = "3.17.2";
+  version = "3.17.4";
   name = "Patchwork-${version}";
 
   src = fetchurl {
     url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${name}.AppImage";
-    sha256 = "1pmy01jwdr461vsl4fsxi3jaqnjx9yl5dw4987y5g73qx21qc5d5";
+    sha256 = "0mjyrd0d9wfsfd9ajg1xf7ijg4k8jp76swjsiydxpgfk1sdljswv";
   };
 
   binary = appimageTools.wrapType2 {
@@ -23,7 +23,7 @@ let
     name = "ssb-patchwork";
     exec = "${binary}/bin/ssb-patchwork";
     icon = "ssb-patchwork.png";
-    comment = "Decentralized messaging and sharing app";
+    comment = "Client for the decentralized social network Secure Scuttlebutt";
     desktopName = "Patchwork";
     genericName = "Patchwork";
     categories = "Network;";
@@ -45,9 +45,9 @@ in
     longDescription = ''
       sea-slang for gossip - a scuttlebutt is basically a watercooler on a ship.
     '';
-    homepage = https://www.scuttlebutt.nz/;
+    homepage = "https://www.scuttlebutt.nz/";
     license = licenses.agpl3;
-    maintainers = with maintainers; [ thedavidmeister ninjatrappeur flokli ];
+    maintainers = with maintainers; [ asymmetric ninjatrappeur thedavidmeister ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/science/machine-learning/shogun/default.nix b/pkgs/applications/science/machine-learning/shogun/default.nix
index be15bba979ff..988ea8c855c0 100644
--- a/pkgs/applications/science/machine-learning/shogun/default.nix
+++ b/pkgs/applications/science/machine-learning/shogun/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, ccache, cmake, ctags, swig
+{ stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, ctags, swig
 # data, compression
 , bzip2, curl, hdf5, json_c, lzma, lzo, protobuf, snappy
 # maths
-, openblasCompat, eigen, nlopt, lp_solve, colpack
+, openblasCompat, eigen, nlopt, lp_solve, colpack, liblapack, glpk
 # libraries
 , libarchive, libxml2
 # extra support
@@ -13,47 +13,79 @@
 assert pythonSupport -> pythonPackages != null;
 assert opencvSupport -> opencv != null;
 
-stdenv.mkDerivation rec {
+let
   pname = "shogun";
-  version = "6.0.0";
-
-  src = fetchFromGitHub {
-    owner = pname + "-toolbox";
-    repo = pname;
-    rev = pname + "_" + version;
-    sha256 = "0f2zwzvn5apvwypkfkq371xp7c5bdb4g1fwqfh8c2d57ysjxhmgf";
-    fetchSubmodules = true;
+  version = "6.1.4";
+  rxcppVersion = "4.0.0";
+  gtestVersion = "1.8.0";
+  srcs = {
+    toolbox = fetchFromGitHub {
+      owner = pname + "-toolbox";
+      repo = pname;
+      rev = pname + "_" + version;
+      sha256 = "38aULxK50wQ2+/ERosSpRyBmssmYSGv5aaWfWSlrSRc=";
+      fetchSubmodules = true;
+    };
+    # we need the packed archive
+    rxcpp = fetchurl {
+      url = "https://github.com/Reactive-Extensions/RxCpp/archive/v${rxcppVersion}.tar.gz";
+      sha256 = "0y2isr8dy2n1yjr9c5570kpc9lvdlch6jv0jvw000amwn5d3krsh";
+    };
+    gtest = fetchurl {
+      url = "https://github.com/google/googletest/archive/release-${gtestVersion}.tar.gz";
+      sha256 = "1n5p1m2m3fjrjdj752lf92f9wq3pl5cbsfrb49jqbg52ghkz99jq";
+    };
   };
+in
+
+stdenv.mkDerivation rec {
+
+  inherit pname version;
+
+  src = srcs.toolbox;
+
+  postUnpack = ''
+    mkdir -p $sourceRoot/third_party/{rxcpp,gtest}
+    ln -s ${srcs.rxcpp} $sourceRoot/third_party/rxcpp/v${rxcppVersion}.tar.gz
+    ln -s ${srcs.gtest} $sourceRoot/third_party/gtest/release-${gtestVersion}.tar.gz
+  '';
+
+  # broken
+  doCheck = false;
 
   patches = [
     (fetchpatch {
-      name = "Fix-meta-example-parser-bug-in-parallel-builds.patch";
-      url = "https://github.com/shogun-toolbox/shogun/commit/ecd6a8f11ac52748e89d27c7fab7f43c1de39f05.patch";
-      sha256 = "1hrwwrj78sxhwcvgaz7n4kvh5y9snfcc4jf5xpgji5hjymnl311n";
-    })
-    (fetchpatch {
       url = "https://github.com/awild82/shogun/commit/365ce4c4c700736d2eec8ba6c975327a5ac2cd9b.patch";
       sha256 = "158hqv4xzw648pmjbwrhxjp7qcppqa7kvriif87gn3zdn711c49s";
     })
   ];
 
+  CCACHE_DISABLE="1";
   CCACHE_DIR=".ccache";
 
   buildInputs = with lib; [
-      openblasCompat bzip2 ccache cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo
-      protobuf nlopt snappy swig (libarchive.dev) libxml2
+      openblasCompat bzip2 cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo
+      protobuf nlopt snappy swig (libarchive.dev) libxml2 liblapack glpk
     ]
     ++ optionals (pythonSupport) (with pythonPackages; [ python ply numpy ])
     ++ optional  (opencvSupport) opencv;
 
-  cmakeFlags = with lib; []
-    ++ (optional (pythonSupport) "-DPythonModular=ON")
-    ++ (optional (opencvSupport) "-DOpenCV=ON")
-    ;
+  NIX_CFLAGS_COMPILE="-faligned-new";
+
+  cmakeFlags =
+  let
+      onOff = b: if b then "ON" else "OFF";
+      flag = n: b: "-D"+n+"="+onOff b;
+  in
+  with lib; [
+    (flag "ENABLE_TESTING" doCheck)
+    (flag "BUILD_META_EXAMPLES" doCheck)
+    (flag "CMAKE_VERBOSE_MAKEFILE:BOOL" doCheck)
+    (flag "PythonModular" pythonSupport)
+    (flag "OpenCV" opencvSupport)
+  ];
 
-  # Previous attempts to fix parallel builds (see patch above) were not entirely successful.
-  # Sporadic build failures still exist. Dislable parallel builds for now.
-  enableParallelBuilding = false;
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "A toolbox which offers a wide range of efficient and unified machine learning methods";
diff --git a/pkgs/applications/version-management/sourcehut/default.nix b/pkgs/applications/version-management/sourcehut/default.nix
index 3fa5399c2b56..f6de0036afe0 100644
--- a/pkgs/applications/version-management/sourcehut/default.nix
+++ b/pkgs/applications/version-management/sourcehut/default.nix
@@ -6,7 +6,7 @@
 # https://github.com/NixOS/nixpkgs/pull/54425#discussion_r250688781
 
 let
-  fetchNodeModules = callPackage ../../networking/instant-messengers/rambox/fetchNodeModules.nix { };
+  fetchNodeModules = callPackage ./fetchNodeModules.nix { };
 
   python = python37.override {
     packageOverrides = self: super: {
diff --git a/pkgs/applications/networking/instant-messengers/rambox/fetchNodeModules.nix b/pkgs/applications/version-management/sourcehut/fetchNodeModules.nix
index 047890a932ca..047890a932ca 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/fetchNodeModules.nix
+++ b/pkgs/applications/version-management/sourcehut/fetchNodeModules.nix
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index 6926f7e8eae2..f0959284d669 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -8,13 +8,13 @@ assert stdenv.lib.versionAtLeast mlt.version "6.18.0";
 
 mkDerivation rec {
   pname = "shotcut";
-  version = "19.12.31";
+  version = "20.02.17";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "shotcut";
     rev = "v${version}";
-    sha256 = "1vwgah8pp2kbd0iaz952d3bwxphk06yxqc0pi4hk1mklkh87qzm9";
+    sha256 = "0nsqlbapqgxccb7mnvxqw4hdddj944d4z5jxafpv0cwj7s3z8wj0";
   };
 
   patches = [ ./0001-encodedock.cpp-connect-to-VAAPI-via-DRM-not-X11.patch ];
diff --git a/pkgs/data/icons/numix-icon-theme-circle/default.nix b/pkgs/data/icons/numix-icon-theme-circle/default.nix
index c85f01d2718a..96ad0e2c2b81 100644
--- a/pkgs/data/icons/numix-icon-theme-circle/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-circle/default.nix
@@ -11,11 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "0za44h7f4vk37yl30xlaa6w76maiipb6p63gl9hl1rshdn9nxq0y";
   };
 
-  nativeBuildInputs = [ gtk3 numix-icon-theme ];
+  nativeBuildInputs = [ gtk3 ];
 
-  propagatedBuildInputs = [
-    hicolor-icon-theme
-  ];
+  buildInputs = [ numix-icon-theme ];
+
+  propagatedBuildInputs = [ hicolor-icon-theme ];
 
   dontDropIconThemeCache = true;
 
diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix
index 620ef02fde72..644d20cccfdb 100644
--- a/pkgs/data/icons/numix-icon-theme-square/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-square/default.nix
@@ -2,20 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "numix-icon-theme-square";
-  version = "19.09.20";
+  version = "19.12.27";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "0q3d4d4wndknz3043bh8ardjvdpds2hkzk73kyyh1848wg4ff0ly";
+    sha256 = "0pjbi2g7wk8gyr4lvp8fvcb8z29kc3l6v19a45axgadnc609hqw7";
   };
 
-  nativeBuildInputs = [ gtk3 numix-icon-theme ];
+  nativeBuildInputs = [ gtk3 ];
 
-  propagatedBuildInputs = [
-    hicolor-icon-theme
-  ];
+  buildInputs = [ numix-icon-theme ];
+
+  propagatedBuildInputs = [ hicolor-icon-theme ];
 
   dontDropIconThemeCache = true;
 
diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix
index 77bc3cc5b73e..25accf8c9493 100644
--- a/pkgs/development/compilers/swift/default.nix
+++ b/pkgs/development/compilers/swift/default.nix
@@ -26,6 +26,7 @@
 , git
 , libgit2
 , fetchFromGitHub
+, fetchpatch
 , findutils
 , makeWrapper
 , gnumake
@@ -224,6 +225,15 @@ stdenv.mkDerivation {
     # uuid.h is not part of glibc, but of libuuid
     sed -i 's|''${GLIBC_INCLUDE_PATH}/uuid/uuid.h|${libuuid.dev}/include/uuid/uuid.h|' swift/stdlib/public/Platform/glibc.modulemap.gyb
 
+    # Compatibility with glibc 2.30
+    # Adapted from https://github.com/apple/swift-package-manager/pull/2408
+    patch -p1 -d swiftpm -i ${./patches/swift-package-manager-glibc-2.30.patch}
+    # https://github.com/apple/swift/pull/27288
+    patch -p1 -d swift -i ${fetchpatch {
+      url = "https://github.com/apple/swift/commit/f968f4282d53f487b29cf456415df46f9adf8748.patch";
+      sha256 = "1aa7l66wlgip63i4r0zvi9072392bnj03s4cn12p706hbpq0k37c";
+    }}
+
     PREFIX=''${out/#\/}
     substituteInPlace indexstore-db/Utilities/build-script-helper.py \
       --replace usr "$PREFIX"
diff --git a/pkgs/development/compilers/swift/patches/swift-package-manager-glibc-2.30.patch b/pkgs/development/compilers/swift/patches/swift-package-manager-glibc-2.30.patch
new file mode 100644
index 000000000000..14ef38497645
--- /dev/null
+++ b/pkgs/development/compilers/swift/patches/swift-package-manager-glibc-2.30.patch
@@ -0,0 +1,25 @@
+diff --git a/Sources/Basic/Process.swift b/Sources/Basic/Process.swift
+index f388c769..8f208691 100644
+--- a/Sources/Basic/Process.swift
++++ b/Sources/Basic/Process.swift
+@@ -322,7 +322,10 @@ public final class Process: ObjectIdentifierProtocol {
+         defer { posix_spawn_file_actions_destroy(&fileActions) }
+ 
+         // Workaround for https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=89e435f3559c53084498e9baad22172b64429362
+-        let devNull = strdup("/dev/null")
++        // Change allowing for newer version of glibc
++        guard let devNull = strdup("/dev/null") else {
++            throw SystemError.posix_spawn(0, arguments)
++        }
+         defer { free(devNull) }
+         // Open /dev/null as stdin.
+         posix_spawn_file_actions_addopen(&fileActions, 0, devNull, O_RDONLY, 0)
+@@ -348,7 +351,7 @@ public final class Process: ObjectIdentifierProtocol {
+ 
+         let argv = CStringArray(arguments)
+         let env = CStringArray(environment.map({ "\($0.0)=\($0.1)" }))
+-        let rv = posix_spawnp(&processID, argv.cArray[0], &fileActions, &attributes, argv.cArray, env.cArray)
++        let rv = posix_spawnp(&processID, argv.cArray[0]!, &fileActions, &attributes, argv.cArray, env.cArray)
+ 
+         guard rv == 0 else {
+             throw SystemError.posix_spawn(rv, arguments)
diff --git a/pkgs/development/libraries/gegl/4.0.nix b/pkgs/development/libraries/gegl/4.0.nix
index 639ad8d0e51a..803cf853be14 100644
--- a/pkgs/development/libraries/gegl/4.0.nix
+++ b/pkgs/development/libraries/gegl/4.0.nix
@@ -18,6 +18,7 @@
 , netsurf
 , pango
 , poly2tri-c
+, poppler
 , bzip2
 , json-glib
 , gettext
@@ -34,14 +35,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gegl";
-  version = "0.4.20";
+  version = "0.4.22";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   src = fetchurl {
     url = "https://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1zrxnxlhn0jmshg4n2m2xlgi886w059ynkiiihm7rpi05fs8pg93";
+    sha256 = "0q9cckf90fb82qc5d496fjz459f1xw4j4p3rff1f57yivx0yr20q";
   };
 
   patches = [
@@ -71,6 +72,7 @@ stdenv.mkDerivation rec {
     netsurf.libnsgif
     pango
     poly2tri-c
+    poppler
     bzip2
     libraw
     libwebp
diff --git a/pkgs/development/libraries/libfido2/default.nix b/pkgs/development/libraries/libfido2/default.nix
index a0f44a332205..32d19283974c 100644
--- a/pkgs/development/libraries/libfido2/default.nix
+++ b/pkgs/development/libraries/libfido2/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ libcbor libressl udev ];
+  buildInputs = [ libcbor libressl ] ++ stdenv.lib.optionals stdenv.isLinux [ udev ];
 
   cmakeFlags = [ "-DUDEV_RULES_DIR=${placeholder "out"}/etc/udev/rules.d" ];
 
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/Yubico/libfido2;
     license = licenses.bsd2;
     maintainers = with maintainers; [ dtzWill ];
-
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/mypaint-brushes/1.0.nix b/pkgs/development/libraries/mypaint-brushes/1.0.nix
index 115d818d9365..c66329fa633a 100644
--- a/pkgs/development/libraries/mypaint-brushes/1.0.nix
+++ b/pkgs/development/libraries/mypaint-brushes/1.0.nix
@@ -1,5 +1,4 @@
 { stdenv
-, fetchpatch
 , autoconf
 , automake
 , fetchFromGitHub
@@ -8,23 +7,15 @@
 
 stdenv.mkDerivation rec {
   pname = "mypaint-brushes";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "mypaint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1iz89z6v2mp8j1lrf942k561s8311i3s34ap36wh4rybb2lq15m0";
+    sha256 = "1c95l1vfz7sbrdlzrbz7h1p6s1k113kyjfd9wfnxlm0p6562cz3j";
   };
 
-  patches = [
-    # build with automake 1.16
-    (fetchpatch {
-      url = https://github.com/Jehan/mypaint-brushes/commit/1e9109dde3bffd416ed351c3f30ecd6ffd0ca2cd.patch;
-      sha256 = "0mi8rwbirl0ib22f2hz7kdlgi4hw8s3ab29b003dsshdyzn5iha9";
-    })
-  ];
-
   nativeBuildInputs = [
     autoconf
     automake
diff --git a/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix b/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix
index 8f693a32e35c..2309e6671f85 100644
--- a/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix
+++ b/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix
@@ -6,7 +6,7 @@ let
       inherit name;
 
       src = fetchurl {
-        url = "https://www.hepforge.org/archive/lhapdf/pdfsets/6.2/${name}.tar.gz";
+        url = "http://lhapdfsets.web.cern.ch/lhapdfsets/current/${name}.tar.gz";
         inherit sha256;
       };
 
diff --git a/pkgs/development/libraries/sundials/3.x.nix b/pkgs/development/libraries/sundials/3.x.nix
deleted file mode 100644
index 879f13e8bf53..000000000000
--- a/pkgs/development/libraries/sundials/3.x.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ stdenv
-, cmake
-, fetchurl
-, python
-, liblapack
-, gfortran
-, lapackSupport ? true }:
-
-let liblapackShared = liblapack.override {
-  shared = true;
-};
-
-in stdenv.mkDerivation rec {
-  pname = "sundials";
-  version = "3.2.1";
-
-  buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran ];
-  nativeBuildInputs = [ cmake ];
-
-  src = fetchurl {
-    url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
-    sha256 = "0238r1qnwqz13wcjzfsbcfi8rfnlxcjjmxq2vpf2qf5jgablvna7";
-  };
-
-  patches = [
-    (fetchurl {
-      # https://github.com/LLNL/sundials/pull/19
-      url = "https://github.com/LLNL/sundials/commit/1350421eab6c5ab479de5eccf6af2dcad1eddf30.patch";
-      sha256 = "0g67lixp9m85fqpb9rzz1hl1z8ibdg0ldwq5z6flj5zl8a7cw52l";
-    })
-  ];
-
-  cmakeFlags = [
-    "-DEXAMPLES_INSTALL_PATH=${placeholder "out"}/share/examples"
-  ] ++ stdenv.lib.optionals (lapackSupport) [
-    "-DSUNDIALS_INDEX_TYPE=int32_t"
-    "-DLAPACK_ENABLE=ON"
-    "-DLAPACK_LIBRARIES=${liblapackShared}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary};${liblapackShared}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}"
-  ];
-
-  # flaky tests, and patch in https://github.com/LLNL/sundials/pull/21 doesn't apply cleanly for sundials_3
-  doCheck = false;
-  checkPhase = "make test";
-
-  meta = with stdenv.lib; {
-    description = "Suite of nonlinear differential/algebraic equation solvers";
-    homepage    = https://computation.llnl.gov/projects/sundials;
-    platforms   = platforms.all;
-    maintainers = with maintainers; [ flokli idontgetoutmuch ];
-    license     = licenses.bsd3;
-  };
-}
diff --git a/pkgs/development/python-modules/cvxpy/default.nix b/pkgs/development/python-modules/cvxpy/default.nix
new file mode 100644
index 000000000000..2a77f45217a0
--- /dev/null
+++ b/pkgs/development/python-modules/cvxpy/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, pythonOlder
+, buildPythonPackage
+, fetchPypi
+, cvxopt
+, ecos
+, multiprocess
+, numpy
+, osqp
+, scipy
+, scs
+, six
+  # Check inputs
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "cvxpy";
+  version = "1.0.25";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04zalvc8lckjfzm3i2ir32ib5pd6v7hxqqcnsnq6fw40vffm4dc5";
+  };
+
+  propagatedBuildInputs = [
+    cvxopt
+    ecos
+    multiprocess
+    osqp
+    scs
+    six
+  ];
+
+  checkInputs = [ nose ];
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = {
+    description = "A domain-specific language for modeling convex optimization problems in Python.";
+    homepage = "https://www.cvxpy.org/";
+    downloadPage = "https://github.com/cvxgrp/cvxpy/";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ drewrisinger ];
+  };
+}
diff --git a/pkgs/development/python-modules/face_recognition/default.nix b/pkgs/development/python-modules/face_recognition/default.nix
index 2856eeeab1b9..93502a296dc7 100644
--- a/pkgs/development/python-modules/face_recognition/default.nix
+++ b/pkgs/development/python-modules/face_recognition/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "face_recognition";
-  version = "1.2.3";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "ageitgey";
-    rev = "634db2e4309a365cee2503cb65d6f2e88f519d1e";
-    sha256 = "06zw5hq417d5yp17zynhxhb73074lx2qy64fqfzf711rw5vrn2mx";
+    rev = "d34c622bf42e2c619505a4884017051ecf61ac77";
+    sha256 = "052878vnh3vbrsvmpgr0bx78k524dlxn47b2xakzbxk7dyjrgcli";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyodbc/default.nix b/pkgs/development/python-modules/pyodbc/default.nix
index bef4969d7d2e..7451b1102ed2 100644
--- a/pkgs/development/python-modules/pyodbc/default.nix
+++ b/pkgs/development/python-modules/pyodbc/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pyodbc";
-  version = "4.0.28";
+  version = "4.0.30";
   disabled = isPyPy;  # use pypypdbc instead
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "510643354c4c687ed96bf7e7cec4d02d6c626ecf3e18696f5a0228dd6d11b769";
+    sha256 = "0skjpraar6hcwsy82612bpj8nw016ncyvvq88j5syrikxgp5saw5";
   };
 
   buildInputs = [ unixODBC ];
diff --git a/pkgs/development/python-modules/pysam/default.nix b/pkgs/development/python-modules/pysam/default.nix
index 46dd54c62e20..38b55c4563da 100644
--- a/pkgs/development/python-modules/pysam/default.nix
+++ b/pkgs/development/python-modules/pysam/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname   = "pysam";
-  version = "0.15.3";
+  version = "0.15.4";
 
   # Fetching from GitHub instead of PyPi cause the 0.13 src release on PyPi is
   # missing some files which cause test failures.
@@ -23,26 +23,35 @@ buildPythonPackage rec {
     owner = "pysam-developers";
     repo = "pysam";
     rev = "v${version}";
-    sha256 = "0g6md20gsr24pdr9b8nj403w31ixfjv8bjhdvg3x476kjiq1kvyb";
+    sha256 = "04w6h6mv6lsr74hj9gy4r2laifcbhgl2bjcr4r1l9r73xdd45mdy";
   };
 
+  nativeBuildInputs = [ samtools ];
   buildInputs = [ bzip2 curl cython lzma zlib ];
 
-  checkInputs = [ pytest bcftools htslib samtools ];
-
+  checkInputs = [ pytest bcftools htslib ];
   checkPhase = "py.test";
 
-  preInstall = ''
+  # tests require samtools<=1.9
+  doCheck = false;
+  preCheck = ''
     export HOME=$(mktemp -d)
     make -C tests/pysam_data
     make -C tests/cbcf_data
   '';
 
-  meta = {
-    homepage = https://pysam.readthedocs.io/;
+  pythonImportsCheck = [
+    "pysam"
+    "pysam.bcftools"
+    "pysam.libcutils"
+    "pysam.libcvcf"
+  ];
+
+  meta = with lib; {
     description = "A python module for reading, manipulating and writing genome data sets";
-    maintainers = with lib.maintainers; [ unode ];
-    license = lib.licenses.mit;
+    homepage = "https://pysam.readthedocs.io/";
+    maintainers = with maintainers; [ unode ];
+    license = licenses.mit;
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 }
diff --git a/pkgs/development/python-modules/scikits-odes/default.nix b/pkgs/development/python-modules/scikits-odes/default.nix
index 89ffe334e7ff..ba3d5eaaff0e 100644
--- a/pkgs/development/python-modules/scikits-odes/default.nix
+++ b/pkgs/development/python-modules/scikits-odes/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , lib
 , buildPythonPackage
-, fetchFromGitHub
+, fetchPypi
 , fetchurl
 , cython
 , enum34
@@ -11,19 +11,16 @@
 , pytest
 , python
 , scipy
-, sundials_3
+, sundials
 }:
 
 buildPythonPackage rec {
   pname = "scikits.odes";
-  version = "2.4.0-9-g93075ae";
+  version = "2.6.1";
 
-  # we fetch github instead of Pypi, as we want #104 and #105, which don't apply cleanly on 2.4.0
-  src = fetchFromGitHub {
-    owner = "bmcage";
-    repo = "odes";
-    rev = "93075ae25c409f572f13ca7207fada5706f73c73";
-    sha256 = "161rab7hy6r1a9xw1zby9xhnnmxi0zwdpzxfpjkw9651xn2k5xyw";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0kbf2n16h9s35x6pavlx6sff0pqr68i0x0609z92a4vadni32n6b";
   };
 
   nativeBuildInputs = [
@@ -33,7 +30,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     numpy
-    sundials_3
+    sundials
     scipy
   ] ++ lib.optionals (!isPy3k) [ enum34 ];
 
diff --git a/pkgs/development/tools/build-managers/apache-maven/builder.sh b/pkgs/development/tools/build-managers/apache-maven/builder.sh
index 8d06352b1356..2760bb95fcf5 100644
--- a/pkgs/development/tools/build-managers/apache-maven/builder.sh
+++ b/pkgs/development/tools/build-managers/apache-maven/builder.sh
@@ -5,7 +5,7 @@ unpackPhase
 mkdir -p $out/maven
 cp -r $name/* $out/maven
 
-makeWrapper $out/maven/bin/mvn $out/bin/mvn --set JAVA_HOME "$jdk"
+makeWrapper $out/maven/bin/mvn $out/bin/mvn --set-default JAVA_HOME "$jdk"
 
 # Add the maven-axis and JIRA plugin by default when using maven 1.x
 if [ -e $out/maven/bin/maven ]
diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
index fc5f98a8ccb6..e1d5b6699824 100644
--- a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -1,25 +1,29 @@
-{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "bazel-buildtools";
-  version = "0.29.0";
-  rev = "5bcc31df55ec1de770cb52887f2e989e7068301f";
+  version = "1.0.0";
 
   goPackagePath = "github.com/bazelbuild/buildtools";
 
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/bazelbuild/buildtools";
-    sha256 = "0p2kgyawh3l46h7dzglqh9c7i16zr5mhmqlhy7qvr4skwif1l089";
+  src = fetchFromGitHub {
+    owner = "bazelbuild";
+    repo = "buildtools";
+    rev = version;
+    sha256 = "1rgz1bpg2db6z4q04z061h5b9qjk8padi71xyjcwqfchwqpl7hiv";
   };
 
   goDeps = ./deps.nix;
 
+  excludedPackages = [ "generatetables" ];
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.buildVersion=${version} -X main.buildScmRevision=${src.rev}" ];
+
   meta = with stdenv.lib; {
     description = "Tools for working with Google's bazel buildtool. Includes buildifier, buildozer, and unused_deps.";
     homepage = https://github.com/bazelbuild/buildtools;
     license = licenses.asl20;
-    maintainers = with maintainers; [ elasticdog uri-canva ];
+    maintainers = with maintainers; [ elasticdog uri-canva marsam ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix b/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix
index 4aaa37aa9a7b..38be0dedc371 100644
--- a/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix
+++ b/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix
@@ -1,12 +1,11 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
 [
   {
     goPackagePath = "github.com/golang/protobuf";
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "4c88cc3f1a34ffade77b79abc53335d1e511f25b";
-      sha256 = "0chbdc4q55z7myiwnbvhryc5ihf6cxh8p4w3c1imy2gyzjn9sf4r";
+      rev = "d23c5127dc24889085f8ccea5c9d560a57a879d8";
+      sha256 = "1cyyr52yhj3fzrily3rmsbqyj8va4ld75lmry0857m39rgpv8sy1";
     };
   }
   {
@@ -14,8 +13,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/google/starlark-go";
-      rev = "988906f77f657477aa7ebf4d8fb5f12d6c50b767";
-      sha256 = "0ivmbcq3avaxj8ixbc60h706d6wk9wi2mnsid6a483ia4yn7w9k8";
+      rev = "6677ee5c7211380ec7e6a1b50dc45287e40ca9e1";
+      sha256 = "1dl8q1lwvmm38w2lzfwray2djdcq40z89yy6vzy387w0xrax0jj0";
     };
   }
 ]
diff --git a/pkgs/development/tools/build-managers/cmake/2.8.nix b/pkgs/development/tools/build-managers/cmake/2.8.nix
index ac438080b9ab..88ebc5ebfaed 100644
--- a/pkgs/development/tools/build-managers/cmake/2.8.nix
+++ b/pkgs/development/tools/build-managers/cmake/2.8.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
       --replace '"-framework CoreServices"' '""'
   '';
 
-  buildInputs = [ curl expat zlib bzip2 ]
+  buildInputs = [ setupHook curl expat zlib bzip2 ]
     ++ optional useNcurses ncurses
     ++ optional useQt4 qt4;
 
@@ -67,7 +67,6 @@ stdenv.mkDerivation rec {
   dontUseCmakeConfigure = true;
 
   preConfigure = with stdenv; ''
-      source $setupHook
       fixCmakeFiles .
       substituteInPlace Modules/Platform/UnixPaths.cmake \
         --subst-var-by libc_bin ${getBin cc.libc} \
@@ -82,7 +81,7 @@ stdenv.mkDerivation rec {
     homepage = https://cmake.org;
     description = "Cross-Platform Makefile Generator";
     platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ ];
+    maintainers = with stdenv.lib.maintainers; [ xfix ];
     license = stdenv.lib.licenses.bsd3;
   };
 }
diff --git a/pkgs/development/tools/ocaml/dune/2.nix b/pkgs/development/tools/ocaml/dune/2.nix
index 860602cb684c..cec1aeab6c56 100644
--- a/pkgs/development/tools/ocaml/dune/2.nix
+++ b/pkgs/development/tools/ocaml/dune/2.nix
@@ -6,11 +6,11 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
-    sha256 = "1zswdp2gran8djk718q5g3ldbvw0qp34j9jj1n7m1xp870g3590l";
+    sha256 = "166a6lncx0nlmn0kxgx9qkn1dnbphm30vy1wncxcpsqspxhkqfra";
   };
 
   buildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index a230b0e7ce1e..eb507857ca83 100644
--- a/pkgs/development/tools/yq-go/default.nix
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -1,30 +1,21 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-# buildGoModule is not supported by the project
-# See https://github.com/mikefarah/yq/issues/227
-buildGoPackage rec {
+buildGoModule rec {
   pname = "yq-go";
-  version = "3.1.0";
-
-  goPackagePath = "github.com/mikefarah/yq/v3";
+  version = "3.1.2";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     rev = version;
     repo = "yq";
-    sha256 = "0hsb9m0pq2agsg7392r6h9sv5vqa2r7fl0ff1q24vpx8jlpq1vc6";
+    sha256 = "0gjxmnmphav8ms4zdkcjcsgrjs77ccwdfpc1qpxjp6fr2g4v5vmq";
   };
 
-  goDeps = ./deps.nix;
-
-  postInstall = ''
-    mv $bin/bin/v3 $bin/bin/yq
-  '';
+  modSha256 = "035w9bh96rr2x21w7bwwpngyng6839wglpgwf7gy8p6difvnn2v9";
 
   meta = with stdenv.lib; {
     description = "Portable command-line YAML processor";
-    homepage = http://mikefarah.github.io/yq/;
+    homepage = "https://mikefarah.gitbook.io/yq/";
     license = [ licenses.mit ];
     maintainers = [ maintainers.lewo ];
   };
diff --git a/pkgs/development/tools/yq-go/deps.nix b/pkgs/development/tools/yq-go/deps.nix
deleted file mode 100644
index 2ca5e0ffd1bb..000000000000
--- a/pkgs/development/tools/yq-go/deps.nix
+++ /dev/null
@@ -1,363 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-  {
-    goPackagePath = "github.com/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "v0.3.1";
-      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
-    };
-  }
-  {
-    goPackagePath = "github.com/armon/consul-api";
-    fetch = {
-      type = "git";
-      url = "https://github.com/armon/consul-api";
-      rev = "eb2c6b5be1b6";
-      sha256 = "1j6fdr1sg36qy4n4xjl7brq739fpm5npq98cmvklzjc9qrx98nk9";
-    };
-  }
-  {
-    goPackagePath = "github.com/coreos/etcd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/coreos/etcd";
-      rev = "v3.3.10";
-      sha256 = "1x2ii1hj8jraba8rbxz6dmc03y3sjxdnzipdvg6fywnlq1f3l3wl";
-    };
-  }
-  {
-    goPackagePath = "github.com/coreos/go-etcd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/coreos/go-etcd";
-      rev = "v2.0.0";
-      sha256 = "1xb34hzaa1lkbq5vkzy9vcz6gqwj7hp6cdbvyack2bf28dwn33jj";
-    };
-  }
-  {
-    goPackagePath = "github.com/coreos/go-semver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/coreos/go-semver";
-      rev = "v0.2.0";
-      sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0";
-    };
-  }
-  {
-    goPackagePath = "github.com/cpuguy83/go-md2man";
-    fetch = {
-      type = "git";
-      url = "https://github.com/cpuguy83/go-md2man";
-      rev = "v1.0.10";
-      sha256 = "1bqkf2bvy1dns9zd24k81mh2p1zxsx2nhq5cj8dz2vgkv1xkh60i";
-    };
-  }
-  {
-    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/fsnotify/fsnotify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fsnotify/fsnotify";
-      rev = "v1.4.7";
-      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/hcl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/hcl";
-      rev = "v1.0.0";
-      sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66";
-    };
-  }
-  {
-    goPackagePath = "github.com/inconshreveable/mousetrap";
-    fetch = {
-      type = "git";
-      url = "https://github.com/inconshreveable/mousetrap";
-      rev = "v1.0.0";
-      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
-    };
-  }
-  {
-    goPackagePath = "github.com/kylelemons/godebug";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kylelemons/godebug";
-      rev = "v1.1.0";
-      sha256 = "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c";
-    };
-  }
-  {
-    goPackagePath = "github.com/magiconair/properties";
-    fetch = {
-      type = "git";
-      url = "https://github.com/magiconair/properties";
-      rev = "v1.8.0";
-      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/go-homedir";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/go-homedir";
-      rev = "v1.1.0";
-      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/mapstructure";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/mapstructure";
-      rev = "v1.1.2";
-      sha256 = "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr";
-    };
-  }
-  {
-    goPackagePath = "github.com/pelletier/go-toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-toml";
-      rev = "v1.2.0";
-      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev = "v0.8.1";
-      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
-    };
-  }
-  {
-    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/russross/blackfriday";
-    fetch = {
-      type = "git";
-      url = "https://github.com/russross/blackfriday";
-      rev = "v1.5.2";
-      sha256 = "0jzbfzcywqcrnym4gxlz6nphmm1grg6wsl4f0r9x384rn83wkj7c";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/afero";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/afero";
-      rev = "v1.1.2";
-      sha256 = "0miv4faf5ihjfifb1zv6aia6f6ik7h1s4954kcb8n6ixzhx9ck6k";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cast";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cast";
-      rev = "v1.3.0";
-      sha256 = "0xq1ffqj8y8h7dcnm0m9lfrh0ga7pssnn2c1dnr09chqbpn4bdc5";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev = "v0.0.5";
-      sha256 = "0z4x8js65mhwg1gf6sa865pdxfgn45c3av9xlcc1l3xjvcnx32v2";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/jwalterweatherman";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/jwalterweatherman";
-      rev = "v1.0.0";
-      sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "v1.0.3";
-      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/viper";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/viper";
-      rev = "v1.3.2";
-      sha256 = "1829hvf805kda65l59r17wvid7y0vr390s23zfhf4w7vdb4wp3zh";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev = "v1.2.2";
-      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
-    };
-  }
-  {
-    goPackagePath = "github.com/ugorji/go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ugorji/go";
-      rev = "d75b2dcb6bc8";
-      sha256 = "0di1k35gpq9bp958ywranpbskx2vdwlb38s22vl9rybm3wa5g3ps";
-    };
-  }
-  {
-    goPackagePath = "github.com/xordataexchange/crypt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xordataexchange/crypt";
-      rev = "b2862e3d0a77";
-      sha256 = "04q3856anpzl4gdfgmg7pbp9cx231nkz3ymq2xp27rnmmwhfxr8y";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "87dc89f01550";
-      sha256 = "0z4i1m2yn3f31ci7wvcm2rxkx2yiv7a78mfzklncmsz2k97rlh2g";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/mod";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/mod";
-      rev = "c90efee705ee";
-      sha256 = "0i5md645rmcy5z5ij9ng428k9rz4g3k1kjy3blsq1264rn426gdf";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "3b0461eec859";
-      sha256 = "0l00c8l0a8xnv6qdpwfzxxsr58jggacgzdrwiprrfx2xqm37b6d5";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sync";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sync";
-      rev = "112230192c58";
-      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "97732733099d";
-      sha256 = "118hkp01i4z1f5h6hcjm0ff2ngqhrzj1f7731n0kw8dr6hvbx0sw";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/tools";
-      rev = "04c2e8eff935";
-      sha256 = "0xfif9h5ssf5f7f65k35zr5n6z524zv65kv68zg2qybnmb3c008d";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/xerrors";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/xerrors";
-      rev = "1b5146add898";
-      sha256 = "0w2akj91krxjag0xdhsg78470888nicc5ismc2ap9jqpss6v1zih";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/check.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/check.v1";
-      rev = "20d25e280405";
-      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/imdario/mergo.v0";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/imdario/mergo.v0";
-      rev = "v0.3.7";
-      sha256 = "05ir0jj74w0yfi1lrhjd97v759in1dpsma64cgmbiqvyp6hfmmf8";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/op/go-logging.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/op/go-logging.v1";
-      rev = "b2cb9fa56473";
-      sha256 = "01a6lkpj5p82gplddh55az194s9y3014p4j8x4zc8yv886z9c8gn";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.2";
-      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v3";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v3";
-      rev = "4206685974f2";
-      sha256 = "1ff5fd8x45cay9100ds63hxd32s7czsrric0ql6a1jrxczsgqk1g";
-    };
-  }
-]
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix
index 16c14b322189..81cd77f3edb5 100644
--- a/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/pkgs/misc/vim-plugins/vim-utils.nix
@@ -330,9 +330,8 @@ let
         );
       in
       ''
-        set packpath-=~/.vim/after
-        set packpath+=${packDir packages}
-        set packpath+=~/.vim/after
+        set packpath^=${packDir packages}
+        set runtimepath^=${packDir packages}
 
         filetype indent plugin on | syn on
       '');
diff --git a/pkgs/os-specific/linux/pax-utils/default.nix b/pkgs/os-specific/linux/pax-utils/default.nix
index 917652ca6f79..f8c75b1913bc 100644
--- a/pkgs/os-specific/linux/pax-utils/default.nix
+++ b/pkgs/os-specific/linux/pax-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pax-utils";
-  version = "1.2.4";
+  version = "1.2.5";
 
   src = fetchurl {
     url = "http://distfiles.gentoo.org/distfiles/${pname}-${version}.tar.xz";
-    sha256 = "01kr6l2c3bhbgdrmwgzh6jk0jjkw3pi9xrzzl9cpn0ibyf68p1aj";
+    sha256 = "1v4jwbda25w07qhlx5xc5i0hwsv3pjy8hfy0r93vnmfjxq61grvw";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 427d3d1d42e7..cbb13074afc8 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "grafana";
-  version = "6.6.1";
+  version = "6.6.2";
 
   goPackagePath = "github.com/grafana/grafana";
 
@@ -12,12 +12,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "0yw7yq201f5c3dzy51jaa2mgn0bdh69341a7r9hz9bxpb21w0zq9";
+    sha256 = "0zbc9jcr3w7rwsv96csqaifn5d0b435wyrrajr5wzsmhljygvrcy";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "0xrkaiz3kl1avq040xyyal35rkf2mg6s2y0wggmndvsnwc3q5p0f";
+    sha256 = "1plijm7cy92k79ypcnxjmdf2vhlxa4dzwjyl9lkf2npm7kswswsl";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 326d15a9318e..1d37f71f0a83 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -30,6 +30,8 @@ let
     };
   }.${system};
 
+  strip = if stdenv.isDarwin then "strip -x" else "strip";
+
 in stdenv.mkDerivation rec {
   pname = "google-cloud-sdk";
   version = "268.0.0";
@@ -93,7 +95,7 @@ in stdenv.mkDerivation rec {
     done
 
     # strip the Cython gRPC library
-    strip $out/google-cloud-sdk/lib/third_party/grpc/_cython/cygrpc.so
+    ${strip} $out/google-cloud-sdk/lib/third_party/grpc/_cython/cygrpc.so
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/backup/wal-g/default.nix b/pkgs/tools/backup/wal-g/default.nix
index c6c47ce4f16c..90ce2d188d6e 100644
--- a/pkgs/tools/backup/wal-g/default.nix
+++ b/pkgs/tools/backup/wal-g/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "wal-g";
-  version = "0.2.0";
+  version = "0.2.14";
 
   src = fetchFromGitHub {
     owner  = "wal-g";
     repo   = "wal-g";
     rev    = "v${version}";
-    sha256 = "08lk7by1anxpd9v97xbf9443kk4n1w63zaar2nz86w8i3k3b4id9";
+    sha256 = "0rrn9kzcg3nw9qvzy58m4qacghv0pj7iyjh4yspc71n5nkamkfgm";
   };
 
   buildInputs = [ brotli ];
@@ -16,11 +16,21 @@ buildGoPackage rec {
   doCheck = true;
 
   goPackagePath = "github.com/wal-g/wal-g";
+
+  goDeps = ./deps.nix;
+
+  subPackages = [ "main/pg" ];
+
+  buildFlagsArray = [ "-ldflags=-s -w -X ${goPackagePath}/cmd/pg.WalgVersion=${version} -X ${goPackagePath}/cmd/pg.GitRevision=${src.rev}" ];
+
+  postInstall = ''
+    mv $bin/bin/pg $bin/bin/wal-g
+  '';
+
   meta = {
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/wal-g/wal-g";
     license = stdenv.lib.licenses.asl20;
-    description = "An archival restoration tool for Postgres";
+    description = "An archival restoration tool for PostgreSQL";
     maintainers = [ stdenv.lib.maintainers.ocharles ];
-    broken = true;
   };
 }
diff --git a/pkgs/tools/backup/wal-g/deps.nix b/pkgs/tools/backup/wal-g/deps.nix
new file mode 100644
index 000000000000..13daf375c31a
--- /dev/null
+++ b/pkgs/tools/backup/wal-g/deps.nix
@@ -0,0 +1,588 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "cloud.google.com/go";
+    fetch = {
+      type = "git";
+      url = "https://code.googlesource.com/gocloud";
+      rev =  "0ebda48a7f143b1cce9eb37a8c1106ac762a3430";
+      sha256 = "1kclgclwar3r37zbvb9gg3qxbgzkb50zk3s9778zlh2773qikmai";
+    };
+  }
+  {
+    goPackagePath  = "github.com/Azure/azure-pipeline-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/azure-pipeline-go";
+      rev =  "232aee85e8e3a6223a11c0943f7df2ae0fac00e4";
+      sha256 = "1agn2nzmm1dkwggm4w7h4bnrav4n5jrl0vqbqy2s49vqlr8zirn6";
+    };
+  }
+  {
+    goPackagePath  = "github.com/Azure/azure-storage-blob-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/azure-storage-blob-go";
+      rev =  "fc700035fe4a7020f50d49f420b3c088aed57e03";
+      sha256 = "00gsnk9s1rlrakqvcm917hn4r47jannxwp7rkhrb71pamzm46752";
+    };
+  }
+  {
+    goPackagePath  = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev =  "3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005";
+      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
+    };
+  }
+  {
+    goPackagePath  = "github.com/DataDog/zstd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/DataDog/zstd";
+      rev =  "aebefd9fcb99f22cd691ef778a12ed68f0e6a1ab";
+      sha256 = "06wphl43ji23c0cmmm6fd3wszbwq36mdp1jarak2a6hmxl6yf0b8";
+    };
+  }
+  {
+    goPackagePath  = "github.com/RoaringBitmap/roaring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/RoaringBitmap/roaring";
+      rev =  "3d677d3262197ee558b85029301eb69b8239f91a";
+      sha256 = "0v5jbqr7m4x7n8rxcyizhs21ndyinn8kil9hd6y2bifx9b9g6gv9";
+    };
+  }
+  {
+    goPackagePath  = "github.com/aws/aws-sdk-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aws/aws-sdk-go";
+      rev =  "02973e4916ed10f78aff1257f45f01d23907a05d";
+      sha256 = "0w5c06l0f8h77p74gmsp2wzl21pcn92yzsycd36746qqav83yyld";
+    };
+  }
+  {
+    goPackagePath  = "github.com/cyberdelia/lzo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cyberdelia/lzo";
+      rev =  "feb520148d8940294afb1e242dc1d2a7c9c34432";
+      sha256 = "0mk93b7vr9hp1xcvzaw5r01zs2blhk24m22pacf6sx5zwx8fd2ld";
+    };
+  }
+  {
+    goPackagePath  = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev =  "8991bc29aa16c548c550c7ff78260e27b9ab7c73";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath  = "github.com/fsnotify/fsnotify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fsnotify/fsnotify";
+      rev =  "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath  = "github.com/glycerine/go-unsnap-stream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/glycerine/go-unsnap-stream";
+      rev =  "9f0cb55181dd3a0a4c168d3dbc72d4aca4853126";
+      sha256 = "1v10z30y9qc8dl34x0s8lr773g6raxilfdxbmzd1176pspzcmm9n";
+    };
+  }
+  {
+    goPackagePath  = "github.com/go-redis/redis";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-redis/redis";
+      rev =  "75795aa4236dc7341eefac3bbe945e68c99ef9df";
+      sha256 = "1qf7zl5slnc4bcz0z0vn4fq1pwkphdrmqmjg3wv5q6pv2x29drli";
+    };
+  }
+  {
+    goPackagePath  = "github.com/go-sql-driver/mysql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-sql-driver/mysql";
+      rev =  "72cd26f257d44c1114970e19afddcd812016007e";
+      sha256 = "1fvsvwc1v2i0gqn01mynvi1shp5xm0xaym6xng09fcbqb56lbjx1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/golang/mock";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/mock";
+      rev =  "51421b967af1f557f93a59e0057aaf15ca02e29c";
+      sha256 = "12ddj2g8ab87id6n2n67vnbhq6p8dvgsq1pzpqfriym4dk8w54fg";
+    };
+  }
+  {
+    goPackagePath  = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev =  "6c65a5562fc06764971b7c5d05c76c75e84bdbf7";
+      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
+    };
+  }
+  {
+    goPackagePath  = "github.com/golang/snappy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/snappy";
+      rev =  "2e65f85255dbc3072edf28d6b5b8efc472979f5a";
+      sha256 = "05w6mpc4qcy0pv8a2bzng8nf4s5rf5phfang4jwy9rgf808q0nxf";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/brotli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/brotli";
+      rev =  "d6d98957ca8ccb1ef45922e978bb10efca0ea541";
+      sha256 = "0n0ia2sxsj3fnnzhjbigbadpsqxivjs3v78b1xzqvgd1nwalglaj";
+    };
+  }
+  {
+    goPackagePath  = "github.com/googleapis/gax-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/gax-go";
+      rev =  "bd5b16380fd03dc758d11cef74ba2e3bc8b0e8c2";
+      sha256 = "1lxawwngv6miaqd25s3ba0didfzylbwisd2nz7r4gmbmin6jsjrx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/hashicorp/golang-lru";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/golang-lru";
+      rev =  "7f827b33c0f158ec5dfbba01bb0b14a4541fd81d";
+      sha256 = "1p2igd58xkm8yaj2c2wxiplkf2hj6kxwrg6ss7mx61s5rd71v5xb";
+    };
+  }
+  {
+    goPackagePath  = "github.com/hashicorp/hcl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/hcl";
+      rev =  "8cb6e5b959231cc1119e43259c4a608f9c51a241";
+      sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66";
+    };
+  }
+  {
+    goPackagePath  = "github.com/inconshreveable/mousetrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev =  "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75";
+      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jackc/pgx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jackc/pgx";
+      rev =  "c73e7d75061bb42b0282945710f344cfe1113d10";
+      sha256 = "1am1iggch89mn4a99bxnawjhc5yrgd8fjlmzq0b9l9qy5w1gzr1f";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jedib0t/go-pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jedib0t/go-pretty";
+      rev =  "a37e1e030434d93557ca8a6a77b4cf9d31cc21ff";
+      sha256 = "057xwrrqq0cvyq9f0wnfzjpx10807520vl92qq7l7a7s0r56jyrx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jmespath/go-jmespath";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jmespath/go-jmespath";
+      rev =  "c2b33e84";
+      sha256 = "1r6w7ydx8ydryxk3sfhzsk8m6f1nsik9jg3i1zhi69v4kfl4d5cz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/magiconair/properties";
+    fetch = {
+      type = "git";
+      url = "https://github.com/magiconair/properties";
+      rev =  "c2353362d570a7bfa228149c62842019201cfb71";
+      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-ieproxy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-ieproxy";
+      rev =  "f9202b1cfdeb0c82ddd3dc1e8e9cd94b3c0c1b13";
+      sha256 = "0r8c17znlv32750qy3p96fbyp8ys8xfdccpzv0z9lr2y88jnzhpz";
+    };
+  }
+  {
+    goPackagePath  = "github.com/minio/sio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/minio/sio";
+      rev =  "035b4ef8c449ba2ba21ec143c91964e76a1fb68c";
+      sha256 = "007mh7a61qzgf8ga4pix6qhm6jbph3h71a8iif7l45mvqphabh0z";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mitchellh/mapstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/mapstructure";
+      rev =  "3536a929edddb9a5b34bd6861dc4a9647cb459fe";
+      sha256 = "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mschoch/smat";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mschoch/smat";
+      rev =  "90eadee771aeab36e8bf796039b8c261bebebe4f";
+      sha256 = "141saq6d4z3c7v3jw45zy4gn6wwjlyralqygjff1fzvz1gkvimk3";
+    };
+  }
+  {
+    goPackagePath  = "github.com/ncw/swift";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ncw/swift";
+      rev =  "f737f4e00462f79ff2e0ddbcfb09331ce7ec4fa9";
+      sha256 = "0c6vcn3dmhh339wilh71fmjb535kgfkf9dh2dh8ln43whq6mbjbs";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pelletier/go-toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pelletier/go-toml";
+      rev =  "c01d1270ff3e442a8a57cddc1c92dc1138598194";
+      sha256 = "1fjzpcjng60mc3a4b2ql5a00d5gah84wj740dabv9kq67mpg8fxy";
+    };
+  }
+  {
+    goPackagePath  = "github.com/philhofer/fwd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/philhofer/fwd";
+      rev =  "bb6d471dc95d4fe11e432687f8b70ff496cf3136";
+      sha256 = "1pg84khadh79v42y8sjsdgfb54vw2kzv7hpapxkifgj0yvcp30g2";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pierrec/lz4";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pierrec/lz4";
+      rev =  "5a3d2245f97fc249850e7802e3c01fad02a1c316";
+      sha256 = "1my03x0m72vc2xyy9h0naa1qrzcf0g531gh4cakcwpxrq0z39vmr";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pierrec/xxHash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pierrec/xxHash";
+      rev =  "d17cb990ad2d219d5901415ceaeb50d17df59527";
+      sha256 = "07rbr0apyq9m8m2knf1j7g9299r2v2ihvig1b7bq2srszcd9r221";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev =  "ba968bfe8b2f7e042a574c888954fccecfa385b4";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath  = "github.com/spf13/afero";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/afero";
+      rev =  "f4711e4db9e9a1d3887343acb72b2bbfc2f686f5";
+      sha256 = "14qqj0cz6a595vn4dp747vddx05fd77jdsyl85qjmf9baymaxlam";
+    };
+  }
+  {
+    goPackagePath  = "github.com/spf13/cast";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cast";
+      rev =  "8c9545af88b134710ab1cd196795e7f2388358d7";
+      sha256 = "0xq1ffqj8y8h7dcnm0m9lfrh0ga7pssnn2c1dnr09chqbpn4bdc5";
+    };
+  }
+  {
+    goPackagePath  = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev =  "ef82de70bb3f60c65fb8eebacbb2d122ef517385";
+      sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd";
+    };
+  }
+  {
+    goPackagePath  = "github.com/spf13/jwalterweatherman";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/jwalterweatherman";
+      rev =  "94f6ae3ed3bceceafa716478c5fbf8d29ca601a1";
+      sha256 = "1ywmkwci5zyd88ijym6f30fj5c0k2yayxarkmnazf5ybljv50q7b";
+    };
+  }
+  {
+    goPackagePath  = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev =  "298182f68c66c05229eb03ac171abe6e309ee79a";
+      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
+    };
+  }
+  {
+    goPackagePath  = "github.com/spf13/viper";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/viper";
+      rev =  "6d33b5a963d922d182c91e8a1c88d81fd150cfd4";
+      sha256 = "1190mg04718r03qriav99sf4kx2n7wdgr8vdni15f74bpbzrdjrl";
+    };
+  }
+  {
+    goPackagePath  = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev =  "221dbe5ed46703ee255b1da0dec05086f5035f62";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
+    };
+  }
+  {
+    goPackagePath  = "github.com/tinsane/tracelog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tinsane/tracelog";
+      rev =  "05cb843fbac1d7693bbbbed8aa8f7b401438ee7f";
+      sha256 = "1fry633qi4iih9za91m90c26p3qpd79d716dggk10cbc0bpvql51";
+    };
+  }
+  {
+    goPackagePath  = "github.com/tinylib/msgp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tinylib/msgp";
+      rev =  "b2b6a672cf1e5b90748f79b8b81fc8c5cf0571a1";
+      sha256 = "0pypfknghg1hcjjrqz3f1riaylk6hcxn9h0qyzynb74rp0qmlxjc";
+    };
+  }
+  {
+    goPackagePath  = "github.com/ulikunitz/xz";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ulikunitz/xz";
+      rev =  "590df8077fbcb06ad62d7714da06c00e5dd2316d";
+      sha256 = "07mivr4aiw3b8qzwajsxyjlpbkf3my4xx23lv0yryc4pciam5lhy";
+    };
+  }
+  {
+    goPackagePath  = "github.com/wal-g/storages";
+    fetch = {
+      type = "git";
+      url = "https://github.com/wal-g/storages";
+      rev =  "ecd376af8972cd9c3e355831c126a7862de6b2b9";
+      sha256 = "1jmvin93811xxh9sqf6xrrys55dm12zszqf2l3arf92h0bysvniy";
+    };
+  }
+  {
+    goPackagePath  = "github.com/willf/bitset";
+    fetch = {
+      type = "git";
+      url = "https://github.com/willf/bitset";
+      rev =  "e553b05586428962bf7058d1044519d87ca72d74";
+      sha256 = "0davmxzv79qqg7lkj89diqinqx3xkr94d67yfnazqn3h1f7sjkd1";
+    };
+  }
+  {
+    goPackagePath  = "go.opencensus.io";
+    fetch = {
+      type = "git";
+      url = "https://github.com/census-instrumentation/opencensus-go";
+      rev =  "9c377598961b706d1542bd2d84d538b5094d596e";
+      sha256 = "05jr8gkr2w34i5wwki4zhl5ch0qrgi7cdgag5iy5gpxplhbrvbg9";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev =  "e657309f52e71501f9934566ac06dc5c2f7f11a1";
+      sha256 = "17jwkjrfj7kz25z8z492xlz88nmb42kpjcxl9dsv5jl28zvzq1bj";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/exp";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/exp";
+      rev =  "ec7cb31e5a562f5e9e31b300128d2f530f55d127";
+      sha256 = "19b4kdwfahq9f809v4lmn9h47sq1y67nkl7csnracn5qd334hp06";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/lint";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/lint";
+      rev =  "959b441ac422379a43da2230f62be024250818b0";
+      sha256 = "1mgcv5f00pkzsbwnq2y7vqvd1b4lr5a3s47cphh2qv4indfk7pck";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev =  "74dc4d7220e7acc4e100824340f3e66577424772";
+      sha256 = "0563yswwqknxx2gsvl0qikn0lmwalilbng8i12iw4d3v40n23s0l";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/oauth2";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/oauth2";
+      rev =  "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33";
+      sha256 = "06jwpvx0x2gjn2y959drbcir5kd7vg87k0r1216abk6rrdzzrzi2";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev =  "42b317875d0fa942474b76e1b46a6060d720ae6e";
+      sha256 = "0mrjhk7al7yyh76x9flvxy4jm5jyqh2fxbxagpaazxn1xdgkaif3";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "4d1cda033e0619309c606fc686de3adcf599539e";
+      sha256 = "1wgaldbnkmh568v8kkgvnmkskaj96fqrbzhx23yji2kh1432q6gh";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev =  "f21a4dfb5e38f5895301dc265a8def02365cc3d0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/time";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/time";
+      rev =  "85acf8d2951cb2a3bde7632f9ff273ef0379bcbd";
+      sha256 = "0yqnxsrarjk4qkda8kcxzmk7y90kkkxzx9iwryzrk7bzs87ky3xc";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev =  "fc82fb2afd64396b05ea9aa0bccd6e8f2257b154";
+      sha256 = "1rnpbhhcnv28k63m7biv2rxrmdxhz9q3p35qi0phcq2qhcf78032";
+    };
+  }
+  {
+    goPackagePath  = "google.golang.org/api";
+    fetch = {
+      type = "git";
+      url = "https://code.googlesource.com/google-api-go-client";
+      rev =  "feb0267beb8644f5088a03be4d5ec3f8c7020152";
+      sha256 = "1lzdzkd2i41v6amxs9jah1q44qbvf1yvm8906jpfjiq6c3ffhqss";
+    };
+  }
+  {
+    goPackagePath  = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev =  "4a4468ece617fc8205e99368fa2200e9d1fad421";
+      sha256 = "13cyhqwmvc2nia4ssdwwdzscq52aj3z9zjikx17wk4kb0j8vr370";
+    };
+  }
+  {
+    goPackagePath  = "google.golang.org/genproto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-genproto";
+      rev =  "24fa4b261c55da65468f2abfdae2b024eef27dfb";
+      sha256 = "109zhaqlfd8zkbr1hk6zqbs6vcxfrk64scjwh2nswph05gr0m84d";
+    };
+  }
+  {
+    goPackagePath  = "google.golang.org/grpc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/grpc/grpc-go";
+      rev =  "6eaf6f47437a6b4e2153a190160ef39a92c7eceb";
+      sha256 = "1cn33r2gclmq2v1ndpf1n5bmhf2qs8mms7ii5cnl6f9ch4r2c4k3";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-yaml/yaml";
+      rev =  "51d6538a90f86fe93ac480b35f37b2be17fef232";
+      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+    };
+  }
+  {
+    goPackagePath  = "honnef.co/go/tools";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dominikh/go-tools";
+      rev =  "72554cb117ad340748b3093e7108983fd984c9f2";
+      sha256 = "1vndpwg797z2gw9h9378iq99aqy7nalqx82lgvcsaqnkypdmppnd";
+    };
+  }
+]
\ No newline at end of file
diff --git a/pkgs/tools/graphics/gifski/default.nix b/pkgs/tools/graphics/gifski/default.nix
index d5656db29a7e..3d1e2114196a 100644
--- a/pkgs/tools/graphics/gifski/default.nix
+++ b/pkgs/tools/graphics/gifski/default.nix
@@ -2,25 +2,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gifski";
-  version = "0.9.1";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "ImageOptim";
     repo = "gifski";
     rev = version;
-    sha256 = "0dl5725imb2a2s0fskdqlnh2207ryyi2v5gz37cr5mf6khz898p2";
+    sha256 = "0gsk1pagg89q1mi3d28q6dsnanncwphw9lrb7qybppw0vyvqlqbx";
   };
 
-  # Delete this on next update; see #79975 for details
-  legacyCargoFetcher = true;
-
-  cargoSha256 = "0wngsd0pmmxlwzxmyp8pvphh1ijs5s9k1mkkv688xpc4b8w0z10j";
+  cargoSha256 = "0k7pzcll7hn2a354vviyj8dr0kq63cwsldgv303kwklmxji02d0v";
 
   nativeBuildInputs = [ pkgconfig ];
 
   meta = with stdenv.lib; {
     description = "GIF encoder based on libimagequant (pngquant)";
-    homepage = https://gif.ski/;
+    homepage = "https://gif.ski/";
     license = licenses.agpl3;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/pkgs/tools/system/plan9port/builder.sh b/pkgs/tools/system/plan9port/builder.sh
index f5c447ea0a53..7750de700617 100644
--- a/pkgs/tools/system/plan9port/builder.sh
+++ b/pkgs/tools/system/plan9port/builder.sh
@@ -5,18 +5,11 @@ export PLAN9_TARGET=$PLAN9
 
 plan9portLinkFlags()
 {
-    local -a linkFlags=()
     eval set -- "$NIX_LDFLAGS"
-    while (( $# > 0 )); do
-        if [[ $1 = -rpath ]]; then
-            linkFlags+=( "-Wl,-rpath,$2" )
-            shift 2
-        else
-            linkFlags+=( "$1" )
-            shift
-        fi
+    local flag
+    for flag in "$@"; do
+        printf ' -Wl,%s' "$flag"
     done
-    echo "${linkFlags[*]}"
 }
 
 configurePhase()
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index dabbfcd6d49b..42478f38b84d 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -423,6 +423,7 @@ mapAliases ({
   smbclient = samba; # added 2018-04-25
   slim = throw "slim has been removed. Please use a different display-manager"; # added 2019-11-11
   slimThemes = throw "slimThemes has been removed because slim has been also"; # added 2019-11-11
+  sundials_3 = throw "removed 2020-02. outdated and no longer needed";
   net_snmp = net-snmp; # added 2019-12-21
   spaceOrbit = space-orbit; # addewd 2016-05-23
   speech_tools = speech-tools; # added 2018-04-25
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 65a960a96302..025c6a4631cc 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -14400,8 +14400,6 @@ in
 
   sundials = callPackage ../development/libraries/sundials { };
 
-  sundials_3 = callPackage ../development/libraries/sundials/3.x.nix { };
-
   sutils = callPackage ../tools/misc/sutils { };
 
   svrcore = callPackage ../development/libraries/svrcore { };
@@ -20608,6 +20606,15 @@ in
 
   shogun = callPackage ../applications/science/machine-learning/shogun {
     stdenv = gcc8Stdenv;
+
+    # Workaround for the glibc abi version mismatch.
+    # Please note that opencv builds are by default disabled.
+    opencv = opencv3.override {
+      stdenv = gcc8Stdenv;
+      openexr = openexr.override {
+        stdenv = gcc8Stdenv;
+      };
+    };
   };
 
   sky = callPackage ../applications/networking/instant-messengers/sky {};
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 84672f066006..c00033b3a720 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1496,7 +1496,7 @@ in {
   webapp2 = callPackage ../development/python-modules/webapp2 { };
 
   wordcloud = callPackage ../development/python-modules/wordcloud { };
-  
+
   wrf-python = callPackage ../development/python-modules/wrf-python { };
 
   pyunbound = callPackage ../tools/networking/unbound/python.nix { };
@@ -1690,7 +1690,7 @@ in {
 
   asn1ate = callPackage ../development/python-modules/asn1ate { };
 
-  atlassian-python-api = callPackage ../development/python-modules/atlassian-python-api { };  
+  atlassian-python-api = callPackage ../development/python-modules/atlassian-python-api { };
 
   atomiclong = callPackage ../development/python-modules/atomiclong { };
 
@@ -1904,6 +1904,8 @@ in {
 
   cvxopt = callPackage ../development/python-modules/cvxopt { };
 
+  cvxpy = callPackage ../development/python-modules/cvxpy { };
+
   cycler = callPackage ../development/python-modules/cycler { };
 
   cysignals = callPackage ../development/python-modules/cysignals { };
@@ -4406,7 +4408,7 @@ in {
 
   nbconvert = callPackage ../development/python-modules/nbconvert { };
 
-  nbformat = if isPy3k then 
+  nbformat = if isPy3k then
     callPackage ../development/python-modules/nbformat { }
   else callPackage ../development/python-modules/nbformat/2.nix { };