about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/neovim/wrapper.nix2
-rw-r--r--pkgs/applications/graphics/runwayml/default.nix4
-rw-r--r--pkgs/applications/misc/qMasterPassword/default.nix4
-rw-r--r--pkgs/applications/networking/maestral/default.nix38
-rw-r--r--pkgs/development/compilers/icedtea-web/default.nix43
-rw-r--r--pkgs/development/compilers/icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch46
-rw-r--r--pkgs/development/compilers/sagittarius-scheme/default.nix58
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml2
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix4
-rw-r--r--pkgs/development/libraries/libwnck/3.x.nix77
-rw-r--r--pkgs/development/libraries/libwnck/fix-pc-file.patch24
-rw-r--r--pkgs/development/libraries/ptex/default.nix27
-rw-r--r--pkgs/development/libraries/pth/default.nix3
-rw-r--r--pkgs/development/tools/misc/blackmagic/default.nix22
-rwxr-xr-xpkgs/development/tools/misc/blackmagic/helper.sh2
-rw-r--r--pkgs/misc/drivers/utsushi/default.nix154
-rw-r--r--pkgs/misc/drivers/utsushi/patches/absolute-path-to-convert.patch166
-rw-r--r--pkgs/misc/drivers/utsushi/patches/absolute_path_for_tesseract.patch56
-rw-r--r--pkgs/misc/drivers/utsushi/patches/print-errors.patch15
-rw-r--r--pkgs/misc/drivers/utsushi/patches/series3
-rw-r--r--pkgs/misc/vim-plugins/vim-utils.nix5
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/generate-config.pl2
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix71
-rw-r--r--pkgs/servers/sql/mysql/8.0.x.nix73
-rw-r--r--pkgs/servers/sql/mysql/abi-check.patch18
-rw-r--r--pkgs/servers/sql/mysql/libutils.patch5
-rw-r--r--pkgs/shells/zsh/default.nix9
-rw-r--r--pkgs/tools/backup/bacula/default.nix2
-rw-r--r--pkgs/tools/compression/zsync/default.nix2
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/axel/default.nix10
-rw-r--r--pkgs/tools/security/sequoia-tool/default.nix32
-rw-r--r--pkgs/tools/security/sequoia/default.nix91
-rw-r--r--pkgs/top-level/all-packages.nix24
-rw-r--r--pkgs/top-level/python-packages.nix5
38 files changed, 959 insertions, 159 deletions
diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix
index aa1e2a6b5bd73..ec799c0fa49cc 100644
--- a/pkgs/applications/editors/neovim/wrapper.nix
+++ b/pkgs/applications/editors/neovim/wrapper.nix
@@ -100,7 +100,7 @@ let
         # Only display the log on error since it will contain a few normally
         # irrelevant messages.
         if ! $out/bin/nvim \
-          -u ${vimUtils.vimrcFile (configure // { customRC = ""; })} \
+          -u ${vimUtils.vimrcFile (configure // { customRC = ""; beforePlugins = ''filetype indent plugin on | syn on''; })} \
           -i NONE -n \
           -E -V1rplugins.log -s \
           +UpdateRemotePlugins +quit! > outfile 2>&1; then
diff --git a/pkgs/applications/graphics/runwayml/default.nix b/pkgs/applications/graphics/runwayml/default.nix
index 6fa8efbf68c61..f96b70a77b473 100644
--- a/pkgs/applications/graphics/runwayml/default.nix
+++ b/pkgs/applications/graphics/runwayml/default.nix
@@ -6,12 +6,12 @@
 
 let
   pname = "runwayml";
-  version = "0.8.1";
+  version = "0.9.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://runway-releases.s3.amazonaws.com/Runway%20${version}.AppImage";
-    sha256 = "0pqnlwk804cly2x9kph39g9ps5dv75ybi2v1fgrvmhk3wbmwmpb0";
+    sha256 = "0rg7ipp7kx0l4qgcymfg5d3saz0c6d2j0c6rf28rwqgbm92gbjjq";
     name="${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/misc/qMasterPassword/default.nix b/pkgs/applications/misc/qMasterPassword/default.nix
index e0a1e33dc6282..9775112734258 100644
--- a/pkgs/applications/misc/qMasterPassword/default.nix
+++ b/pkgs/applications/misc/qMasterPassword/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, qtbase, qmake, libX11, libXtst, openssl, libscrypt }:
+{ stdenv, mkDerivation, fetchFromGitHub, qtbase, qmake, libX11, libXtst, openssl, libscrypt }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   name = "qMasterPassword";
   version = "1.2.2";
 
diff --git a/pkgs/applications/networking/maestral/default.nix b/pkgs/applications/networking/maestral/default.nix
new file mode 100644
index 0000000000000..bfacac2eaf4d0
--- /dev/null
+++ b/pkgs/applications/networking/maestral/default.nix
@@ -0,0 +1,38 @@
+{ lib, python3Packages, fetchFromGitHub
+, withGui ? false, wrapQtAppsHook ? null }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "maestral${lib.optionalString withGui "-gui"}";
+  version = "0.2.6";
+
+  src = fetchFromGitHub {
+    owner = "SamSchott";
+    repo = "maestral-dropbox";
+    rev = "v${version}";
+    sha256 = "1nfjm58f6hnqbx9xnz2h929s2175ka1yf5jjlk4i60v0wppnrrdf";
+  };
+
+  disabled = python3Packages.pythonOlder "3.6";
+
+  propagatedBuildInputs = (with python3Packages; [
+    blinker click dropbox keyring keyrings-alt requests u-msgpack-python watchdog
+  ] ++ lib.optional withGui pyqt5);
+
+  nativeBuildInputs = lib.optional withGui wrapQtAppsHook;
+
+  postInstall = lib.optionalString withGui ''
+    makeQtWrapper $out/bin/maestral $out/bin/maestral-gui \
+      --add-flags gui
+  '';
+
+  # no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Open-source Dropbox client for macOS and Linux";
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.unix;
+    inherit (src.meta) homepage;
+  };
+}
diff --git a/pkgs/development/compilers/icedtea-web/default.nix b/pkgs/development/compilers/icedtea-web/default.nix
index 9390cbde63779..73dd90ab4a1f5 100644
--- a/pkgs/development/compilers/icedtea-web/default.nix
+++ b/pkgs/development/compilers/icedtea-web/default.nix
@@ -1,30 +1,55 @@
-{ stdenv, fetchurl, jdk, gtk2, xulrunner, zip, pkgconfig, perl, npapi_sdk, bash, bc }:
+{ stdenv, fetchFromGitHub, cargo, rustc, autoreconfHook, jdk, glib, xulrunner, zip, pkgconfig, npapi_sdk, bash, bc }:
 
 stdenv.mkDerivation rec {
   name = "icedtea-web-${version}";
 
-  version = "1.7.1";
+  version = "1.8.3";
 
-  src = fetchurl {
-    url = "http://icedtea.wildebeest.org/download/source/${name}.tar.gz";
-    sha256 = "1b9z0i9b1dsc2qpfdzbn2fi4vi3idrhm7ig45g1ny40ymvxcwwn9";
+  src = fetchFromGitHub {
+    owner = "AdoptOpenJDK";
+    repo = "IcedTea-Web";
+    rev = name;
+    sha256 = "0bm5k11i2vgb54ch1bawsmjbwnqnp04saadwm2f2mggmmdc6b1qq";
   };
 
-  nativeBuildInputs = [ pkgconfig bc perl ];
-  buildInputs = [ gtk2 xulrunner zip npapi_sdk ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig bc ];
+  buildInputs = [ cargo rustc glib xulrunner zip npapi_sdk ];
 
   preConfigure = ''
-    #patchShebangs javac.in
     configureFlagsArray+=("BIN_BASH=${bash}/bin/bash")
   '';
 
+  patches = [ ./patches/0001-make-cargo-work-with-nix-build-on-linux.patch ];
+
+  doCheck = true;
+  preCheck = ''
+    # Needed for the below rust-launcher tests to pass
+    # dirs_paths_helper::tests::check_config_files_paths
+    # dirs_paths_helper::tests::check_legacy_config_files_paths
+
+    mkdir -p $HOME/.icedtea
+    touch $HOME/.icedtea/deployment.properties
+
+    mkdir -p $XDG_CONFIG_HOME/icedtea-web
+    touch $XDG_CONFIG_HOME/icedtea-web/deployment.properties
+  '';
+
+  HOME = "/build";
+  XDG_CONFIG_HOME = "/build";
+
   configureFlags = [
+    "--with-itw-libs=DISTRIBUTION"
     "--with-jdk-home=${jdk.home}"
     "--disable-docs"
   ];
 
   mozillaPlugin = "/lib";
 
+  postInstall = ''
+    mkdir -p $out/share/applications
+    cp javaws.desktop itweb-settings.desktop policyeditor.desktop $out/share/applications
+  '';
+
   meta = {
     description = "Java web browser plugin and an implementation of Java Web Start";
     longDescription = ''
@@ -32,7 +57,7 @@ stdenv.mkDerivation rec {
       programming language and an implementation of Java Web Start, originally
       based on the NetX project.
     '';
-    homepage = http://icedtea.classpath.org/wiki/IcedTea-Web;
+    homepage = https://github.com/adoptopenjdk/icedtea-web;
     maintainers = with stdenv.lib.maintainers; [ wizeman ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/compilers/icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch b/pkgs/development/compilers/icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch
new file mode 100644
index 0000000000000..85cad6cf4678a
--- /dev/null
+++ b/pkgs/development/compilers/icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch
@@ -0,0 +1,46 @@
+Subject: [PATCH] make cargo work with nix-build on linux
+
+---
+ .cargo/config            | 2 ++
+ rust-launcher/Cargo.lock | 4 ++++
+ rust-launcher/Cargo.toml | 7 ++++---
+ 3 files changed, 10 insertions(+), 3 deletions(-)
+ create mode 100644 .cargo/config
+ create mode 100644 rust-launcher/Cargo.lock
+
+diff --git a/.cargo/config b/.cargo/config
+new file mode 100644
+index 0000000..03ec4a2
+--- /dev/null
++++ b/.cargo/config
+@@ -0,0 +1,2 @@
++[net]
++offline=true
+diff --git a/rust-launcher/Cargo.lock b/rust-launcher/Cargo.lock
+new file mode 100644
+index 0000000..6055cc0
+--- /dev/null
++++ b/rust-launcher/Cargo.lock
+@@ -0,0 +1,4 @@
++[[package]]
++name = "launcher"
++version = "1.8.0"
++
+diff --git a/rust-launcher/Cargo.toml b/rust-launcher/Cargo.toml
+index 61ee308..5e6e91b 100644
+--- a/rust-launcher/Cargo.toml
++++ b/rust-launcher/Cargo.toml
+@@ -3,6 +3,7 @@ name = "launcher"
+ version = "1.8.0"
+ authors = ["https://icedtea.classpath.org/wiki/IcedTea-Web"]
+ 
+-[dependencies]
+-[target.'cfg(windows)'.dependencies]
+-dunce = "0.1.1"
++[workspace]
++# We need this too or cargo will fail.  Some files seem to be copied around and
++# cargo thinks we are in a workspace, so let's exclude everything.
++exclude = ["*"]
+-- 
+2.19.2
+
diff --git a/pkgs/development/compilers/sagittarius-scheme/default.nix b/pkgs/development/compilers/sagittarius-scheme/default.nix
new file mode 100644
index 0000000000000..4b1358b72472e
--- /dev/null
+++ b/pkgs/development/compilers/sagittarius-scheme/default.nix
@@ -0,0 +1,58 @@
+{ stdenv
+, fetchurl
+, cmake
+, pkgconfig
+, libffi
+, boehmgc
+, openssl
+, zlib
+, odbcSupport ? true
+, libiodbc
+}:
+
+let platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH"
+                            else if (stdenv.isLinux or stdenv.isBSD) then "LD_LIBRARY_PATH"
+                            else throw "unsupported platform";
+in
+stdenv.mkDerivation rec {
+  pname = "sagittarius-scheme";
+  version = "0.9.6";
+  src = fetchurl {
+    url = "https://bitbucket.org/ktakashi/${pname}/downloads/sagittarius-${version}.tar.gz";
+    sha256 = "03nvvvfd4gdlvq244zpnikxxajp6w8jj3ymw4bcq83x7zilb2imr";
+  };
+  preBuild = ''
+           # since we lack rpath during build, need to explicitly add build path
+           # to LD_LIBRARY_PATH so we can load libsagittarius.so as required to
+           # build extensions
+           export ${platformLdLibraryPath}="$(pwd)/build"
+           '';
+  nativeBuildInputs = [ pkgconfig cmake ];
+
+  buildInputs = [ libffi boehmgc openssl zlib ] ++ stdenv.lib.optional odbcSupport libiodbc;
+
+  meta = with stdenv.lib; {
+    description = "An R6RS/R7RS Scheme system";
+    longDescription = ''
+      Sagittarius Scheme is a free Scheme implementation supporting
+      R6RS/R7RS specification.
+
+      Features:
+
+      -  Builtin CLOS.
+      -  Common Lisp like reader macro.
+      -  Cryptographic libraries.
+      -  Customisable cipher and hash algorithm.
+      -  Custom codec mechanism.
+      -  CL like keyword lambda syntax (taken from Gauche).
+      -  Constant definition form. (define-constant form).
+      -  Builtin regular expression
+      -  mostly works O(n)
+      -  Replaceable reader
+    '';
+    homepage = "https://bitbucket.org/ktakashi/sagittarius-scheme";
+    license = licenses.bsd2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ abbe ];
+  };
+}
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 9f58d819bb0cf..779788785d027 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -1279,4 +1279,7 @@ self: super: {
   # https://github.com/sol/hpack/issues/366
   hpack = dontCheck super.hpack;
 
+  # QuickCheck >=2.3 && <2.13, hspec >=2.1 && <2.7
+  graphviz = dontCheck super.graphviz;
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index a8f462571f0fe..d6344717dfa29 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -4100,7 +4100,6 @@ broken-packages:
   - Dao
   - dao
   - dapi
-  - darcs
   - darcs-benchmark
   - darcs-beta
   - darcs-buildpackage
@@ -5248,7 +5247,6 @@ broken-packages:
   - graphql
   - graphql-api
   - graphtype
-  - graphviz
   - graql
   - grasp
   - gray-code
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index e1c70c608dddd..62e2ff6c53bf6 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -61840,8 +61840,6 @@ self: {
        '';
        description = "a distributed, interactive, smart revision control system";
        license = stdenv.lib.licenses.gpl2;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) curl;};
 
   "darcs-benchmark" = callPackage
@@ -99289,8 +99287,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion deepseq text ];
        description = "Bindings to Graphviz for graph visualisation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) graphviz;};
 
   "graql" = callPackage
diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix
index 9c35d33735054..29692c41c9304 100644
--- a/pkgs/development/libraries/libwnck/3.x.nix
+++ b/pkgs/development/libraries/libwnck/3.x.nix
@@ -1,31 +1,78 @@
-{ stdenv, fetchurl, pkgconfig, libX11, gtk3, intltool, gobject-introspection, gnome3 }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_412
+, libX11
+, glib
+, gtk3
+, pango
+, cairo
+, libXres
+, libstartup_notification
+, gettext
+, gobject-introspection
+, gnome3
+}:
 
-let
+stdenv.mkDerivation rec{
   pname = "libwnck";
-  version = "3.30.0";
-in stdenv.mkDerivation rec{
-  name = "${pname}-${version}";
+  version = "3.32.0";
+
+  outputs = [ "out" "dev" "devdoc" ];
+  outputBin = "dev";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0f9lvhm3w25046dqq8xyg7nzggxpmdriwrb661nng05a8qk0svdc";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm";
   };
 
-  outputs = [ "out" "dev" "devdoc" ];
-  outputBin = "dev";
+  patches = [
+    # https://gitlab.gnome.org/GNOME/libwnck/issues/139
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/libwnck/commit/0d9ff7db63af568feef8e8c566e249058ccfcb4e.patch;
+      sha256 = "18f78aayq9jma54v2qz3rm2clmz1cfq5bngxw8p4zba7hplyqsl9";
+    })
+    # https://gitlab.gnome.org/GNOME/libwnck/merge_requests/12
+    ./fix-pc-file.patch
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    gettext
+    gobject-introspection
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_412
+  ];
 
-  configureFlags = [ "--enable-introspection" ];
+  buildInputs = [
+    libX11
+    libstartup_notification
+    pango
+    cairo
+    libXres
+  ];
 
-  nativeBuildInputs = [ pkgconfig intltool gobject-introspection ];
-  propagatedBuildInputs = [ libX11 gtk3 ];
+  propagatedBuildInputs = [
+    glib
+    gtk3
+  ];
 
-  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "dev"}/share/gir-1.0";
-  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0";
+  mesonFlags = [
+    "-Dgtk_doc=true"
+  ];
 
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
-      attrPath = "gnome3.${pname}";
+      attrPath = "${pname}${stdenv.lib.versions.major version}";
     };
   };
 
diff --git a/pkgs/development/libraries/libwnck/fix-pc-file.patch b/pkgs/development/libraries/libwnck/fix-pc-file.patch
new file mode 100644
index 0000000000000..42017a993b518
--- /dev/null
+++ b/pkgs/development/libraries/libwnck/fix-pc-file.patch
@@ -0,0 +1,24 @@
+diff --git a/meson.build b/meson.build
+index 28799d8..047e523 100644
+--- a/meson.build
++++ b/meson.build
+@@ -72,11 +72,15 @@
+ pc_conf = configuration_data()
+ pc_conf.set('prefix', get_option('prefix'))
+ pc_conf.set('exec_prefix', '${prefix}')
+-pc_conf.set('libdir', '${exec_prefix}/' + get_option('libdir'))
+-pc_conf.set('includedir', '${prefix}/' + get_option('includedir'))
+-pc_conf.set('STARTUP_NOTIFICATION_PACKAGE', STARTUP_NOTIFICATION_PACKAGE)
++pc_conf.set('libdir', '${exec_prefix}' / get_option('libdir'))
++pc_conf.set('includedir', '${prefix}' / get_option('includedir'))
++if conf.has('HAVE_' + STARTUP_NOTIFICATION_PACKAGE.to_upper().underscorify())
++  pc_conf.set('STARTUP_NOTIFICATION_PACKAGE', STARTUP_NOTIFICATION_PACKAGE)
++endif
+ pc_conf.set('X11_PACKAGE', X11_PACKAGE)
+-pc_conf.set('XRES_PACKAGE', XRES_PACKAGE)
++if conf.has('HAVE_' + XRES_PACKAGE.to_upper().underscorify())
++  pc_conf.set('XRES_PACKAGE', XRES_PACKAGE)
++endif
+ pc_conf.set('VERSION', meson.project_version())
+ 
+ foreach pc: [PACKAGE_NAME, PACKAGE_NAME + '-uninstalled']
diff --git a/pkgs/development/libraries/ptex/default.nix b/pkgs/development/libraries/ptex/default.nix
index aa17771ec9f2e..b4571d07fbf35 100644
--- a/pkgs/development/libraries/ptex/default.nix
+++ b/pkgs/development/libraries/ptex/default.nix
@@ -1,36 +1,27 @@
-{ stdenv, fetchFromGitHub, zlib, python, cmake }:
+{ stdenv, fetchFromGitHub, zlib, python, cmake, pkg-config }:
 
 stdenv.mkDerivation rec
 {
-  name = "ptex-${version}";
-  version = "2.3.0";
+  pname = "ptex";
+  version = "2.3.2";
 
   src = fetchFromGitHub {
     owner = "wdas";
     repo = "ptex";
     rev = "v${version}";
-    sha256 = "0nfz0y66bmi6xckn1whi4sfd8i3ibln212fgm4img2z98b6vccyg";
+    sha256 = "1c3pdqszn4y3d86qzng8b0hqdrchnl39adq5ab30wfnrgl2hnm4z";
   };
 
   outputs = [ "bin" "dev" "out" "lib" ];
 
-  buildInputs = [ zlib python cmake ];
+  buildInputs = [ zlib python cmake pkg-config ];
 
   enableParallelBuilding = true;
 
-  buildPhase = ''
-      mkdir -p $out
-
-      make prefix=$out
-
-      mkdir -p $bin/bin
-      mkdir -p $dev/include
-      mkdir -p $lib/lib
-      '';
-
-  installPhase = ''
-    make install
-    mv $out/bin $bin/
+  # Can be removed in the next release
+  # https://github.com/wdas/ptex/pull/42
+  patchPhase = ''
+    echo v${version} >version
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/pth/default.nix b/pkgs/development/libraries/pth/default.nix
index c315cb8f72b43..b2173ec21ee12 100644
--- a/pkgs/development/libraries/pth/default.nix
+++ b/pkgs/development/libraries/pth/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
   preConfigure = stdenv.lib.optionalString stdenv.isAarch32 ''
     configureFlagsArray=("CFLAGS=-DJB_SP=8 -DJB_PC=9")
+  '' + stdenv.lib.optionalString (stdenv.hostPlatform.libc == "glibc") ''
+    configureFlagsArray+=("ac_cv_check_sjlj=ssjlj")
   '';
 
   meta = with stdenv.lib; {
@@ -17,6 +19,5 @@ stdenv.mkDerivation rec {
     homepage = https://www.gnu.org/software/pth;
     license = licenses.lgpl21Plus;
     platforms = platforms.all;
-    broken = stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.isAarch64;
   };
 }
diff --git a/pkgs/development/tools/misc/blackmagic/default.nix b/pkgs/development/tools/misc/blackmagic/default.nix
index 281463528354e..ddc15f856b539 100644
--- a/pkgs/development/tools/misc/blackmagic/default.nix
+++ b/pkgs/development/tools/misc/blackmagic/default.nix
@@ -1,28 +1,30 @@
 { stdenv, lib, fetchFromGitHub
-, gcc-arm-embedded, binutils-arm-embedded, libftdi
+, gcc-arm-embedded, libftdi1
 , python, pythonPackages
 }:
 
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "blackmagic-${version}";
-  version = "1.6.1";
+  pname = "blackmagic";
+  version = "unstable-2019-08-13";
+  # `git describe --always`
+  firmwareVersion = "v1.6.1-317-gc9c8b08";
 
   src = fetchFromGitHub {
     owner = "blacksphere";
     repo = "blackmagic";
-    rev = "29386aee140e5e99a958727358f60980418b4c88";
-    sha256 = "05x19y80mixk6blpnfpfngy5d41jpjvdqgjzkmhv1qc03bhyhc82";
+    rev = "c9c8b089f716c31433432f5ee54c5c206e4945cf";
+    sha256 = "0175plba7h3r1p584ygkjlvg2clvxa2m0xfdcb2v8jza2vzc8ywd";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [
-    gcc-arm-embedded binutils-arm-embedded
+    gcc-arm-embedded
   ];
 
   buildInputs = [
-    libftdi
+    libftdi1
     python
     pythonPackages.intelhex
   ];
@@ -30,7 +32,7 @@ stdenv.mkDerivation rec {
   postPatch = ''
     # Prevent calling out to `git' to generate a version number:
     substituteInPlace src/Makefile \
-      --replace '`git describe --always --dirty`' '${version}'
+      --replace '$(shell git describe --always --dirty)' '${firmwareVersion}'
 
     # Fix scripts that generate headers:
     for f in $(find scripts libopencm3/scripts -type f); do
@@ -41,6 +43,8 @@ stdenv.mkDerivation rec {
   buildPhase = "${stdenv.shell} ${./helper.sh}";
   installPhase = ":"; # buildPhase does this.
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "In-application debugger for ARM Cortex microcontrollers";
     longDescription = ''
@@ -56,7 +60,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://github.com/blacksphere/blackmagic;
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ pjones ];
+    maintainers = with maintainers; [ pjones emily ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/blackmagic/helper.sh b/pkgs/development/tools/misc/blackmagic/helper.sh
index b4c7558885bb9..991d0249e169f 100755
--- a/pkgs/development/tools/misc/blackmagic/helper.sh
+++ b/pkgs/development/tools/misc/blackmagic/helper.sh
@@ -10,6 +10,8 @@ out=${out:-/tmp}
 
 ################################################################################
 export CFLAGS=$NIX_CFLAGS_COMPILE
+export MAKEFLAGS="\
+  ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}}"
 
 ################################################################################
 PRODUCTS="blackmagic.bin blackmagic.hex blackmagic_dfu.bin blackmagic_dfu.hex"
diff --git a/pkgs/misc/drivers/utsushi/default.nix b/pkgs/misc/drivers/utsushi/default.nix
new file mode 100644
index 0000000000000..328e8ce456250
--- /dev/null
+++ b/pkgs/misc/drivers/utsushi/default.nix
@@ -0,0 +1,154 @@
+{ stdenv, fetchurl, autoreconfHook, boost, gtkmm2
+, pkg-config, libtool, udev, libjpeg, file, texlive
+, libusb, libtiff, imagemagick, sane-backends, tesseract }:
+
+/*
+Alternatively, this package could use the "community source" at 
+https://gitlab.com/utsushi/utsushi/
+Epson provides proprietary plugins for networking, ocr and some more
+scanner models. Those are not (yet ?) packaged here.
+*/
+
+stdenv.mkDerivation rec {
+  pname = "utsushi";
+  version = "3.57.0";
+
+  src = fetchurl {
+    url = "http://support.epson.net/linux/src/scanner/imagescanv3/common/imagescan_${version}.orig.tar.gz";
+    sha256 = "0qy6n6nbisbvy0q3idj7hpmj9i85cd0a18klfd8nsqsa2nkg57ny";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    autoreconfHook
+    libtool
+  ];
+
+  buildInputs = [
+    boost
+    libusb
+    libtiff
+    libjpeg
+    udev
+    imagemagick
+    sane-backends
+    gtkmm2
+    file
+    tesseract
+  ];
+
+  patches = [
+    ./patches/absolute-path-to-convert.patch
+    ./patches/print-errors.patch
+    ./patches/absolute_path_for_tesseract.patch
+  ];
+
+  postPatch = ''
+    # remove vendored dependencies
+    rm -r upstream/boost
+    # create fake udev and sane config
+    mkdir -p $out/etc/{sane.d,udev/rules.d}
+    touch $out/etc/sane.d/dll.conf
+  '';
+
+  configureFlags = [
+    "--with-boost-libdir=${boost}/lib"
+    "--with-sane-confdir=${placeholder "out"}/etc/sane.d"
+    "--with-udev-confdir=${placeholder "out"}/etc/udev"
+    "--with-sane"
+    "--with-gtkmm"
+    "--with-jpeg"
+    "--with-magick"
+    "--with-sane"
+    "--with-tiff"
+  ];
+
+  installFlags = [ "SANE_BACKENDDIR=${placeholder "out"}/lib/sane" ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "SANE utsushi backend for some Epson scanners";
+    longDescription = ''
+        ImageScanV3 (aka utsushi) scanner driver.
+        Non-free plugins are not included so no network support.
+        To use the SANE backend, in /etc/nixos/configuration.nix:
+
+        hardware.sane = {
+          enable = true;
+          extraBackends = [ pkgs.utsushi ];
+        };
+        services.udev.packages = [ pkgs.utsushi ];
+
+        Supported hardware: 
+        - DS-40
+        - DS-70
+        - DS-80W
+        - DS-410
+        - DS-510
+        - DS-520
+        - DS-530
+        - DS-535
+        - DS-535H
+        - DS-560
+        - DS-575W
+        - DS-760
+        - DS-775
+        - DS-780N
+        - DS-860
+        - DS-1630
+        - DS-5500
+        - DS-6500
+        - DS-7500
+        - DS-50000
+        - DS-60000
+        - DS-70000
+        - EP-10VA Series
+        - EP-808A Series
+        - EP-978A3 Series
+        - ES-50
+        - ES-55R
+        - ES-60W
+        - ES-65WR
+        - ES-300WR
+        - ES-400
+        - ES-500WR
+        - ES-8500
+        - ET-2500 Series
+        - ET-2550 Series
+        - ET-4500 Series
+        - ET-4550 Series
+        - Expression 1640XL
+        - FF-680W
+        - L220/L360 Series
+        - L365/L366 Series
+        - L380 Series
+        - L455 Series
+        - L565/L566 Series
+        - L655 Series
+        - PX-M840FX
+        - PX-M860F
+        - PX-M884F
+        - PX-M7050 Series
+        - PX-M7050FX Series
+        - WF-4720
+        - WF-6530 Series
+        - WF-6590 Series
+        - WF-8510/8590 Series
+        - WF-R8590 Series
+        - XP-220 Series
+        - XP-230 Series
+        - XP-235 Series
+        - XP-332 335 Series
+        - XP-430 Series
+        - XP-432 435 Series
+        - XP-530 Series
+        - XP-540
+        - XP-630 Series
+        - XP-640
+        - XP-830 Series
+        - XP-960 Series
+      '';
+      license = stdenv.lib.licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/misc/drivers/utsushi/patches/absolute-path-to-convert.patch b/pkgs/misc/drivers/utsushi/patches/absolute-path-to-convert.patch
new file mode 100644
index 0000000000000..2bc9422b061e7
--- /dev/null
+++ b/pkgs/misc/drivers/utsushi/patches/absolute-path-to-convert.patch
@@ -0,0 +1,166 @@
+Index: utsushi-0.57.0/configure.ac
+===================================================================
+--- utsushi-0.57.0.orig/configure.ac
++++ utsushi-0.57.0/configure.ac
+@@ -221,6 +221,9 @@ AS_IF([test xno != x$enable_code_coverag
+      [AC_MSG_ERROR([code coverage support requires a GNU C/C++ compiler])])
+   ])
+ AM_PROG_AR
++AC_PATH_PROG([AWK],[awk])
++AC_DEFINE_UNQUOTED([AWK], ["$AWK"],
++  [Path to awk.])
+ 
+ PKG_PROG_PKG_CONFIG
+ 
+@@ -379,27 +382,31 @@ AM_CONDITIONAL([have_libmagick_pp], [tes
+ AS_IF([test xno != "x$with_magick"],
+    AS_CASE("x$with_magick",
+      [xGraphicsMagick],
+-       [AC_CHECK_PROGS([MAGICK_CONVERT], [gm])
+-        AS_IF([test xgm != x$MAGICK_CONVERT],
++       [[AC_PATH_PROG(MAGICK_CONVERT, gm)]
++        AS_IF([test x == x$MAGICK_CONVERT],
+           [AC_MSG_ERROR([$with_magick requested but not found])])
+         AC_DEFINE([HAVE_GRAPHICS_MAGICK], [1])
+-        MAGICK_CONVERT="gm convert"
++        HAVE_MAGICK=1
++        MAGICK_CONVERT="$MAGICK_CONVERT convert"
+        ],
+      [xImageMagick],
+-       [AC_CHECK_PROGS([MAGICK_CONVERT], [convert])
+-        AS_IF([test xconvert != x$MAGICK_CONVERT],
++       [[AC_PATH_PROG(MAGICK_CONVERT, convert)]
++        AS_IF([test x == x$MAGICK_CONVERT],
+           [AC_MSG_ERROR([$with_magick requested but not found])])
+         AC_DEFINE([HAVE_IMAGE_MAGICK], [1])
++        HAVE_MAGICK=1
+        ],
+      [xyes|xcheck],
+-       [AC_CHECK_PROGS([MAGICK_CONVERT], [gm convert])
++       [[AC_PATH_PROGS([MAGICK_CONVERT], [gm convert])]
+         AS_CASE(x$MAGICK_CONVERT,
+-          [xgm],
++          [x*gm],
+             [AC_DEFINE([HAVE_GRAPHICS_MAGICK], [1])
+-             MAGICK_CONVERT="gm convert"
++             HAVE_MAGICK=1
++             MAGICK_CONVERT="$MAGICK_CONVERT convert"
+             ],
+-          [xconvert],
++          [x*convert],
+             [AC_DEFINE([HAVE_IMAGE_MAGICK], [1])
++            HAVE_MAGICK=1
+             ],
+           [dnl default case
+            AS_IF([test xcheck != "x$with_magick"],
+@@ -410,7 +417,7 @@ AS_IF([test xno != "x$with_magick"],
+       AC_MSG_ERROR([unknown value: --with-magick=$with_magick])
+      ]))
+ AC_DEFINE_UNQUOTED([MAGICK_CONVERT], ["$MAGICK_CONVERT"])
+-AM_CONDITIONAL([have_magick], [test x != "x$MAGICK_CONVERT"])
++AM_CONDITIONAL([have_magick], [test x != "x$HAVE_MAGICK"])
+ 
+ AS_IF([test xno != "x$with_gtkmm"],
+   [PKG_CHECK_MODULES([LIBGTKMM], [gtkmm-2.4 >= 2.20],
+Index: utsushi-0.57.0/filters/magick.cpp
+===================================================================
+--- utsushi-0.57.0.orig/filters/magick.cpp
++++ utsushi-0.57.0/filters/magick.cpp
+@@ -81,19 +81,18 @@ chomp (char *str)
+ }
+ 
+ bool
+-magick_version_before_(const char *magick, const char *cutoff)
++magick_version_before_(const char *cutoff)
+ {
+   FILE *fp = NULL;
+   int errc = 0;
+ 
+-  if (0 == strcmp ("GraphicsMagick", magick))
+-    fp = popen ("gm convert -version"
+-                "| awk '/^GraphicsMagick/{print $2}'", "r");
+-  if (fp) errc = errno;
+-
+-  if (0 == strcmp ("ImageMagick", magick))
+-    fp  = popen ("convert -version"
+-                 "| awk '/^Version:/{print $3}'", "r");
++#if HAVE_GRAPHICS_MAGICK
++  fp = popen (MAGICK_CONVERT " -version"
++                "| " AWK " '/^GraphicsMagick/{print $2}'", "r");
++#elif HAVE_IMAGE_MAGICK
++  fp  = popen (MAGICK_CONVERT " -version"
++                 "| " AWK " '/^Version:/{print $3}'", "r");
++#endif
+   if (fp) errc = errno;
+ 
+   if (fp)
+@@ -106,42 +105,32 @@ magick_version_before_(const char *magic
+ 
+       if (version)
+         {
+-          log::debug ("found %1%-%2%") % magick % version;
++          log::debug ("found " MAGICK_CONVERT "version %1%") % version;
+           return (0 > strverscmp (version, cutoff));
+         }
+     }
+ 
+   if (errc)
+-    log::alert ("failure checking %1% version: %2%")
+-      % magick
++    log::alert ("failure checking " MAGICK_CONVERT " version: %1%")
+       % strerror (errc);
+ 
+   return false;
+ }
+ 
+ bool
+-graphics_magick_version_before_(const char *cutoff)
+-{
+-  return magick_version_before_("GraphicsMagick", cutoff);
+-}
+-
+-bool
+-image_magick_version_before_(const char *cutoff)
+-{
+-  return magick_version_before_("ImageMagick", cutoff);
+-}
+-
+-bool
+ auto_orient_is_usable ()
+ {
+   static int usable = -1;
+ 
+   if (-1 == usable)
+     {
+-      if (HAVE_GRAPHICS_MAGICK)         // version -auto-orient was added
+-        usable = !graphics_magick_version_before_("1.3.18");
+-      if (HAVE_IMAGE_MAGICK)            // version known to work
+-        usable = !image_magick_version_before_("6.7.8-9");
++#if HAVE_GRAPHICS_MAGICK
++      // version -auto-orient was added
++      usable = !magick_version_before_("1.3.18");
++#elif HAVE_IMAGE_MAGICK
++      // version known to work
++      usable = !magick_version_before_("6.7.8-9");
++#endif
+       if (-1 == usable)
+         usable = false;
+       usable = (usable ? 1 : 0);
+@@ -392,7 +381,7 @@ magick::arguments (const context& ctx)
+   if (color_correction_)
+     {
+       if (HAVE_IMAGE_MAGICK
+-          && !image_magick_version_before_("6.6.1-0"))
++          && !magick_version_before_("6.6.1-0"))
+         argv += " -color-matrix";
+       else
+         argv += " -recolor";
+@@ -416,7 +405,7 @@ magick::arguments (const context& ctx)
+       size_t mat_size = ((HAVE_IMAGE_MAGICK) ? 6 : 5);
+ 
+       if (HAVE_IMAGE_MAGICK
+-          && !image_magick_version_before_("6.6.1-0"))
++          && !magick_version_before_("6.6.1-0"))
+         argv += " -color-matrix";
+       else
+         argv += " -recolor";
diff --git a/pkgs/misc/drivers/utsushi/patches/absolute_path_for_tesseract.patch b/pkgs/misc/drivers/utsushi/patches/absolute_path_for_tesseract.patch
new file mode 100644
index 0000000000000..d4d4449792103
--- /dev/null
+++ b/pkgs/misc/drivers/utsushi/patches/absolute_path_for_tesseract.patch
@@ -0,0 +1,56 @@
+Index: utsushi-0.57.0/filters/reorient.cpp
+===================================================================
+--- utsushi-0.57.0.orig/filters/reorient.cpp
++++ utsushi-0.57.0/filters/reorient.cpp
+@@ -96,8 +96,8 @@ chomp (char *str)
+ bool
+ tesseract_version_before_(const char *cutoff)
+ {
+-  FILE *fp = popen ("tesseract --version 2>&1"
+-                    "| awk '/^tesseract/{ print $2 }'", "r");
++  FILE *fp = popen (TESSERACT " --version 2>&1"
++                    "| " AWK " '/^tesseract/{ print $2 }'", "r");
+   int errc = errno;
+ 
+   if (fp)
+@@ -126,7 +126,7 @@ tesseract_version_before_(const char *cu
+ bool
+ have_tesseract_language_pack_(const char *lang)
+ {
+-  std::string cmd("tesseract --list-langs 2>&1"
++  std::string cmd(TESSERACT " --list-langs 2>&1"
+                   "| sed -n '/^");
+   cmd += lang;
+   cmd += "$/p'";
+@@ -291,7 +291,7 @@ reorient::reorient ()
+ 
+   if (found)
+     {
+-      if (have_tesseract_())  engine_ = "tesseract";
++      if (have_tesseract_())  engine_ = TESSERACT;
+       if (have_ocr_engine_()) engine_ = abs_path_name;
+     }
+   freeze_options ();   // initializes option tracking member variables
+Index: utsushi-0.57.0/configure.ac
+===================================================================
+--- utsushi-0.57.0.orig/configure.ac
++++ utsushi-0.57.0/configure.ac
+@@ -196,6 +196,8 @@ AC_DEFINE([HAVE_IMAGE_MAGICK_PP],
+   [0], [Define to 1 if ImageMagick's C++ API is usable])
+ AC_DEFINE([MAGICK_CONVERT],
+   [], [Define to an appropriate command-line invocation for convert])
++AC_DEFINE([TESSERACT],
++  [], [Define to an appropriate command-line invocation for tesseract])
+ AC_DEFINE([WITH_INCLUDED_BOOST],
+   [0], [Define to 1 if using the included Boost sources])
+ 
+@@ -419,6 +421,9 @@ AS_IF([test xno != "x$with_magick"],
+ AC_DEFINE_UNQUOTED([MAGICK_CONVERT], ["$MAGICK_CONVERT"])
+ AM_CONDITIONAL([have_magick], [test x != "x$HAVE_MAGICK"])
+ 
++AC_PATH_PROG([TESSERACT], [tesseract], [tesseract])
++AC_DEFINE_UNQUOTED([TESSERACT], ["$TESSERACT"])
++
+ AS_IF([test xno != "x$with_gtkmm"],
+   [PKG_CHECK_MODULES([LIBGTKMM], [gtkmm-2.4 >= 2.20],
+      [AC_DEFINE([HAVE_LIBGTKMM], [1])],
diff --git a/pkgs/misc/drivers/utsushi/patches/print-errors.patch b/pkgs/misc/drivers/utsushi/patches/print-errors.patch
new file mode 100644
index 0000000000000..06660ebde9885
--- /dev/null
+++ b/pkgs/misc/drivers/utsushi/patches/print-errors.patch
@@ -0,0 +1,15 @@
+Index: utsushi-0.57.0/lib/log.cpp
+===================================================================
+--- utsushi-0.57.0.orig/lib/log.cpp
++++ utsushi-0.57.0/lib/log.cpp
+@@ -26,8 +26,8 @@
+ 
+ namespace utsushi {
+ 
+-log::priority log::threshold = log::FATAL;
+-log::category log::matching  = log::NOTHING;
++log::priority log::threshold = log::ERROR;
++log::category log::matching  = log::ALL;
+ 
+ template<>
+ std::basic_ostream< char >&
diff --git a/pkgs/misc/drivers/utsushi/patches/series b/pkgs/misc/drivers/utsushi/patches/series
new file mode 100644
index 0000000000000..de0964c758b13
--- /dev/null
+++ b/pkgs/misc/drivers/utsushi/patches/series
@@ -0,0 +1,3 @@
+absolute-path-to-convert.patch
+print-errors.patch
+absolute_path_for_tesseract.patch
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix
index 2633c43d69926..44bc7ec3ced1d 100644
--- a/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/pkgs/misc/vim-plugins/vim-utils.nix
@@ -188,7 +188,8 @@ let
     vam ? null,
     pathogen ? null,
     plug ? null,
-    customRC ? ""
+    customRC ? "",
+    beforePlugins ? "",
   }:
 
     let
@@ -341,6 +342,8 @@ let
   " minimal setup, generated by NIX
   set nocompatible
 
+  ${beforePlugins}
+
   ${vamImpl}
   ${pathogenImpl}
   ${plugImpl}
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index b8fec2f416a25..d4a23f3ed0720 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, kernel, libdrm }:
 
 stdenv.mkDerivation rec {
-  name = "evdi-${version}";
-  version = "1.6.1";
+  pname = "evdi";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner = "DisplayLink";
-    repo = "evdi";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1h98w1yfqsrjfhpnyfnggpkxs9yayw441nmfkllmzhzfnsd31fp7";
+    sha256 = "0ajjsh1fw7w0k28r6qq7kh3qcr87gzzjp8s890algbglynlafzfw";
   };
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
diff --git a/pkgs/os-specific/linux/kernel/generate-config.pl b/pkgs/os-specific/linux/kernel/generate-config.pl
index f886fcfdc3584..26fc07202bb11 100644
--- a/pkgs/os-specific/linux/kernel/generate-config.pl
+++ b/pkgs/os-specific/linux/kernel/generate-config.pl
@@ -28,7 +28,7 @@ open ANSWERS, "<$ENV{KERNEL_CONFIG}" or die "Could not open answer file";
 while (<ANSWERS>) {
     chomp;
     s/#.*//;
-    if (/^\s*([A-Za-z0-9_]+)(\?)?\s+(\S+)\s*$/) {
+    if (/^\s*([A-Za-z0-9_]+)(\?)?\s+(.*\S)\s*$/) {
         $answers{$1} = $3;
         $requiredAnswers{$1} = !(defined $2);
     } elsif (!/^\s*$/) {
diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index 303df98d44ae3..7984e357c82c0 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchpatch, lib, pkgconfig, utillinux, libcap, libtirpc, libevent
 , sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers
-, python3
+, python3, buildPackages
 }:
 
 let
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   # put it in the "lib" output, and the headers in "dev"
   outputs = [ "out" "dev" "lib" "man" ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig buildPackages.stdenv.cc ];
 
   buildInputs = [
     libtirpc libcap libevent sqlite lvm2
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index ce2f788338e35..03e11d1a8ed93 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, utillinux, nukeReferences, coreutils
-, perl
+, perl, buildPackages
 , configFile ? "all"
 
 # Userspace dependencies
@@ -43,53 +43,43 @@ let
 
       postPatch = optionalString buildKernel ''
         patchShebangs scripts
-      '' + optionalString stdenv.hostPlatform.isMusl ''
-        substituteInPlace config/user-libtirpc.m4 \
-          --replace /usr/include/tirpc ${libtirpc}/include/tirpc
-      '';
-
-      nativeBuildInputs = [ autoreconfHook nukeReferences ]
-        ++ optional buildKernel (kernel.moduleBuildDependencies ++ [ perl ]);
-      buildInputs = optionals buildUser [ zlib libuuid python3 attr ]
-        ++ optionals (buildUser) [ openssl ]
-        ++ optional stdenv.hostPlatform.isMusl [ libtirpc ];
-
-      # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
-      NIX_CFLAGS_LINK = "-lgcc_s";
-
-      hardeningDisable = [ "fortify" "stackprotector" "pic" ];
-
-      preConfigure = ''
-        substituteInPlace ./module/zfs/zfs_ctldir.c   --replace "umount -t zfs"           "${utillinux}/bin/umount -t zfs"
-        substituteInPlace ./module/zfs/zfs_ctldir.c   --replace "mount -t zfs"            "${utillinux}/bin/mount -t zfs"
-        substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount"             "${utillinux}/bin/umount"
-        substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/mount"              "${utillinux}/bin/mount"
+        # The arrays must remain the same length, so we repeat a flag that is
+        # already part of the command and therefore has no effect.
+        substituteInPlace ./module/zfs/zfs_ctldir.c --replace '"/usr/bin/env", "umount"' '"${utillinux}/bin/umount", "-n"' \
+                                                    --replace '"/usr/bin/env", "mount"'  '"${utillinux}/bin/mount", "-n"'
+      '' + optionalString buildUser ''
+        substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount"             "${utillinux}/bin/umount" \
+                                                      --replace "/bin/mount"              "${utillinux}/bin/mount"
         substituteInPlace ./lib/libshare/nfs.c        --replace "/usr/sbin/exportfs"      "${nfs-utils}/bin/exportfs"
-        substituteInPlace ./cmd/ztest/ztest.c         --replace "/usr/sbin/ztest"         "$out/sbin/ztest"
-        substituteInPlace ./cmd/ztest/ztest.c         --replace "/usr/sbin/zdb"           "$out/sbin/zdb"
         substituteInPlace ./config/user-systemd.m4    --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d"
         substituteInPlace ./config/zfs-build.m4       --replace "\$sysconfdir/init.d"     "$out/etc/init.d"
         substituteInPlace ./etc/zfs/Makefile.am       --replace "\$(sysconfdir)"          "$out/etc"
         substituteInPlace ./cmd/zed/Makefile.am       --replace "\$(sysconfdir)"          "$out/etc"
-        substituteInPlace ./module/Makefile.in        --replace "/bin/cp"                 "cp"
         substituteInPlace ./etc/systemd/system/zfs-share.service.in \
           --replace "/bin/rm " "${coreutils}/bin/rm "
 
-        for f in ./udev/rules.d/*
-        do
-          substituteInPlace "$f" --replace "/lib/udev/vdev_id" "$out/lib/udev/vdev_id"
-        done
         substituteInPlace ./cmd/vdev_id/vdev_id \
           --replace "PATH=/bin:/sbin:/usr/bin:/usr/sbin" \
           "PATH=${makeBinPath [ coreutils gawk gnused gnugrep systemd ]}"
-
-        ./autogen.sh
-        configureFlagsArray+=("--libexecdir=$out/libexec")
+      '' + optionalString stdenv.hostPlatform.isMusl ''
+        substituteInPlace config/user-libtirpc.m4 \
+          --replace /usr/include/tirpc ${libtirpc}/include/tirpc
       '';
 
+      nativeBuildInputs = [ autoreconfHook nukeReferences ]
+        ++ optionals buildKernel (kernel.moduleBuildDependencies ++ [ perl ]);
+      buildInputs = optionals buildUser [ zlib libuuid attr ]
+        ++ optionals (buildUser) [ openssl python3 ]
+        ++ optional stdenv.hostPlatform.isMusl libtirpc;
+
+      # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
+      NIX_CFLAGS_LINK = "-lgcc_s";
+
+      hardeningDisable = [ "fortify" "stackprotector" "pic" ];
+
       configureFlags = [
         "--with-config=${configFile}"
-        "--with-python=${python3.interpreter}"
+        (withFeatureAs buildUser "python" python3.interpreter)
       ] ++ optionals buildUser [
         "--with-dracutdir=$(out)/lib/dracut"
         "--with-udevdir=$(out)/lib/udev"
@@ -97,13 +87,16 @@ let
         "--with-systemdpresetdir=$(out)/etc/systemd/system-preset"
         "--with-systemdgeneratordir=$(out)/lib/systemd/system-generator"
         "--with-mounthelperdir=$(out)/bin"
+        "--libexecdir=$(out)/libexec"
         "--sysconfdir=/etc"
         "--localstatedir=/var"
         "--enable-systemd"
-      ] ++ optionals buildKernel [
+      ] ++ optionals buildKernel ([
         "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
         "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-      ];
+      ] ++ kernel.makeFlags);
+
+      makeFlags = optionals buildKernel kernel.makeFlags;
 
       enableParallelBuilding = true;
 
@@ -112,9 +105,10 @@ let
         "DEFAULT_INITCONF_DIR=\${out}/default"
       ];
 
-      postInstall = ''
-        # Prevent kernel modules from depending on the Linux -dev output.
-        nuke-refs $(find $out -name "*.ko")
+      postInstall = optionalString buildKernel ''
+        # Add reference that cannot be detected due to compressed kernel module
+        mkdir -p "$out/nix-support"
+        echo "${utillinux}" >> "$out/nix-support/extra-refs"
       '' + optionalString buildUser ''
         # Remove provided services as they are buggy
         rm $out/etc/systemd/system/zfs-import-*.service
@@ -174,7 +168,6 @@ in {
     # incompatibleKernelVersion = "4.19";
 
     # this package should point to a version / git revision compatible with the latest kernel release
-    # This is now "stable". Move to zfsStable after it's tested more.
     version = "0.8.1";
 
     sha256 = "0wlbziijx08a9bmbyq4gfz4by9l5jrx44g18i99qnfm78k2q8a84";
diff --git a/pkgs/servers/sql/mysql/8.0.x.nix b/pkgs/servers/sql/mysql/8.0.x.nix
new file mode 100644
index 0000000000000..8785e052224dc
--- /dev/null
+++ b/pkgs/servers/sql/mysql/8.0.x.nix
@@ -0,0 +1,73 @@
+{ lib, stdenv, fetchurl, bison, cmake, pkgconfig
+, boost, icu, libedit, libevent, lz4, ncurses, openssl, protobuf, re2, readline, zlib
+, numactl, perl, cctools, CoreServices, developer_cmds
+}:
+
+let
+self = stdenv.mkDerivation rec {
+  name = "mysql-8.0.17";
+
+  src = fetchurl {
+    url = "https://dev.mysql.com/get/Downloads/MySQL-${self.mysqlVersion}/${name}.tar.gz";
+    sha256 = "1mjrlxn8vigi69r0r674j2dibdnkaar01ji5965gsyx7k60z7qy6";
+  };
+
+  patches = [
+    ./abi-check.patch
+    ./libutils.patch
+  ];
+
+  nativeBuildInputs = [ bison cmake pkgconfig ];
+
+  buildInputs = [
+    boost icu libedit libevent lz4 ncurses openssl protobuf re2 readline zlib
+  ] ++ lib.optionals stdenv.isLinux [
+    numactl
+  ] ++ lib.optionals stdenv.isDarwin [
+    cctools CoreServices developer_cmds
+  ];
+
+  outputs = [ "out" "static" ];
+
+  cmakeFlags = [
+    "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12" # For std::shared_timed_mutex.
+    "-DCMAKE_SKIP_BUILD_RPATH=OFF" # To run libmysql/libmysql_api_test during build.
+    "-DFORCE_UNSUPPORTED_COMPILER=1" # To configure on Darwin.
+    "-DWITH_ROUTER=OFF" # It may be packaged separately.
+    "-DWITH_SYSTEM_LIBS=ON"
+    "-DWITH_UNIT_TESTS=OFF"
+    "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
+    "-DMYSQL_DATADIR=/var/lib/mysql"
+    "-DINSTALL_INFODIR=share/mysql/docs"
+    "-DINSTALL_MANDIR=share/man"
+    "-DINSTALL_PLUGINDIR=lib/mysql/plugin"
+    "-DINSTALL_INCLUDEDIR=include/mysql"
+    "-DINSTALL_DOCREADMEDIR=share/mysql"
+    "-DINSTALL_SUPPORTFILESDIR=share/mysql"
+    "-DINSTALL_MYSQLSHAREDIR=share/mysql"
+    "-DINSTALL_MYSQLTESTDIR="
+    "-DINSTALL_DOCDIR=share/mysql/docs"
+    "-DINSTALL_SHAREDIR=share/mysql"
+  ];
+
+  postInstall = ''
+    moveToOutput "lib/*.a" $static
+    so=${stdenv.hostPlatform.extensions.sharedLibrary}
+    ln -s libmysqlclient$so $out/lib/libmysqlclient_r$so
+  '';
+
+  passthru = {
+    client = self;
+    connector-c = self;
+    server = self;
+    mysqlVersion = "8.0";
+  };
+
+  meta = with lib; {
+    homepage = "https://www.mysql.com/";
+    description = "The world's most popular open source database";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.unix;
+  };
+}; in self
diff --git a/pkgs/servers/sql/mysql/abi-check.patch b/pkgs/servers/sql/mysql/abi-check.patch
new file mode 100644
index 0000000000000..de45d9c3ea217
--- /dev/null
+++ b/pkgs/servers/sql/mysql/abi-check.patch
@@ -0,0 +1,18 @@
+MySQL ABI check assumes that with -nostdinc any standard #include terminates
+preprocessing, but we do not provide that:
+https://github.com/NixOS/nixpkgs/issues/44530
+
+"#error" does not terminate preprocessing, so we #include a non-existent file instead.
+
+--- a/cmake/do_abi_check.cmake
++++ b/cmake/do_abi_check.cmake
+@@ -68,1 +68,1 @@ FOREACH(file ${ABI_HEADERS})
+-      -E -nostdinc -dI -DMYSQL_ABI_CHECK -I${SOURCE_DIR}/include
++      -E -nostdinc -dI -DMYSQL_ABI_CHECK -I${SOURCE_DIR}/include/nostdinc -I${SOURCE_DIR}/include
+@@ -74,1 +74,1 @@ FOREACH(file ${ABI_HEADERS})
+-    COMMAND sed -e "/^# /d"
++    COMMAND sed -e "/^# /d" -e "/^#include <-nostdinc>$/d"
+--- /dev/null
++++ b/include/nostdinc/stdint.h
+@@ -0,0 +1,1 @@
++#include <-nostdinc>
diff --git a/pkgs/servers/sql/mysql/libutils.patch b/pkgs/servers/sql/mysql/libutils.patch
new file mode 100644
index 0000000000000..fa1a35e12f233
--- /dev/null
+++ b/pkgs/servers/sql/mysql/libutils.patch
@@ -0,0 +1,5 @@
+--- a/cmake/libutils.cmake
++++ b/cmake/libutils.cmake
+@@ -345 +345 @@ MACRO(MERGE_CONVENIENCE_LIBRARIES)
+-      COMMAND /usr/bin/libtool -static -o $<TARGET_FILE:${TARGET}>
++      COMMAND libtool -static -o $<TARGET_FILE:${TARGET}>
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index b74b2fc43f303..e9458520bb49e 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, pcre }:
+{ stdenv, fetchurl, ncurses, pcre, buildPackages }:
 
 let
   version = "5.7.1";
@@ -7,7 +7,6 @@ let
     url = "mirror://sourceforge/zsh/zsh-${version}-doc.tar.xz";
     sha256 = "1d1r88n1gfdavx4zy3svl1gljrvzim17jb2r834hafg2a016flrh";
   };
-
 in
 
 stdenv.mkDerivation {
@@ -61,7 +60,11 @@ else
   fi
 fi
 EOF
-    $out/bin/zsh -c "zcompile $out/etc/zprofile"
+    ${if stdenv.hostPlatform == stdenv.buildPlatform then ''
+      $out/bin/zsh -c "zcompile $out/etc/zprofile"
+    '' else ''
+      ${stdenv.lib.getBin buildPackages.zsh}/bin/zsh -c "zcompile $out/etc/zprofile"
+    ''}
     mv $out/etc/zprofile $out/etc/zprofile_zwc_is_used
   '';
   # XXX: patch zsh to take zwc if newer _or equal_
diff --git a/pkgs/tools/backup/bacula/default.nix b/pkgs/tools/backup/bacula/default.nix
index 02b37784eaa96..e5e26169b7453 100644
--- a/pkgs/tools/backup/bacula/default.nix
+++ b/pkgs/tools/backup/bacula/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     "--with-logdir=/var/log/bacula"
     "--with-working-dir=/var/lib/bacula"
     "--mandir=\${out}/share/man"
-  ];
+  ] ++ stdenv.lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "ac_cv_func_setpgrp_void=yes";
 
   installFlags = [
     "logdir=\${out}/logdir"
diff --git a/pkgs/tools/compression/zsync/default.nix b/pkgs/tools/compression/zsync/default.nix
index 89016b3ff40ff..830e5f10ef6d4 100644
--- a/pkgs/tools/compression/zsync/default.nix
+++ b/pkgs/tools/compression/zsync/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1wjslvfy76szf0mgg2i9y9q30858xyjn6v2acc24zal76d1m778b";
   };
 
+  makeFlags = [ "AR=${stdenv.cc.bintools.targetPrefix}ar" ];
+
   meta = {
     homepage = http://zsync.moria.org.uk/;
     description = "File distribution system using the rsync algorithm";
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index e571f53339902..1fe58f9450411 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -18,11 +18,11 @@ buildPythonPackage rec {
   # The websites youtube-dl deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2019.08.02";
+  version = "2019.08.13";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "101b6jrf6ckbxrn76ppvgdyrb25p7d247kn8qgq7n476sfnkfg2p";
+    sha256 = "0b94hrhbqa7jhn91pxsbphg2ylwkpkknb2y4v4sczp7rjvgmjgdj";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/axel/default.nix b/pkgs/tools/networking/axel/default.nix
index 6aa357dacb64e..afa6cef1524dd 100644
--- a/pkgs/tools/networking/axel/default.nix
+++ b/pkgs/tools/networking/axel/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchFromGitHub, autoreconfHook, autoconf-archive
-, pkgconfig, gettext, libssl }:
+, pkgconfig, gettext, libssl, txt2man }:
 
 stdenv.mkDerivation rec {
   pname = "axel";
-  version = "2.17.3";
+  version = "2.17.5";
 
   src = fetchFromGitHub {
     owner = "axel-download-accelerator";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0kdd2y92plv240ba2j3xrm0f8xygvm1ijghnric4whsnxvmgym7h";
+    sha256 = "0kwfbwh9g2227icgykgwa057vll5rkgac3df0pby530bivqzzzlw";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig autoconf-archive ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig autoconf-archive txt2man ];
 
   buildInputs = [ gettext libssl ];
 
-  installFlags = [ "ETCDIR=$(out)/etc" ];
+  installFlags = [ "ETCDIR=${placeholder "out"}/etc" ];
 
   meta = with stdenv.lib; {
     description = "Console downloading program with some features for parallel connections for faster downloading";
diff --git a/pkgs/tools/security/sequoia-tool/default.nix b/pkgs/tools/security/sequoia-tool/default.nix
deleted file mode 100644
index 00472c1a3aa4f..0000000000000
--- a/pkgs/tools/security/sequoia-tool/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchFromGitLab, rustPlatform, darwin
-, pkgconfig, capnproto, clang, libclang, nettle, openssl, sqlite }:
-
-rustPlatform.buildRustPackage rec {
-  pname = "sequoia-tool";
-  version = "0.9.0";
-
-  src = fetchFromGitLab {
-    owner = "sequoia-pgp";
-    repo = "sequoia";
-    rev = "v${version}";
-    sha256 = "13dzwdzz33dy2lgnznsv8wqnw2501f2ggrkfwpqy5x6d1kgms8rj";
-  };
-
-  nativeBuildInputs = [ pkgconfig clang libclang ];
-  buildInputs = [ capnproto nettle openssl sqlite ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
-
-  LIBCLANG_PATH = libclang + "/lib";
-
-  cargoBuildFlags = [ "--package=sequoia-tool" ];
-
-  cargoSha256 = "1zcnkpzcar3a2fk2rn3i3nb70b59ds9fpfa44f15r3aaxajsdhdi";
-
-  meta = with stdenv.lib; {
-    description = "A command-line frontend for Sequoia, an implementation of OpenPGP";
-    homepage = https://sequoia-pgp.org/;
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ minijackson ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/tools/security/sequoia/default.nix b/pkgs/tools/security/sequoia/default.nix
new file mode 100644
index 0000000000000..5d9ffca69375e
--- /dev/null
+++ b/pkgs/tools/security/sequoia/default.nix
@@ -0,0 +1,91 @@
+{ stdenv, fetchFromGitLab, lib, darwin
+, git, nettle, llvmPackages, cargo, rustc
+, rustPlatform, pkgconfig, glib
+, openssl, sqlite, capnproto
+, ensureNewerSourcesForZipFilesHook, pythonSupport ? true, pythonPackages ? null
+}:
+
+assert pythonSupport -> pythonPackages != null;
+
+rustPlatform.buildRustPackage rec {
+  pname = "sequoia";
+  version = "0.9.0";
+
+  src = fetchFromGitLab {
+    owner = "sequoia-pgp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "13dzwdzz33dy2lgnznsv8wqnw2501f2ggrkfwpqy5x6d1kgms8rj";
+  };
+
+  cargoSha256 = "1zcnkpzcar3a2fk2rn3i3nb70b59ds9fpfa44f15r3aaxajsdhdi";
+
+  nativeBuildInputs = [
+    pkgconfig
+    cargo
+    rustc
+    git
+    llvmPackages.libclang
+    llvmPackages.clang
+    ensureNewerSourcesForZipFilesHook
+  ] ++
+    lib.optionals pythonSupport [ pythonPackages.setuptools ]
+  ;
+
+  checkInputs = lib.optionals pythonSupport [
+    pythonPackages.pytest
+    pythonPackages.pytestrunner
+  ];
+
+  buildInputs = [
+    openssl
+    sqlite
+    nettle
+    capnproto
+  ]
+    ++ lib.optionals pythonSupport [ pythonPackages.python pythonPackages.cffi ]
+    ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]
+  ;
+
+  makeFlags = [
+    "PREFIX=${placeholder ''out''}"
+  ];
+
+  buildFlags = [
+    "build-release"
+  ];
+
+  LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
+
+  postPatch = ''
+    # otherwise, the check fails because we delete the `.git` in the unpack phase
+    substituteInPlace openpgp-ffi/Makefile \
+      --replace 'git grep' 'grep -R'
+    # Without this, the check fails
+    substituteInPlace openpgp-ffi/examples/Makefile \
+      --replace '-O0 -g -Wall -Werror' '-g'
+    substituteInPlace ffi/examples/Makefile \
+      --replace '-O0 -g -Wall -Werror' '-g'
+  '';
+
+  preInstall = lib.optionalString pythonSupport ''
+    export installFlags="PYTHONPATH=$PYTHONPATH:$out/${pythonPackages.python.sitePackages}"
+  '' + lib.optionalString (!pythonSupport) ''
+    export installFlags="PYTHON=disable"
+  '';
+
+  # Don't use buildRustPackage phases, only use it for rust deps setup
+  configurePhase = null;
+  buildPhase = null;
+  doCheck = true;
+  checkPhase = null;
+  installPhase = null;
+
+  meta = with stdenv.lib; {
+    description = "A cool new OpenPGP implementation";
+    homepage = "https://sequoia-pgp.org/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ minijackson doronbehar ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 42681c56dacd8..c560fa67271b0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5953,7 +5953,9 @@ in
 
   seqdiag = with python3Packages; toPythonApplication seqdiag;
 
-  sequoia-tool = callPackage ../tools/security/sequoia-tool { inherit (llvmPackages) libclang; };
+  sequoia = callPackage ../tools/security/sequoia {
+    pythonPackages = python3Packages;
+  };
 
   sewer = callPackage ../tools/admin/sewer { };
 
@@ -8264,6 +8266,8 @@ in
     inherit (darwin.apple_sdk.frameworks) CoreServices Security;
   };
 
+  sagittarius-scheme = callPackage ../development/compilers/sagittarius-scheme {};
+
   sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {};
   sbcl = callPackage ../development/compilers/sbcl {};
 
@@ -9107,11 +9111,7 @@ in
   bison = bison3;
   yacc = bison; # TODO: move to aliases.nix
 
-  blackmagic = callPackage ../development/tools/misc/blackmagic {
-    stdenv = gcc6Stdenv;
-    gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc;
-    binutils-arm-embedded = pkgsCross.arm-embedded.buildPackages.binutils;
-  };
+  blackmagic = callPackage ../development/tools/misc/blackmagic { };
 
   bloaty = callPackage ../development/tools/bloaty { };
 
@@ -14786,6 +14786,12 @@ in
     boost = boost159;
   };
 
+  mysql80 = callPackage ../servers/sql/mysql/8.0.x.nix {
+    inherit (darwin) cctools developer_cmds;
+    inherit (darwin.apple_sdk.frameworks) CoreServices;
+    boost = boost169; # Configure checks for specific version.
+  };
+
   mysql_jdbc = callPackage ../servers/sql/mysql/jdbc { };
 
   mssql_jdbc = callPackage ../servers/sql/mssql/jdbc { };
@@ -20481,6 +20487,10 @@ in
 
   dropbox-cli = callPackage ../applications/networking/dropbox/cli.nix { };
 
+  maestral = callPackage ../applications/networking/maestral { };
+
+  maestral-gui = libsForQt5.callPackage ../applications/networking/maestral { withGui = true; };
+
   insync = callPackage ../applications/networking/insync { };
 
   libstrangle = callPackage ../tools/X11/libstrangle {
@@ -23704,6 +23714,8 @@ in
 
   epkowa = callPackage ../misc/drivers/epkowa { };
 
+  utsushi = callPackage ../misc/drivers/utsushi { };
+
   idsk = callPackage ../tools/filesystems/idsk { };
 
   igraph = callPackage ../development/libraries/igraph { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 43fb2661f5cdd..eada8bf669eca 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4705,6 +4705,11 @@ in {
 
   seqdiag = callPackage ../development/python-modules/seqdiag { };
 
+  sequoia = disabledIf (isPyPy || !isPy3k) (toPythonModule (pkgs.sequoia.override {
+    pythonPackages = self;
+    pythonSupport = true;
+  }));
+
   safe = callPackage ../development/python-modules/safe { };
 
   sampledata = callPackage ../development/python-modules/sampledata { };