summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/altcoins/monero-gui/default.nix4
-rw-r--r--pkgs/applications/altcoins/monero/default.nix4
-rw-r--r--pkgs/applications/audio/bs1770gain/default.nix4
-rw-r--r--pkgs/applications/audio/clementine/default.nix5
-rw-r--r--pkgs/applications/audio/pulseaudio-modules-bt/default.nix35
-rw-r--r--pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch11
-rw-r--r--pkgs/applications/misc/gpa/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix2
-rw-r--r--pkgs/applications/science/math/gmsh/default.nix4
-rw-r--r--pkgs/desktops/deepin/deepin-desktop-base/default.nix45
-rw-r--r--pkgs/desktops/deepin/default.nix1
-rw-r--r--pkgs/development/compilers/nextpnr/default.nix6
-rw-r--r--pkgs/development/compilers/yosys/default.nix6
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix16
-rw-r--r--pkgs/development/libraries/lesstif/default.nix11
-rw-r--r--pkgs/development/libraries/libHX/default.nix7
-rw-r--r--pkgs/development/libraries/libaccounts-glib/default.nix6
-rw-r--r--pkgs/development/libraries/libaom/default.nix1
-rw-r--r--pkgs/development/libraries/libbap/default.nix7
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/default.nix2
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix1
-rw-r--r--pkgs/development/libraries/libexttextcat/default.nix5
-rw-r--r--pkgs/development/libraries/libgdiplus/default.nix7
-rw-r--r--pkgs/development/libraries/libgnome-keyring/default.nix1
-rw-r--r--pkgs/development/libraries/libgnurl/default.nix1
-rw-r--r--pkgs/development/libraries/libicns/default.nix7
-rw-r--r--pkgs/development/libraries/libiodbc/default.nix5
-rw-r--r--pkgs/development/libraries/libite/default.nix1
-rw-r--r--pkgs/development/python-modules/python-ldap-test/default.nix24
-rw-r--r--pkgs/development/python-modules/python-packer/default.nix24
-rw-r--r--pkgs/development/python-modules/speedtest-cli/default.nix26
-rw-r--r--pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--pkgs/misc/seafile-shared/default.nix4
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh60
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix8
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generic.nix25
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix2
-rw-r--r--pkgs/servers/uhub/default.nix18
-rw-r--r--pkgs/servers/uhub/plugin-dir.patch2
-rw-r--r--pkgs/tools/X11/x11vnc/default.nix36
-rw-r--r--pkgs/tools/X11/xpra/default.nix64
-rw-r--r--pkgs/tools/X11/xpra/fix-paths.patch33
-rw-r--r--pkgs/tools/X11/xpra/gtk3.nix79
-rw-r--r--pkgs/tools/audio/abcm2ps/default.nix8
-rw-r--r--pkgs/tools/misc/esptool/default.nix4
-rw-r--r--pkgs/tools/networking/speedtest-cli/default.nix21
-rw-r--r--pkgs/tools/security/monkeysphere/default.nix23
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix16
-rw-r--r--pkgs/top-level/python-packages.nix6
52 files changed, 442 insertions, 267 deletions
diff --git a/pkgs/applications/altcoins/monero-gui/default.nix b/pkgs/applications/altcoins/monero-gui/default.nix
index c26df670930b..46e317a3b12a 100644
--- a/pkgs/applications/altcoins/monero-gui/default.nix
+++ b/pkgs/applications/altcoins/monero-gui/default.nix
@@ -12,13 +12,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "monero-gui-${version}";
-  version = "0.13.0.2";
+  version = "0.13.0.3";
 
   src = fetchFromGitHub {
     owner  = "monero-project";
     repo   = "monero-gui";
     rev    = "v${version}";
-    sha256 = "02419rqi3zfy6yjyw3b3gvkbxh2ypdfpijiiklc7lyblb9nnjr68";
+    sha256 = "1rvxwz7p1yw9c817n07m60xvmv2p97s82sfzwkg2x880fpxb0gj9";
   };
 
   nativeBuildInputs = [ qmake pkgconfig ];
diff --git a/pkgs/applications/altcoins/monero/default.nix b/pkgs/applications/altcoins/monero/default.nix
index 2b396c4b938d..e344f4d94bab 100644
--- a/pkgs/applications/altcoins/monero/default.nix
+++ b/pkgs/applications/altcoins/monero/default.nix
@@ -11,12 +11,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name    = "monero-${version}";
-  version = "0.13.0.2";
+  version = "0.13.0.3";
 
   src = fetchgit {
     url    = "https://github.com/monero-project/monero.git";
     rev    = "v${version}";
-    sha256 = "078iw76ajvaj08rgnx3c13pnq8fxah1z9wwyz54fcnj2349sjbf5";
+    sha256 = "03qx8y74zxnmabdi5r3a274pp8zvm3xhkdwi1xf5sb40vf4sfmwb";
   };
 
   nativeBuildInputs = [ cmake pkgconfig git ];
diff --git a/pkgs/applications/audio/bs1770gain/default.nix b/pkgs/applications/audio/bs1770gain/default.nix
index 2401a6101566..edf7a313ff5f 100644
--- a/pkgs/applications/audio/bs1770gain/default.nix
+++ b/pkgs/applications/audio/bs1770gain/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bs1770gain-${version}";
-  version = "0.4.12";
+  version = "0.5.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/bs1770gain/${name}.tar.gz";
-    sha256 = "0n9skdap1vnl6w52fx0gsrjlk7w3xgdwi62ycyf96h29rx059z6a";
+    sha256 = "0vd7320k7s2zcn2vganclxbr1vav18ghld27rcwskvcc3dm8prii";
   };
 
   buildInputs = [ ffmpeg sox ];
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
index 611828753e46..a28125d24d4f 100644
--- a/pkgs/applications/audio/clementine/default.nix
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -69,7 +69,8 @@ let
     name = "clementine-free-${version}";
     inherit src patches nativeBuildInputs postPatch;
 
-    buildInputs = buildInputs ++ [ makeWrapper ];
+    # gst_plugins needed for setup-hooks
+    buildInputs = buildInputs ++ [ makeWrapper gst_plugins ];
 
     cmakeFlags = [ "-DUSE_SYSTEM_PROJECTM=ON" ];
 
@@ -101,7 +102,7 @@ let
       ./clementine-spotify-blob.patch
     ];
 
-    buildInputs = buildInputs ++ [ libspotify makeWrapper gst_plugins ];
+    buildInputs = buildInputs ++ [ libspotify makeWrapper ];
     # Only build and install the Spotify blob
     preBuild = ''
       cd ext/clementine-spotifyblob
diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/default.nix b/pkgs/applications/audio/pulseaudio-modules-bt/default.nix
index e3d07fcc2457..6bb432b3fd88 100644
--- a/pkgs/applications/audio/pulseaudio-modules-bt/default.nix
+++ b/pkgs/applications/audio/pulseaudio-modules-bt/default.nix
@@ -4,11 +4,14 @@
 , libpulseaudio
 , pulseaudio
 , pkgconfig
+, ffmpeg_4
+, patchelf
 , libtool
 , cmake
 , bluez
 , dbus
 , sbc
+, lib
 }:
 
 let
@@ -20,37 +23,53 @@ let
 
 in stdenv.mkDerivation rec {
   name = "pulseaudio-modules-bt-${version}";
-  version = "unstable-2018-09-11";
+  version = "unstable-2018-10-16";
 
   src = fetchFromGitHub {
     owner = "EHfive";
     repo = "pulseaudio-modules-bt";
-    rev = "9c6ad75382f3855916ad2feaa6b40e37356d80cc";
-    sha256 = "1iz4m3y6arsvwcyvqc429w252dl3apnhvl1zhyvfxlbg00d2ii0h";
+    rev = "552c2b48c0cc7dd44d0746b261f7c7d5559e8e30";
+    sha256 = "052jb1hjx1in7bafx4zpn78s7r6f2y7djriwi36dzqy9wmalmyjy";
     fetchSubmodules = true;
   };
 
+  patches = [
+    ./fix-install-path.patch
+  ];
+
   nativeBuildInputs = [
     pkgconfig
+    patchelf
     cmake
   ];
 
   buildInputs = [
     libpulseaudio
     pulseaudio
+    ffmpeg_4
     libtool
     bluez
     dbus
     sbc
   ];
 
-  NIX_CFLAGS_COMPILE = [
-    "-L${pulseaudio}/lib/pulseaudio"
-  ];
-
-  prePatch = ''
+  postPatch = ''
+    # Upstream bundles pulseaudio as a submodule
     rm -r pa
     ln -s ${pulseSources} pa
+
+    # Pulseaudio version is detected with a -rebootstrapped suffix which build system assumptions
+    substituteInPlace config.h.in --replace PulseAudio_VERSION ${pulseaudio.version}
+    substituteInPlace CMakeLists.txt --replace '${"\${PulseAudio_VERSION}"}' ${pulseaudio.version}
+  '';
+
+  postFixup = ''
+    for so in $out/lib/pulse-${pulseaudio.version}/modules/*.so; do
+      orig_rpath=$(patchelf --print-rpath "$so")
+      patchelf \
+        --set-rpath "$orig_rpath:${lib.getLib ffmpeg_4}/lib:$out/lib/pulse-${pulseaudio.version}/modules" \
+        "$so"
+    done
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch b/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch
new file mode 100644
index 000000000000..2b4ff86ab71b
--- /dev/null
+++ b/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch
@@ -0,0 +1,11 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0f5baa0..1f35cce 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -122,5 +121,4 @@ INSTALL(TARGETS
+         module-bluez5-device
+         module-bluetooth-discover
+         module-bluetooth-policy
+-        LIBRARY DESTINATION ${PulseAudio_modlibexecdir})
+-
++        LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pulse-${PulseAudio_VERSION}/modules/)
diff --git a/pkgs/applications/misc/gpa/default.nix b/pkgs/applications/misc/gpa/default.nix
index 149092c70d38..a48890144127 100644
--- a/pkgs/applications/misc/gpa/default.nix
+++ b/pkgs/applications/misc/gpa/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, intltool, pkgconfig, gtk2, gpgme, libgpgerror, libassuan }:
 
 stdenv.mkDerivation rec {
-  name = "gpa-0.9.10";
+  name = "gpa-0.10.0";
 
   src = fetchurl {
     url = "mirror://gnupg/gpa/${name}.tar.bz2";
-    sha256 = "09xphbi2456qynwqq5n0yh0zdmdi2ggrj3wk4hsyh5lrzlvcrff3";
+    sha256 = "1cbpc45f8qbdkd62p12s3q2rdq6fa5xdzwmcwd3xrj55bzkspnwm";
   };
 
   nativeBuildInputs = [ intltool pkgconfig ];
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index acd3493fe7c8..c18f77f8f996 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -14,7 +14,7 @@
 , glib, gtk2, gtk3, dbus-glib
 , libXScrnSaver, libXcursor, libXtst, libGLU_combined
 , protobuf, speechd, libXdamage, cups
-, ffmpeg, libxslt, libxml2
+, ffmpeg, libxslt, libxml2, at-spi2-core
 
 # optional dependencies
 , libgcrypt ? null # gnomeSupport || cupsSupport
@@ -129,7 +129,8 @@ let
     ] ++ optional gnomeKeyringSupport libgnome-keyring3
       ++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
       ++ optionals cupsSupport [ libgcrypt cups ]
-      ++ optional pulseSupport libpulseaudio;
+      ++ optional pulseSupport libpulseaudio
+      ++ optional (versionAtLeast version "71") at-spi2-core;
 
     patches = [
       # As major versions are added, you can trawl the gentoo and arch repos at
@@ -232,7 +233,6 @@ let
       is_clang = false;
       clang_use_chrome_plugins = false;
       remove_webcore_debug_symbols = true;
-      use_gtk3 = true;
       enable_swiftshader = false;
       fieldtrial_testing_like_official_build = true;
 
@@ -243,6 +243,8 @@ let
       google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI";
       google_default_client_id = "404761575300.apps.googleusercontent.com";
       google_default_client_secret = "9rIFQjfnkykEmqb6FfjJQD1D";
+    } // optionalAttrs (versionRange "60" "70") {
+      use_gtk3 = true;
     } // optionalAttrs proprietaryCodecs {
       # enable support for the H.264 codec
       proprietary_codecs = true;
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 03a99aea4001..1e8080fd9c9d 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -13,6 +13,8 @@ let
 in {
   stable = mkTelegram stableVersion;
   preview = mkTelegram (stableVersion // {
+    version = "1.4.4";
+    sha256Hash = "1m1j485r3vzpglzfn8l4cqskysvkx8l3pqaw3fgp66jfajbxynf0";
     stable = false;
   });
 }
diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix
index 7973fa8b3efb..525fc5f1dc26 100644
--- a/pkgs/applications/science/math/gmsh/default.nix
+++ b/pkgs/applications/science/math/gmsh/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, cmake, blas, liblapack, gfortran, gmm, fltk, libjpeg
 , zlib, libGLU_combined, libGLU, xorg }:
 
-let version = "4.0.1"; in
+let version = "4.0.2"; in
 
 stdenv.mkDerivation {
   name = "gmsh-${version}";
 
   src = fetchurl {
     url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
-    sha256 = "0s9pay32kci03qx3dlpf9h2n3hihf8zpidjnn8p9vmhnn0vav7rz";
+    sha256 = "03aw3sbz4x998rk29az7mgm0mrdb6614aqnppg81p5jkh5097jgk";
   };
 
   # The original CMakeLists tries to use some version of the Lapack lib
diff --git a/pkgs/desktops/deepin/deepin-desktop-base/default.nix b/pkgs/desktops/deepin/deepin-desktop-base/default.nix
new file mode 100644
index 000000000000..5b96e335c67e
--- /dev/null
+++ b/pkgs/desktops/deepin/deepin-desktop-base/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, deepin-wallpapers }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "deepin-desktop-base";
+  version = "2018.7.23";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "1n1bjkvhgq138jcg3zkwg55r41056x91mh191mirlpvpic574ydc";
+  };
+
+  buildInputs = [ deepin-wallpapers ];
+
+  postPatch = ''
+    sed -i Makefile -e "s:/usr:$out:" -e "s:/etc:$out/etc:"
+  '';
+
+  postInstall = ''
+    # Remove Deepin distro's lsb-release
+    rm $out/etc/lsb-release
+
+    # Don't override systemd timeouts
+    rm -r $out/etc/systemd
+
+    # Remove apt-specific templates
+    rm -r $out/share/python-apt
+
+    # Remove empty backgrounds directory
+    rm -r $out/share/backgrounds
+
+    # Make a symlink for deepin-version
+    ln -s ../lib/deepin/desktop-version $out/etc/deepin-version
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Base assets and definitions for Deepin Desktop Environment";
+    homepage = https://github.com/linuxdeepin/deepin-desktop-base;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index 291aa8c11be1..4e6530c2d18b 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -7,6 +7,7 @@ let
     dde-api = callPackage ./dde-api { };
     dde-calendar = callPackage ./dde-calendar { };
     dde-qt-dbus-factory = callPackage ./dde-qt-dbus-factory { };
+    deepin-desktop-base = callPackage ./deepin-desktop-base { };
     deepin-desktop-schemas = callPackage ./deepin-desktop-schemas { };
     deepin-gettext-tools = callPackage ./deepin-gettext-tools { };
     deepin-gtk-theme = callPackage ./deepin-gtk-theme { };
diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix
index 5ec3b5f59d88..d6dd0601e624 100644
--- a/pkgs/development/compilers/nextpnr/default.nix
+++ b/pkgs/development/compilers/nextpnr/default.nix
@@ -7,13 +7,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "nextpnr-${version}";
-  version = "2018.08.09";
+  version = "2018.10.17";
 
   src = fetchFromGitHub {
     owner  = "yosyshq";
     repo   = "nextpnr";
-    rev    = "2e02f2d6166c75b1fcec73d268e97e407071a372";
-    sha256 = "1f98mkailn75gz5fvhjhnyr0gwa0r8mm3f2sbvgl0yvys8qi08wr";
+    rev    = "529a595157a2eef24f8529b0de0c504a40ed503b";
+    sha256 = "06yp89rpvb2s4zc1qkbcp76kqwkk9s8j2ckblqw547dy5ah2cl7h";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index 314fbf354e19..275a25c84959 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -8,14 +8,14 @@ with builtins;
 
 stdenv.mkDerivation rec {
   name = "yosys-${version}";
-  version = "2018.09.30";
+  version = "2018.10.17";
 
   srcs = [
     (fetchFromGitHub {
       owner  = "yosyshq";
       repo   = "yosys";
-      rev    = "4d2917447cc14c590b4fee5ba36948fb4ee6884b";
-      sha256 = "0b9mmzq2jhx8x8b58nk97fzh70nbhlc3lcfln5facxddv4mp2gl1";
+      rev    = "yosys-0.8";
+      sha256 = "1qwbp8gynlklawzvpa4gdn2x0hs8zln0s3kxjqkhfcjfxffdcpvv";
       name   = "yosys";
     })
 
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index ef2c33c10915..5803e2946bff 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -194,19 +194,21 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
     callCabal2nix = name: src: args: self.callCabal2nixWithOptions name src "" args;
 
     # : { root : Path
+    #   , name : Defaulted String
     #   , source-overrides : Defaulted (Either Path VersionNumber)
     #   , overrides : Defaulted (HaskellPackageOverrideSet)
     #   , modifier : Defaulted
     #   , returnShellEnv : Defaulted
     #   } -> NixShellAwareDerivation
-    # Given a path to a haskell package directory whose cabal file is
-    # named the same as the directory name, an optional set of
-    # source overrides as appropriate for the 'packageSourceOverrides'
-    # function, an optional set of arbitrary overrides, and an optional
-    # haskell package modifier,  return a derivation appropriate
-    # for nix-build or nix-shell to build that package.
+    # Given a path to a haskell package directory, an optional package name
+    # which defaults to the base name of the path, an optional set of source
+    # overrides as appropriate for the 'packageSourceOverrides' function, an
+    # optional set of arbitrary overrides, and an optional haskell package
+    # modifier, return a derivation appropriate for nix-build or nix-shell to
+    # build that package.
     developPackage =
       { root
+      , name ? builtins.baseNameOf root
       , source-overrides ? {}
       , overrides ? self: super: {}
       , modifier ? drv: drv
@@ -216,7 +218,7 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
            (pkgs.lib.composeExtensions
               (self.packageSourceOverrides source-overrides)
               overrides))
-        .callCabal2nix (builtins.baseNameOf root) root {};
+        .callCabal2nix name root {};
       in if returnShellEnv then (modifier drv).env else modifier drv;
 
     ghcWithPackages = selectFrom: withPackages (selectFrom self);
diff --git a/pkgs/development/libraries/lesstif/default.nix b/pkgs/development/libraries/lesstif/default.nix
index 04e8eab4d287..b678a0893867 100644
--- a/pkgs/development/libraries/lesstif/default.nix
+++ b/pkgs/development/libraries/lesstif/default.nix
@@ -14,12 +14,15 @@ stdenv.mkDerivation rec {
   # in Debian, so we assume they have been sent upstream.
   #
   patches = [
-    ./c-missing_xm_h.patch        
-    ./c-render_table_crash.patch 
+    ./c-missing_xm_h.patch
+    ./c-render_table_crash.patch
     ./c-xpmpipethrough.patch
     ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "An open source clone of the Motif widget set";
+    homepage = http://lesstif.sourceforge.net;
+    platforms = platforms.unix;
+    license = with licenses; [ gpl2 lgpl2 ];
   };
 }
diff --git a/pkgs/development/libraries/libHX/default.nix b/pkgs/development/libraries/libHX/default.nix
index 7de72ed73a65..39f493d821c3 100644
--- a/pkgs/development/libraries/libHX/default.nix
+++ b/pkgs/development/libraries/libHX/default.nix
@@ -16,14 +16,15 @@ stdenv.mkDerivation rec {
     sh autogen.sh
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://libhx.sourceforge.net/;
     longDescription = ''
       libHX is a C library (with some C++ bindings available) that provides data structures
       and functions commonly needed, such as maps, deques, linked lists, string formatting
       and autoresizing, option and config file parsing, type checking casts and more.
       '';
-    maintainers = [ stdenv.lib.maintainers.tstrobel ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ maintainers.tstrobel ];
+    platforms = platforms.linux;
+    license = with licenses; [ gpl3 lgpl21Plus wtfpl ];
   };
 }
diff --git a/pkgs/development/libraries/libaccounts-glib/default.nix b/pkgs/development/libraries/libaccounts-glib/default.nix
index 4bb806b91d8a..16e9f213ed48 100644
--- a/pkgs/development/libraries/libaccounts-glib/default.nix
+++ b/pkgs/development/libraries/libaccounts-glib/default.nix
@@ -25,7 +25,9 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; # since glib-2.46
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "Library for managing accounts which can be used from GLib applications";
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix
index b94c845479aa..a08a1e335232 100644
--- a/pkgs/development/libraries/libaom/default.nix
+++ b/pkgs/development/libraries/libaom/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     homepage    = https://aomedia.org/av1-features/get-started/;
     maintainers = with maintainers; [ kiloreux ];
     platforms   = platforms.all;
+    license = licenses.bsd2;
   };
 }
diff --git a/pkgs/development/libraries/libbap/default.nix b/pkgs/development/libraries/libbap/default.nix
index 54fb89df0451..5153b63e91c5 100644
--- a/pkgs/development/libraries/libbap/default.nix
+++ b/pkgs/development/libraries/libbap/default.nix
@@ -20,10 +20,11 @@ stdenv.mkDerivation rec {
     mkdir -p $out/include
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/binaryanalysisplatform/bap-bindings;
     description = "A C library for interacting with BAP";
-    maintainers = [ stdenv.lib.maintainers.maurer ];
-    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ maintainers.maurer ];
+    platforms = platforms.unix;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libdbusmenu-qt/default.nix b/pkgs/development/libraries/libdbusmenu-qt/default.nix
index 1342ee6773f7..501341d202ba 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/default.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "Provides a Qt implementation of the DBusMenu spec";
     inherit homepage;
-    maintainers = [ ];
     inherit (qt4.meta) platforms;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
index 9c25757efb03..e8651de2b346 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation {
     description = "Provides a Qt implementation of the DBusMenu spec";
     maintainers = [ maintainers.ttuegel ];
     inherit (qtbase.meta) platforms;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/libexttextcat/default.nix b/pkgs/development/libraries/libexttextcat/default.nix
index 8d264c929a5b..7b3df42c24c3 100644
--- a/pkgs/development/libraries/libexttextcat/default.nix
+++ b/pkgs/development/libraries/libexttextcat/default.nix
@@ -8,9 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "1j6sjwkyhqvsgyw938bxxfwkzzi1mahk66g5342lv6j89jfvrz8k";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An N-Gram-Based Text Categorization library primarily intended for language guessing";
     homepage = https://wiki.documentfoundation.org/Libexttextcat;
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix
index 5e94d00dcdb7..d54f9203d23d 100644
--- a/pkgs/development/libraries/libgdiplus/default.nix
+++ b/pkgs/development/libraries/libgdiplus/default.nix
@@ -34,7 +34,10 @@ stdenv.mkDerivation rec {
     ln -s $out/lib/libgdiplus.0.dylib $out/lib/libgdiplus.so
   '';
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "Mono library that provides a GDI+-compatible API on non-Windows operating systems";
+    homepage = https://www.mono-project.com/docs/gui/libgdiplus/;
+    platforms = platforms.unix;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libgnome-keyring/default.nix b/pkgs/development/libraries/libgnome-keyring/default.nix
index e7157afbaee5..0b496ff593b3 100644
--- a/pkgs/development/libraries/libgnome-keyring/default.nix
+++ b/pkgs/development/libraries/libgnome-keyring/default.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation {
 
   meta = {
     inherit (glib.meta) platforms maintainers;
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/libgnurl/default.nix b/pkgs/development/libraries/libgnurl/default.nix
index 33276b424e7c..752d2ce5a1e7 100644
--- a/pkgs/development/libraries/libgnurl/default.nix
+++ b/pkgs/development/libraries/libgnurl/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     homepage    = https://gnunet.org/gnurl;
     maintainers = with maintainers; [ falsifian vrthra ];
     platforms = platforms.linux;
+    license = with licenses; [ bsdOriginal mit ];
   };
 }
diff --git a/pkgs/development/libraries/libicns/default.nix b/pkgs/development/libraries/libicns/default.nix
index 08d80bcf9856..298d6124505c 100644
--- a/pkgs/development/libraries/libicns/default.nix
+++ b/pkgs/development/libraries/libicns/default.nix
@@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libpng jasper ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "Library for manipulation of the Mac OS icns resource format";
+    homepage = https://icns.sourceforge.io;
+    license = with licenses; [ gpl2 lgpl2 lgpl21 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libiodbc/default.nix b/pkgs/development/libraries/libiodbc/default.nix
index 45649f944f51..faa070b3468c 100644
--- a/pkgs/development/libraries/libiodbc/default.nix
+++ b/pkgs/development/libraries/libiodbc/default.nix
@@ -17,9 +17,10 @@ stdenv.mkDerivation rec {
       export NIX_LDFLAGS_BEFORE="-rpath $out/lib"
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "iODBC driver manager";
     homepage = http://www.iodbc.org;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/libite/default.nix b/pkgs/development/libraries/libite/default.nix
index 7580c1b092e2..1616aa1e0cc1 100644
--- a/pkgs/development/libraries/libite/default.nix
+++ b/pkgs/development/libraries/libite/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.unix;
     maintainers = with maintainers; [ fpletz ];
+    license = with licenses; [ mit isc ];
   };
 }
 
diff --git a/pkgs/development/python-modules/python-ldap-test/default.nix b/pkgs/development/python-modules/python-ldap-test/default.nix
new file mode 100644
index 000000000000..3ba81cacfd41
--- /dev/null
+++ b/pkgs/development/python-modules/python-ldap-test/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, py4j }:
+
+buildPythonPackage rec {
+  pname = "python-ldap-test";
+  version = "0.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1qh9x3lncaldnw79fgpqbayichs8pbz8abr6pxb5qxbs7zrnyrwf";
+  };
+
+  propagatedBuildInputs = [ py4j ];
+
+  # Tests needs java to be present in path
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Tool for testing code speaking with LDAP server";
+    homepage = https://github.com/zoldar/python-ldap-test;
+    license = licenses.mit;
+    maintainers = with maintainers; [ psyanticy ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/python-packer/default.nix b/pkgs/development/python-modules/python-packer/default.nix
new file mode 100644
index 000000000000..3f0c1f8138f9
--- /dev/null
+++ b/pkgs/development/python-modules/python-packer/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, sh }:
+
+buildPythonPackage rec {
+  pname = "python-packer";
+  version = "0.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "fd363dae9bd2efd447739bbf7a4f29c1e4741596ae7b02d252fe525b2b4176e7";
+  };
+
+  propagatedBuildInputs = [ sh ];
+  
+  # Tests requires network connections
+  doCheck = false;
+  
+  meta = with stdenv.lib; {
+    description = "An interface for packer.io";
+    homepage = https://github.com/nir0s/python-packer;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ psyanticy ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/speedtest-cli/default.nix b/pkgs/development/python-modules/speedtest-cli/default.nix
new file mode 100644
index 000000000000..f2c38a3414ba
--- /dev/null
+++ b/pkgs/development/python-modules/speedtest-cli/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+# cannot be built as pythonApplication because the library functions are
+# required for home-assistant
+buildPythonPackage rec {
+  pname = "speedtest-cli";
+  version = "2.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2f3d5aa1086d9b367c03b99db6e3207525af174772d877c6b982289b8d2bdefe";
+  };
+
+  # tests require working internet connection
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Command line interface for testing internet bandwidth using speedtest.net";
+    homepage = https://github.com/sivel/speedtest-cli;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ makefu domenkozar ndowens ];
+  };
+}
diff --git a/pkgs/development/ruby-modules/bundler/default.nix b/pkgs/development/ruby-modules/bundler/default.nix
index 7f89d1ffa87c..65cde9815029 100644
--- a/pkgs/development/ruby-modules/bundler/default.nix
+++ b/pkgs/development/ruby-modules/bundler/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "bundler";
-  version = "1.16.3";
-  source.sha256 = "0spddjiq6yscl4sywwcj5zrjk3lq02zacigrz2fh78yfdzyi34fq";
+  version = "1.16.4";
+  source.sha256 = "15zrxqv817w4vawc23lx3miigir36ba59wkykkr6l1nkf0iy013d";
   dontPatchShebangs = true;
 
   postFixup = ''
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 60f342db12aa..dce19a1d8395 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "sbt-${version}";
-  version = "1.2.4";
+  version = "1.2.6";
 
   src = fetchurl {
     urls = [
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
       "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
       "https://cocl.us/sbt-${version}.tgz"
     ];
-    sha256 = "06zv1mm4rhl0h6qa7m4w5lbwjcyqp43r183q36q9zlyip965mnrn";
+    sha256 = "1nv8r3j2vhp38qbb123n86wfhb6mvwz7vgrrsjp344zg211psncn";
   };
 
   patchPhase = ''
diff --git a/pkgs/misc/seafile-shared/default.nix b/pkgs/misc/seafile-shared/default.nix
index 6fba977e0085..bccc55914fea 100644
--- a/pkgs/misc/seafile-shared/default.nix
+++ b/pkgs/misc/seafile-shared/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchFromGitHub, which, autoreconfHook, pkgconfig, curl, vala, python, intltool, fuse, ccnet}:
 
 stdenv.mkDerivation rec {
-  version = "6.2.4";
+  version = "6.2.5";
   name = "seafile-shared-${version}";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile";
     rev = "v${version}";
-    sha256 = "0v6wvw8x3zfcapi0lk71mg89gy3gw2qmdiq6mhw6qbbrzvqprlmr";
+    sha256 = "1s8cqh5wfll81d060f4zknxhmwwqckci6dadmslbvbvx55lgyspa";
   };
 
   nativeBuildInputs = [ pkgconfig which autoreconfHook vala intltool ];
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh
index 15c3e10e1199..8882ffdd45e7 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -26,32 +26,44 @@ buildPhase() {
     fi
 }
 
-    
+
 installPhase() {
     # Install libGL and friends.
+
+    # since version 391, 32bit libraries are bundled in the 32/ sub-directory
+    if [ "$i686bundled" = "1" ]; then
+        mkdir -p "$lib32/lib"
+        cp -prd 32/*.so.* 32/tls "$lib32/lib/"
+    fi
+
     mkdir -p "$out/lib"
     cp -prd *.so.* tls "$out/lib/"
-    rm $out/lib/lib{glx,nvidia-wfb}.so.* # handled separately
-    rm -f $out/lib/libnvidia-gtk* # built from source
-    if [ "$useGLVND" = "1" ]; then
-        # Pre-built libglvnd
-        rm $out/lib/lib{GL,GLX,EGL,GLESv1_CM,GLESv2,OpenGL,GLdispatch}.so.*
-    fi
-    # Use ocl-icd instead
-    rm $out/lib/libOpenCL.so*
-    # Move VDPAU libraries to their place
-    mkdir $out/lib/vdpau
-    mv $out/lib/libvdpau* $out/lib/vdpau
-
-    # Install ICDs.
-    install -Dm644 nvidia.icd $out/etc/OpenCL/vendors/nvidia.icd
-    if [ -e nvidia_icd.json.template ]; then
-        sed "s#__NV_VK_ICD__#libGLX_nvidia.so#" nvidia_icd.json.template > nvidia_icd.json
-        install -Dm644 nvidia_icd.json $out/share/vulkan/icd.d/nvidia.json
-    fi
-    if [ "$useGLVND" = "1" ]; then
-        install -Dm644 10_nvidia.json $out/share/glvnd/egl_vendor.d/nvidia.json
-    fi
+
+    for i in $lib32 $out; do
+        rm -f $i/lib/lib{glx,nvidia-wfb}.so.* # handled separately
+        rm -f $i/lib/libnvidia-gtk* # built from source
+        if [ "$useGLVND" = "1" ]; then
+            # Pre-built libglvnd
+            rm $i/lib/lib{GL,GLX,EGL,GLESv1_CM,GLESv2,OpenGL,GLdispatch}.so.*
+        fi
+        # Use ocl-icd instead
+        rm -f $i/lib/libOpenCL.so*
+        # Move VDPAU libraries to their place
+        mkdir $i/lib/vdpau
+        mv $i/lib/libvdpau* $i/lib/vdpau
+
+        # Install ICDs.
+        install -Dm644 nvidia.icd $i/etc/OpenCL/vendors/nvidia.icd
+        if [ -e nvidia_icd.json.template ]; then
+            sed "s#__NV_VK_ICD__#libGLX_nvidia.so#" nvidia_icd.json.template > nvidia_icd.json
+            install -Dm644 nvidia_icd.json $i/share/vulkan/icd.d/nvidia.json
+        fi
+        if [ "$useGLVND" = "1" ]; then
+            install -Dm644 10_nvidia.json $i/share/glvnd/egl_vendor.d/nvidia.json
+        fi
+
+    done
+
 
     if [ -n "$bin" ]; then
         # Install the X drivers.
@@ -60,7 +72,7 @@ installPhase() {
         mkdir -p $bin/lib/xorg/modules/drivers
         cp -p nvidia_drv.so $bin/lib/xorg/modules/drivers
         mkdir -p $bin/lib/xorg/modules/extensions
-        cp -p libglx.so.* $bin/lib/xorg/modules/extensions
+        cp -p libglx*.so* $bin/lib/xorg/modules/extensions
 
         # Install the kernel module.
         mkdir -p $bin/lib/modules/$kernelVersion/misc
@@ -78,7 +90,7 @@ installPhase() {
     fi
 
     # All libs except GUI-only are installed now, so fixup them.
-    for libname in `find "$out/lib/" -name '*.so.*'` `test -z "$bin" || find "$bin/lib/" -name '*.so.*'`
+    for libname in $(find "$out/lib/" $(test -n "$lib32" && echo "$lib32/lib/") $(test -n "$bin" && echo "$bin/lib/") -name '*.so.*')
     do
       # I'm lazy to differentiate needed libs per-library, as the closure is the same.
       # Unfortunately --shrink-rpath would strip too much.
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index d9ff157e1429..492b268610f1 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -26,8 +26,12 @@ rec {
     patches = lib.optional (kernel.meta.branch == "4.19") ./drm_mode_connector.patch;
   };
 
-  beta = stable; # not enough interest to maintain beta ATM
-
+  beta = generic {
+    version = "410.57";
+    sha256_64bit = "08534rv3wcmzslbwq11kd3s7cxm72p48dia6540c0586xwgjwg2w";
+    settingsSha256 = "1phhhzlc8n3rqdhrn757mnlqmsp616d079a6h1qjpa6jba9z9915";
+    persistencedSha256 = "1z7c1ff0y486yp9i5w0siwh9dnprml22x2avarbjfgqwm4f652lw";
+  };
 
   legacy_340 = generic {
     version = "340.104";
diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix
index 090fce3a485c..a40a64344932 100644
--- a/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -1,5 +1,5 @@
 { version
-, sha256_32bit
+, sha256_32bit ? null
 , sha256_64bit
 , settingsSha256
 , persistencedSha256
@@ -22,11 +22,15 @@
 
 with stdenv.lib;
 
-assert (!libsOnly) -> kernel != null;
+assert !libsOnly -> kernel != null;
+assert versionOlder version "391" -> sha256_32bit != null;
+assert ! versionOlder version "391" -> stdenv.hostPlatform.system == "x86_64-linux";
 
 let
   nameSuffix = optionalString (!libsOnly) "-${kernel.version}";
   pkgSuffix = optionalString (versionOlder version "304") "-pkg0";
+  i686bundled = versionAtLeast version "391";
+
 
   self = stdenv.mkDerivation {
     name = "nvidia-x11-${version}${nameSuffix}";
@@ -34,24 +38,27 @@ let
     builder = ./builder.sh;
 
     src =
-      if stdenv.hostPlatform.system == "i686-linux" then
-        fetchurl {
-          url = "https://download.nvidia.com/XFree86/Linux-x86/${version}/NVIDIA-Linux-x86-${version}${pkgSuffix}.run";
-          sha256 = sha256_32bit;
-        }
-      else if stdenv.hostPlatform.system == "x86_64-linux" then
+      if stdenv.hostPlatform.system == "x86_64-linux" then
         fetchurl {
           url = "https://download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run";
           sha256 = sha256_64bit;
         }
+      else if stdenv.hostPlatform.system == "i686-linux" then
+        fetchurl {
+          url = "https://download.nvidia.com/XFree86/Linux-x86/${version}/NVIDIA-Linux-x86-${version}${pkgSuffix}.run";
+          sha256 = sha256_32bit;
+        }
       else throw "nvidia-x11 does not support platform ${stdenv.hostPlatform.system}";
 
     patches = if libsOnly then null else patches;
     inherit prePatch;
     inherit version useGLVND useProfiles;
     inherit (stdenv.hostPlatform) system;
+    inherit i686bundled;
 
-    outputs = [ "out" ] ++ optional (!libsOnly) "bin";
+    outputs = [ "out" ]
+        ++ optional i686bundled "lib32"
+        ++ optional (!libsOnly) "bin";
     outputDev = if libsOnly then null else "bin";
 
     kernel = if libsOnly then null else kernel.dev;
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index a67de2dab1aa..c1b35946d684 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -998,7 +998,7 @@
     "sensor.sochain" = ps: with ps; [  ];
     "sensor.socialblade" = ps: with ps; [  ];
     "sensor.sonarr" = ps: with ps; [  ];
-    "sensor.speedtest" = ps: with ps; [  ];
+    "sensor.speedtest" = ps: with ps; [ speedtest-cli ];
     "sensor.spotcrime" = ps: with ps; [  ];
     "sensor.sql" = ps: with ps; [ sqlalchemy ];
     "sensor.startca" = ps: with ps; [ xmltodict ];
diff --git a/pkgs/servers/uhub/default.nix b/pkgs/servers/uhub/default.nix
index 87d0a0ee4553..52866784faa9 100644
--- a/pkgs/servers/uhub/default.nix
+++ b/pkgs/servers/uhub/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, openssl, sqlite, pkgconfig, systemd
+{ stdenv, fetchpatch, fetchFromGitHub, cmake, openssl, sqlite, pkgconfig, systemd
 , tlsSupport ? false }:
 
 assert tlsSupport -> openssl != null;
@@ -7,9 +7,11 @@ stdenv.mkDerivation rec {
   name = "uhub-${version}";
   version = "0.5.0";
 
-  src = fetchurl {
-    url = "https://www.extatic.org/downloads/uhub/uhub-${version}-src.tar.bz2";
-    sha256 = "1xcqjz20lxikzn96f4f69mqyl9y985h9g0gyc9f7ckj18q22b5j5";
+  src = fetchFromGitHub {
+    owner = "janvidar";
+    repo = "uhub";
+    rev = version;
+    sha256 = "0zdbxfvw7apmfhqgsfkfp4pn9iflzwdn0zwvzymm5inswfc00pxg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -20,6 +22,7 @@ stdenv.mkDerivation rec {
     "mod_welcome"
     "mod_logging"
     "mod_auth_simple"
+    "mod_auth_sqlite"
     "mod_chat_history"
     "mod_chat_only"
     "mod_topic"
@@ -28,9 +31,14 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./plugin-dir.patch
+    # fix aarch64 build: https://github.com/janvidar/uhub/issues/46
+    (fetchpatch {
+      url = "https://github.com/janvidar/uhub/pull/47.patch";
+      sha256 = "07yik6za89ar5bxm7m2183i7f6hfbawbxvd4vs02n1zr2fgfxmiq";
+    })
 
     # Fixed compilation on systemd > 210
-    (fetchurl {
+    (fetchpatch {
       url = "https://github.com/janvidar/uhub/commit/70f2a43f676cdda5961950a8d9a21e12d34993f8.diff";
       sha256 = "1jp8fvw6f9jh0sdjml9mahkk6p6b96p6rzg2y601mnnbcdj8y8xp";
     })
diff --git a/pkgs/servers/uhub/plugin-dir.patch b/pkgs/servers/uhub/plugin-dir.patch
index 01cbcbb31cf3..d29d600425ff 100644
--- a/pkgs/servers/uhub/plugin-dir.patch
+++ b/pkgs/servers/uhub/plugin-dir.patch
@@ -7,7 +7,7 @@
 -	install( TARGETS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_history_sqlite mod_chat_only mod_topic mod_no_guest_downloads DESTINATION /usr/lib/uhub/ OPTIONAL )
 -	install( FILES ${CMAKE_SOURCE_DIR}/doc/uhub.conf ${CMAKE_SOURCE_DIR}/doc/plugins.conf ${CMAKE_SOURCE_DIR}/doc/rules.txt ${CMAKE_SOURCE_DIR}/doc/motd.txt DESTINATION /etc/uhub OPTIONAL )
 +
-+    set( PLUGINS mod_example mod_welcome mod_logging mod_auth_simple mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads )
++    set( PLUGINS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads )
 +
 +    foreach( PLUGIN ${PLUGINS} )
 +        install( TARGETS ${PLUGIN} DESTINATION $ENV{${PLUGIN}} OPTIONAL )
diff --git a/pkgs/tools/X11/x11vnc/default.nix b/pkgs/tools/X11/x11vnc/default.nix
index 2dc6d8ffd78c..6dc785621b59 100644
--- a/pkgs/tools/X11/x11vnc/default.nix
+++ b/pkgs/tools/X11/x11vnc/default.nix
@@ -1,35 +1,49 @@
-{ stdenv, fetchurl, openssl, zlib, libjpeg, xorg, coreutils }:
+{ stdenv, fetchFromGitHub,
+  openssl, zlib, libjpeg, xorg, coreutils, libvncserver,
+  autoreconfHook, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "x11vnc-0.9.13";
+  name = "x11vnc-${version}";
+  version = "0.9.15";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/libvncserver/${name}.tar.gz";
-    sha256 = "0fzib5xb1vbs8kdprr4z94v0fshj2c5hhaz69llaarwnc8p9z0pn";
+  src = fetchFromGitHub {
+    owner = "LibVNC";
+    repo = "x11vnc";
+    rev = version;
+    sha256 = "1a1b65k1hsy4nhg2sx1yrpaz3vx6s7rmrx8nwygpaam8wpdlkh8p";
   };
 
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
   buildInputs =
     [ xorg.libXfixes xorg.fixesproto openssl xorg.libXdamage
       xorg.damageproto zlib xorg.libX11 xorg.xproto libjpeg
       xorg.libXtst xorg.libXinerama xorg.xineramaproto xorg.libXrandr
       xorg.randrproto xorg.libXext xorg.xextproto xorg.inputproto
       xorg.recordproto xorg.libXi xorg.libXrender xorg.renderproto
+      libvncserver
     ];
 
-  preConfigure = ''
-    configureFlags="--mandir=$out/share/man"
-
-    substituteInPlace x11vnc/unixpw.c \
+  postPatch = ''
+    substituteInPlace src/unixpw.c \
         --replace '"/bin/su"' '"/run/wrappers/bin/su"' \
         --replace '"/bin/true"' '"${coreutils}/bin/true"'
 
-    sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:${xorg.xauth}\/bin:$PATH\\n"' -e 's|/bin/su|/run/wrappers/bin/su|g' x11vnc/ssltools.h
+    sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:${xorg.xauth}\/bin:$PATH\\n"' -e 's|/bin/su|/run/wrappers/bin/su|g' src/ssltools.h
+
+    # Xdummy script is currently broken, so we avoid building it. This removes everything Xdummy-related from the affected Makefile
+    sed -i -e '/^\tXdummy.c\ \\$/,$d' -e 's/\tx11vnc_loop\ \\/\tx11vnc_loop/' misc/Makefile.am
+  '';
+
+  preConfigure = ''
+    configureFlags="--mandir=$out/share/man"
   '';
 
   meta = with stdenv.lib; {
     description = "A VNC server connected to a real X11 screen";
-    homepage = http://www.karlrunge.com/x11vnc/;
+    homepage = https://github.com/LibVNC/x11vnc/;
     platforms = platforms.linux;
     license = licenses.gpl2;
+    maintainers = with maintainers; [ OPNA2608 ];
   };
 }
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 3e4d49108b71..7f1552f91979 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, lib, fetchurl, callPackage, python2Packages, pkgconfig
-, xorg, gtk2, glib, pango, cairo, gdk_pixbuf, atk
-, makeWrapper, xorgserver, getopt, xauth, utillinux, which
+{ stdenv, lib, fetchurl, callPackage, substituteAll, python3, pkgconfig
+, xorg, gtk3, glib, pango, cairo, gdk_pixbuf, atk
+, wrapGAppsHook, xorgserver, getopt, xauth, utillinux, which
 , ffmpeg, x264, libvpx, libwebp
 , libfakeXinerama
 , gst_all_1, pulseaudio, gobjectIntrospection
@@ -9,7 +9,7 @@
 with lib;
 
 let
-  inherit (python2Packages) cython buildPythonApplication;
+  inherit (python3.pkgs) cython buildPythonApplication;
 
   xf86videodummy = callPackage ./xf86videodummy { };
 in buildPythonApplication rec {
@@ -21,7 +21,14 @@ in buildPythonApplication rec {
     sha256 = "0wa3kx54himy3i1b2801hlzfilh3cf4kjk40k1cjl0ds28m5hija";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit (xorg) xkeyboardconfig;
+    })
+  ];
+
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection wrapGAppsHook ];
   buildInputs = [
     cython
 
@@ -30,11 +37,10 @@ in buildPythonApplication rec {
     xorg.xproto xorg.fixesproto xorg.libXtst xorg.libXfixes xorg.libXcomposite xorg.libXdamage
     xorg.libXrandr xorg.libxkbfile
 
-    pango cairo gdk_pixbuf atk gtk2 glib
+    pango cairo gdk_pixbuf atk gtk3 glib
 
     ffmpeg libvpx x264 libwebp
 
-    gobjectIntrospection
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
@@ -42,38 +48,34 @@ in buildPythonApplication rec {
     gst_all_1.gst-libav
 
     pam
+  ];
 
-    makeWrapper
+  propagatedBuildInputs = with python3.pkgs; [
+    pillow rencode pycrypto cryptography pycups lz4 dbus-python
+    netifaces numpy websockify pygobject3 pycairo gst-python pam
   ];
 
-  propagatedBuildInputs = with python2Packages; [
-    pillow pygtk pygobject2 rencode pycrypto cryptography pycups lz4 dbus-python
-    netifaces numpy websockify pygobject3 gst-python pam
+  NIX_CFLAGS_COMPILE = [
+    # error: 'import_cairo' defined but not used
+    "-Wno-error=unused-function"
   ];
 
-  preBuild = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)"
-    substituteInPlace xpra/server/auth/pam_auth.py --replace "/lib/libpam.so.1" "${pam}/lib/libpam.so"
-    substituteInPlace xpra/x11/bindings/keyboard_bindings.pyx --replace "/usr/share/X11/xkb" "${xorg.xkeyboardconfig}/share/X11/xkb"
-  '';
-  setupPyBuildFlags = ["--with-Xdummy" "--without-strict"];
-
-  postInstall = ''
-    wrapProgram $out/bin/xpra \
-      --set XPRA_INSTALL_PREFIX "$out" \
-      --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" \
-      --set GST_PLUGIN_SYSTEM_PATH_1_0 "$GST_PLUGIN_SYSTEM_PATH_1_0" \
-      --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib  \
+  setupPyBuildFlags = [
+    "--with-Xdummy"
+    "--without-strict"
+    "--with-gtk3"
+    "--without-gtk2"
+  ];
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --set XPRA_INSTALL_PREFIX "$out"
+      --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib
       --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux pulseaudio ]}
+    )
   '';
 
-  preCheck = "exit 0";
-
-  #TODO: replace postInstall with postFixup to avoid double wrapping of xpra; needs more work though
-  #postFixup = ''
-  #  sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra
-  #  sed -i '4iexport PATH=${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}\${PATH:+:}\$PATH' $out/bin/xpra
-  #'';
+  doCheck = false;
 
   passthru = { inherit xf86videodummy; };
 
diff --git a/pkgs/tools/X11/xpra/fix-paths.patch b/pkgs/tools/X11/xpra/fix-paths.patch
new file mode 100644
index 000000000000..c50ec28c35e2
--- /dev/null
+++ b/pkgs/tools/X11/xpra/fix-paths.patch
@@ -0,0 +1,33 @@
+--- a/setup.py
++++ b/setup.py
+@@ -1885,7 +1885,7 @@
+     if OSX:
+         pycairo = "py3cairo"
+     else:
+-        pycairo = "pycairo"
++        pycairo = "py3cairo"
+     cython_add(Extension("xpra.client.gtk3.cairo_workaround",
+                 ["xpra/client/gtk3/cairo_workaround.pyx"],
+                 **pkgconfig(pycairo)
+--- a/xpra/client/gtk3/cairo_workaround.pyx
++++ b/xpra/client/gtk3/cairo_workaround.pyx
+@@ -65,7 +65,7 @@
+     void cairo_surface_flush (cairo_surface_t *surface)
+     void cairo_surface_mark_dirty (cairo_surface_t *surface)
+ 
+-cdef extern from "pycairo/pycairo.h":
++cdef extern from "py3cairo.h":
+     ctypedef struct Pycairo_CAPI_t:
+         pass
+     ctypedef struct PycairoSurface:
+--- a/xpra/x11/bindings/keyboard_bindings.pyx
++++ b/xpra/x11/bindings/keyboard_bindings.pyx
+@@ -19,7 +19,7 @@
+ 
+ DEF PATH_MAX = 1024
+ DEF DFLT_XKB_RULES_FILE = "base"
+-DEF DFLT_XKB_CONFIG_ROOT = "/usr/share/X11/xkb"
++DEF DFLT_XKB_CONFIG_ROOT = "@xkeyboardconfig@/share/X11/xkb"
+ 
+ ###################################
+ # Headers, python magic
diff --git a/pkgs/tools/X11/xpra/gtk3.nix b/pkgs/tools/X11/xpra/gtk3.nix
deleted file mode 100644
index ceba4269e808..000000000000
--- a/pkgs/tools/X11/xpra/gtk3.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{ stdenv, fetchurl, buildPythonApplication
-, python, cython, pkgconfig
-, xorg, gtk3, glib, pango, cairo, gdk_pixbuf, atk, pygobject3, pycairo, gobjectIntrospection
-, makeWrapper, xorgserver, getopt, xauth, utillinux, which, fontsConf
-, ffmpeg, x264, libvpx, libwebp
-, libfakeXinerama, pam }:
-
-buildPythonApplication rec {
-  name = "xpra-${version}";
-  version = "2.2.5";
-
-  src = fetchurl {
-    url = "https://xpra.org/src/${name}.tar.xz";
-    sha256 = "1q2l00nc3bgwlhjzkbk4a8x2l8z9w1799yn31icsx5hrgh98a1js";
-  };
-
-  patchPhase = ''
-    substituteInPlace setup.py --replace 'pycairo' 'py3cairo'
-    substituteInPlace xpra/client/gtk3/cairo_workaround.pyx --replace 'pycairo/pycairo.h' 'py3cairo.h'
-  '';
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    xorg.libX11 xorg.renderproto xorg.libXrender xorg.libXi xorg.inputproto xorg.kbproto
-    xorg.randrproto xorg.damageproto xorg.compositeproto xorg.xextproto xorg.recordproto
-    xorg.xproto xorg.fixesproto xorg.libXtst xorg.libXfixes xorg.libXcomposite xorg.libXdamage
-    xorg.libXrandr xorg.libxkbfile
-
-    pango cairo gdk_pixbuf atk gtk3 glib gobjectIntrospection
-
-    ffmpeg libvpx x264 libwebp
-
-    makeWrapper
-
-    pam
-  ];
-
-  propagatedBuildInputs = [
-    pygobject3 pycairo cython
-  ];
-
-  preBuild = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-3.0) $(pkg-config --cflags xtst)"
-    substituteInPlace xpra/server/auth/pam_auth.py --replace "/lib/libpam.so.1" "${pam}/lib/libpam.so"
-  '';
-  setupPyBuildFlags = [ "--without-strict" "--with-gtk3" "--without-gtk2" "--with-Xdummy" ];
-
-  preInstall = ''
-    # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
-    ${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out
-    sed -i '/ = data_files/d' setup.py
-  '';
-
-  postInstall = ''
-    wrapProgram $out/bin/xpra \
-      --set FONTCONFIG_FILE "${fontsConf}" \
-      --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib \
-      --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}
-  '';
-
-  preCheck = "exit 0";
-  doInstallCheck = false;
-
-  #TODO: replace postInstall with postFixup to avoid double wrapping of xpra; needs more work though
-  #postFixup = ''
-  #  sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra
-  #  sed -i '4iexport PATH=${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}\${PATH:+:}\$PATH' $out/bin/xpra
-  #'';
-
-
-  meta = with stdenv.lib; {
-    homepage = http://xpra.org/;
-    downloadPage = "https://xpra.org/src/";
-    downloadURLRegexp = "xpra-.*[.]tar[.]xz$";
-    description = "Persistent remote applications for X";
-    platforms = platforms.linux;
-    license = licenses.gpl2;
-  };
-}
diff --git a/pkgs/tools/audio/abcm2ps/default.nix b/pkgs/tools/audio/abcm2ps/default.nix
index 023d03f0414d..5d3050108b8a 100644
--- a/pkgs/tools/audio/abcm2ps/default.nix
+++ b/pkgs/tools/audio/abcm2ps/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, pkgconfig, which, freetype, pango }:
+{ stdenv, fetchFromGitHub, pkgconfig, which, docutils, freetype, pango }:
 
 stdenv.mkDerivation rec {
   name = "abcm2ps-${version}";
-  version = "8.13.24";
+  version = "8.14.0";
 
   src = fetchFromGitHub {
     owner = "leesavide";
     repo = "abcm2ps";
     rev = "v${version}";
-    sha256 = "0xb0gdxbagy6bzrh61s667svab43r06d6yi20gw52dh022mj99ag";
+    sha256 = "1nlvq2cfdy5pghll3aprws7yx5p14gcrhz10q9fa6myrd8ad4if1";
   };
 
   prePatch = ''
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     "CC=${stdenv.cc}/bin/cc"
   ];
 
-  nativeBuildInputs = [ which pkgconfig ];
+  nativeBuildInputs = [ which pkgconfig docutils ];
 
   buildInputs = [ freetype pango ];
 
diff --git a/pkgs/tools/misc/esptool/default.nix b/pkgs/tools/misc/esptool/default.nix
index abb0b4edc17e..fe574b4f8d43 100644
--- a/pkgs/tools/misc/esptool/default.nix
+++ b/pkgs/tools/misc/esptool/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "esptool";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "espressif";
     repo = "esptool";
     rev = "v${version}";
-    sha256 = "0cvxapcln1xcz8hy0hidw6g8q61s5j3q03j3wrviagbh0zip8jdx";
+    sha256 = "19l3b1fqg1n3ch484dcibbi5a3nbmjq086has5pwqn348h4k57mh";
   };
 
   checkInputs = with python3.pkgs; [ flake8 flake8-future-import flake8-import-order ];
diff --git a/pkgs/tools/networking/speedtest-cli/default.nix b/pkgs/tools/networking/speedtest-cli/default.nix
deleted file mode 100644
index eedea841356d..000000000000
--- a/pkgs/tools/networking/speedtest-cli/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchFromGitHub, python3Packages }:
-
-python3Packages.buildPythonApplication rec {
-  name = "speedtest-cli-${version}";
-  version = "2.0.2";
-
-  src = fetchFromGitHub {
-    owner = "sivel";
-    repo = "speedtest-cli";
-    rev = "v${version}";
-    sha256 = "0vv2z37g2kgm2dzkfa4bhri92hs0d1acxi8z66gznsl5148q7sdi";
-  };
-
-  meta = with stdenv.lib; {
-    homepage = https://github.com/sivel/speedtest-cli;
-    description = "Command line interface for testing internet bandwidth using speedtest.net";
-    platforms = platforms.all;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ domenkozar ndowens ];
-  };
-}
diff --git a/pkgs/tools/security/monkeysphere/default.nix b/pkgs/tools/security/monkeysphere/default.nix
index f4def72b728c..228695878dcc 100644
--- a/pkgs/tools/security/monkeysphere/default.nix
+++ b/pkgs/tools/security/monkeysphere/default.nix
@@ -1,27 +1,44 @@
 { stdenv, fetchurl, makeWrapper
 , perl, libassuan, libgcrypt
 , perlPackages, lockfileProgs, gnupg
+# For the tests:
+, bash, openssh, which, socat, cpio, hexdump
 }:
 
 stdenv.mkDerivation rec {
   name = "monkeysphere-${version}";
-  version = "0.41";
+  version = "0.42";
 
   src = fetchurl {
     url = "http://archive.monkeysphere.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${version}.orig.tar.gz";
-    sha256 = "0jz7kwkwgylqprnl8bwvl084s5gjrilza77ln18i3f6x48b2y6li";
+    sha256 = "1haqgjxm8v2xnhc652lx79p2cqggb9gxgaf19w9l9akar2qmdjf1";
   };
 
   patches = [ ./monkeysphere.patch ];
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ perl libassuan libgcrypt ];
+  buildInputs = [ perl libassuan libgcrypt ]
+    ++ stdenv.lib.optional doCheck
+      ([ gnupg openssh which socat cpio hexdump ] ++
+      (with perlPackages; [ CryptOpenSSLRSA CryptOpenSSLBignum ]));
 
   makeFlags = ''
     PREFIX=/
     DESTDIR=$(out)
   '';
 
+  # Not all checks pass yet (NixOS specific problems) and the tests "drain"
+  # entropy (apparently GnuPG still uses /dev/random).
+  doCheck = false;
+  preCheck = ''
+    patchShebangs tests/keytrans
+    patchShebangs src/share/keytrans
+    patchShebangs src/share/checkperms
+    sed -i "s,/usr/bin/env\ bash,${bash}/bin/bash," tests/basic
+    sed -i "s,/usr/sbin/sshd,${openssh}/bin/sshd," tests/basic
+    sed -i "s/<(hd/<(hexdump/" tests/keytrans
+  '';
+
   postFixup =
     let wrapperArgs = runtimeDeps:
           "--prefix PERL5LIB : "
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 8fcf0baba02d..624f2fa9d2c2 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -316,6 +316,7 @@ mapAliases ({
   xmonad_log_applet_gnome3 = xmonad_log_applet; # added 2018-05-01
   xf86_video_nouveau = xorg.xf86videonouveau; # added 2015-09
   xlibs = xorg; # added 2015-09
+  xpraGtk3 = xpra; # added 2018-09-13
   youtubeDL = youtube-dl;  # added 2014-10-26
 
   # added 2017-05-27
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2197b19a804f..dfe6f5628d8c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6970,14 +6970,12 @@ with pkgs;
         (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
           ((openjdk8.override { minimal = true; }).jre // { outputs = [ "jre" ]; }));
 
-  jdk10 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejdk10 else openjdk10 // { outputs = [ "out" ]; };
-  jre10 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejre10 else lib.setName "openjre-${lib.getVersion pkgs.openjdk10.jre}"
+  jdk10 = openjdk10 // { outputs = [ "out" ]; };
+  jre10 = lib.setName "openjre-${lib.getVersion pkgs.openjdk10.jre}"
     (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
       (openjdk10.jre // { outputs = [ "jre" ]; }));
   jre10_headless =
-    if stdenv.isAarch32 || stdenv.isAarch64 then
-      oraclejre10
-    else if stdenv.isDarwin then
+    if stdenv.isDarwin then
       jre10
     else
       lib.setName "openjre-${lib.getVersion pkgs.openjdk10.jre}-headless"
@@ -8851,7 +8849,7 @@ with pkgs;
 
   sparse = callPackage ../development/tools/analysis/sparse { };
 
-  speedtest-cli = callPackage ../tools/networking/speedtest-cli { };
+  speedtest-cli = with python3Packages; toPythonApplication speedtest-cli;
 
   spin = callPackage ../development/tools/analysis/spin { };
 
@@ -15826,9 +15824,7 @@ with pkgs;
 
   bristol = callPackage ../applications/audio/bristol { };
 
-  bs1770gain = callPackage ../applications/audio/bs1770gain {
-    ffmpeg = ffmpeg_2;
-  };
+  bs1770gain = callPackage ../applications/audio/bs1770gain { };
 
   bspwm = callPackage ../applications/window-managers/bspwm { };
 
@@ -19793,8 +19789,6 @@ with pkgs;
 
   xpra = callPackage ../tools/X11/xpra { };
   libfakeXinerama = callPackage ../tools/X11/xpra/libfakeXinerama.nix { };
-  #TODO: 'pil' is not available for python3, yet
-  xpraGtk3 = callPackage ../tools/X11/xpra/gtk3.nix { inherit (texFunctions) fontsConf; inherit (python3Packages) buildPythonApplication python cython pygobject3 pycairo; };
 
   xrectsel = callPackage ../tools/X11/xrectsel { };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 67b209a60472..31a07ff198ef 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -577,6 +577,8 @@ in {
 
   python-lz4 = callPackage ../development/python-modules/python-lz4 { };
 
+  python-ldap-test = callPackage ../development/python-modules/python-ldap-test { };
+
   python-igraph = callPackage ../development/python-modules/python-igraph {
     pkgconfig = pkgs.pkgconfig;
     igraph = pkgs.igraph;
@@ -584,6 +586,8 @@ in {
 
   python3-openid = callPackage ../development/python-modules/python3-openid { };
 
+  python-packer = callPackage ../development/python-modules/python-packer { };
+
   python-periphery = callPackage ../development/python-modules/python-periphery { };
 
   python-prctl = callPackage ../development/python-modules/python-prctl { };
@@ -15029,6 +15033,8 @@ EOF
     };
   };
 
+  speedtest-cli = callPackage ../development/python-modules/speedtest-cli { };
+
   pushbullet = callPackage ../development/python-modules/pushbullet { };
 
   power = buildPythonPackage rec {