summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2021-06-23 12:04:25 +0000
committerGitHub <noreply@github.com>2021-06-23 12:04:25 +0000
commitb59d049598ee97a41e24dd2b60439db080885c22 (patch)
treeb870280666cd39c127a3654af2b29c1ed8b7632f
parentc54b530a3955cdb0c3a201d3cee90c77a3b61a82 (diff)
parent46113713d4f25579e07b78116a61ab6f178f4153 (diff)
downloadnixpkgs-b59d049598ee97a41e24dd2b60439db080885c22.tar
nixpkgs-b59d049598ee97a41e24dd2b60439db080885c22.tar.gz
nixpkgs-b59d049598ee97a41e24dd2b60439db080885c22.tar.bz2
nixpkgs-b59d049598ee97a41e24dd2b60439db080885c22.tar.lz
nixpkgs-b59d049598ee97a41e24dd2b60439db080885c22.tar.xz
nixpkgs-b59d049598ee97a41e24dd2b60439db080885c22.tar.zst
nixpkgs-b59d049598ee97a41e24dd2b60439db080885c22.zip
Merge master into staging-next
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--nixos/modules/hardware/system-76.nix28
-rw-r--r--pkgs/applications/misc/koreader/default.nix19
-rw-r--r--pkgs/applications/misc/scli/default.nix26
-rw-r--r--pkgs/applications/networking/cluster/fluxcd/default.nix8
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix10
-rw-r--r--pkgs/applications/science/physics/MCFM/default.nix33
-rw-r--r--pkgs/development/libraries/cmark/default.nix14
-rw-r--r--pkgs/development/libraries/kde-frameworks/kimageformats.nix4
-rw-r--r--pkgs/development/python-modules/herepy/default.nix4
-rw-r--r--pkgs/development/python-modules/python-engineio/3.nix69
-rw-r--r--pkgs/development/python-modules/python-socketio/4.nix47
-rw-r--r--pkgs/development/python-modules/rich/default.nix2
-rw-r--r--pkgs/games/multimc/0001-pick-latest-java-first.patch48
-rw-r--r--pkgs/games/multimc/default.nix24
-rw-r--r--pkgs/games/orthorobot/default.nix6
-rw-r--r--pkgs/misc/arm-trusted-firmware/default.nix2
-rw-r--r--pkgs/os-specific/linux/system76-power/default.nix30
-rw-r--r--pkgs/tools/filesystems/fuse-overlayfs/default.nix4
-rw-r--r--pkgs/tools/games/amidst/default.nix6
-rw-r--r--pkgs/tools/misc/esphome/default.nix5
-rw-r--r--pkgs/tools/misc/esphome/fix-src-permissions.patch46
-rw-r--r--pkgs/tools/networking/dd-agent/integrations-core.nix2
-rw-r--r--pkgs/tools/networking/updog/default.nix26
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/nwipe/default.nix4
-rw-r--r--pkgs/tools/system/gdu/default.nix14
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix11
-rw-r--r--pkgs/top-level/python-packages.nix17
-rw-r--r--pkgs/top-level/python2-packages.nix2
31 files changed, 332 insertions, 190 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index af86f1d3da6..d22487e5778 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -5206,6 +5206,12 @@
     email = "jwilberding@afiniate.com";
     name = "Jordan Wilberding";
   };
+  jwoudenberg = {
+    email = "nixpkgs@jasperwoudenberg.com";
+    github = "jwoudenberg";
+    githubId = 1525551;
+    name = "Jasper Woudenberg";
+  };
   jwygoda = {
     email = "jaroslaw@wygoda.me";
     github = "jwygoda";
diff --git a/nixos/modules/hardware/system-76.nix b/nixos/modules/hardware/system-76.nix
index ed661fd3303..3a50c5aa0f0 100644
--- a/nixos/modules/hardware/system-76.nix
+++ b/nixos/modules/hardware/system-76.nix
@@ -34,6 +34,25 @@ let
       wantedBy = [ "multi-user.target" ];
     };
   };
+
+  power-pkg = pkgs.system76-power;
+  powerConfig = mkIf cfg.power-daemon.enable {
+    # Make system76-power usable by root from the command line.
+    environment.systemPackages = [ power-pkg ];
+
+    services.dbus.packages = [ power-pkg ];
+
+    systemd.services.system76-power = {
+      description = "System76 Power Daemon";
+      serviceConfig = {
+        ExecStart = "${power-pkg}/bin/system76-power daemon";
+        Restart = "on-failure";
+        Type = "dbus";
+        BusName = "com.system76.PowerDaemon";
+      };
+      wantedBy = [ "multi-user.target" ];
+    };
+  };
 in {
   options = {
     hardware.system76 = {
@@ -52,8 +71,15 @@ in {
         description = "Whether to make the system76 out-of-tree kernel modules available";
         type = types.bool;
       };
+
+      power-daemon.enable = mkOption {
+        default = cfg.enableAll;
+        example = true;
+        description = "Whether to enable the system76 power daemon";
+        type = types.bool;
+      };
     };
   };
 
-  config = mkMerge [ moduleConfig firmwareConfig ];
+  config = mkMerge [ moduleConfig firmwareConfig powerConfig ];
 }
diff --git a/pkgs/applications/misc/koreader/default.nix b/pkgs/applications/misc/koreader/default.nix
index eadd5cae50d..249569ffbab 100644
--- a/pkgs/applications/misc/koreader/default.nix
+++ b/pkgs/applications/misc/koreader/default.nix
@@ -2,10 +2,12 @@
 , fetchurl
 , makeWrapper
 , dpkg
-, luajit
+, glib
+, gnutar
 , gtk3-x11
+, luajit
+, sdcv
 , SDL2
-, glib
 , noto-fonts
 , nerdfonts }:
 let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
@@ -21,7 +23,14 @@ in stdenv.mkDerivation rec {
 
   sourceRoot = ".";
   nativeBuildInputs = [ makeWrapper dpkg ];
-  buildInputs = [ luajit gtk3-x11 SDL2 glib ];
+  buildInputs = [
+    glib
+    gnutar
+    gtk3-x11
+    luajit
+    sdcv
+    SDL2
+  ];
   unpackCmd = "dpkg-deb -x ${src} .";
 
   dontConfigure = true;
@@ -30,7 +39,9 @@ in stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out
     cp -R usr/* $out/
-    cp ${luajit}/bin/luajit $out/lib/koreader/luajit
+    ln -sf ${luajit}/bin/luajit $out/lib/koreader/luajit
+    ln -sf ${sdcv}/bin/sdcv $out/lib/koreader/sdcv
+    ln -sf ${gnutar}/bin/tar $out/lib/koreader/tar
     find $out -xtype l -delete
     for i in ${noto-fonts}/share/fonts/truetype/noto/*; do
         ln -s "$i" $out/lib/koreader/fonts/noto/
diff --git a/pkgs/applications/misc/scli/default.nix b/pkgs/applications/misc/scli/default.nix
index 93fd5d41942..9694e9b6918 100644
--- a/pkgs/applications/misc/scli/default.nix
+++ b/pkgs/applications/misc/scli/default.nix
@@ -1,18 +1,28 @@
-{ lib, buildPythonApplication, fetchFromGitHub, signal-cli, urwid
-, urwid-readline, dbus }:
+{ lib
+, python3
+, fetchFromGitHub
+, dbus
+, signal-cli
+, xclip
+}:
 
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "scli";
-  version = "0.6.1";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "isamert";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hWzpqj/sxPq/doxdmytnj5rh2qKQE71WMB0ugomWhHg";
+    sha256 = "sha256-QGVBJKTBo2RckGwW1deM2toRPT73PYDLvr7YVepkQvg=";
   };
 
-  propagatedBuildInputs = [ signal-cli urwid urwid-readline dbus ];
+  propagatedBuildInputs = with python3.pkgs; [
+    pyqrcode
+    urwid
+    urwid-readline
+  ];
+
   dontBuild = true;
 
   checkPhase = ''
@@ -29,6 +39,10 @@ buildPythonApplication rec {
     install -m755 -D scli $out/bin/scli
   '';
 
+  makeWrapperArgs = [
+    "--prefix" "PATH" ":" (lib.makeBinPath [ dbus signal-cli xclip ])
+  ];
+
   meta = with lib; {
     description = "Simple terminal user interface for Signal";
     homepage = "https://github.com/isamert/scli";
diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix
index d7cf0a933df..22dc5472a14 100644
--- a/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -1,11 +1,11 @@
 { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
 
 let
-  version = "0.13.4";
+  version = "0.15.3";
 
   manifests = fetchzip {
     url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz";
-    sha256 = "sha256-+2JvJFzH1CjU/WQ7MLtqd5Adfi/ktX9lPq4IyxPcUD8=";
+    sha256 = "sha256-/uD0hxtTJSr+2tZcwzOIQcEbikHOshWukEBSaK3FiP4=";
     stripRoot = false;
   };
 in
@@ -19,10 +19,10 @@ buildGoModule rec {
     owner = "fluxcd";
     repo = "flux2";
     rev = "v${version}";
-    sha256 = "sha256-edyqxVl8oIwKp/eqFIbu+qn9zhYEnKJKwUbYZ7uxx0I=";
+    sha256 = "sha256-Pyt5BaOawBwyBz7ULzOZr0Fc6bqM5dKn775AylUjDVE=";
   };
 
-  vendorSha256 = "sha256-keIzuqaLppu6+XK3MFiU0en+SVxWVLpfkKEKOAVOz7k=";
+  vendorSha256 = "sha256-17Kbun6Mrip4/XHN5eMHxgnSoX1KuGHwtb8yLTf/Mks=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index ac6be7c9791..69fca696d4d 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -10,6 +10,7 @@
 , rubySupport ? true, ruby
 , tclSupport ? true, tcl
 , extraBuildInputs ? []
+, fetchpatch
 }:
 
 let
@@ -37,6 +38,15 @@ let
         sha256 = "0pck4lczkk52mgwa1n0habp1xqi9xsgsh5q6bbsjmdbandvy5vc8";
       };
 
+      patches = [
+        # weechat 3.2 fails to build on Darwin, but is fixed for the next release:
+        (fetchpatch {
+          url = "https://github.com/weechat/weechat/commit/0b7e4977bef763993e361c23db0f52117b799949.patch";
+          sha256 = "eVdrhr4mrqv+OkqYOv1E7mUkmzd5NC3LmZhbXJnCpFg=";
+          excludes = [ "ChangeLog.adoc" ];
+        })
+      ];
+
       outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
 
       cmakeFlags = with lib; [
diff --git a/pkgs/applications/science/physics/MCFM/default.nix b/pkgs/applications/science/physics/MCFM/default.nix
new file mode 100644
index 00000000000..7b6000dfea8
--- /dev/null
+++ b/pkgs/applications/science/physics/MCFM/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchurl, cmake, gfortran, lhapdf }:
+
+stdenv.mkDerivation rec {
+  pname = "MCFM";
+  version = "10.0.1";
+
+  src = fetchurl {
+    url = "https://mcfm.fnal.gov/downloads/${pname}-${version}.tar.gz";
+    sha256 = "sha256-3Dg4KoILb0XhgGkzItDh/1opCtYrrIvtbuALYqPUvE8=";
+  };
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace 'target_link_libraries(mcfm lhapdf_lib)' \
+                'target_link_libraries(mcfm ''${lhapdf_lib})'
+  '';
+
+  nativeBuildInputs = [ cmake gfortran ];
+  buildInputs = [ lhapdf ];
+
+  cmakeFlags = [
+    "-Duse_external_lhapdf=ON"
+    "-Duse_internal_lhapdf=OFF"
+  ];
+
+  meta = with lib; {
+    description = "Monte Carlo for FeMtobarn processes";
+    homepage = "https://mcfm.fnal.gov";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ veprbl ];
+    platforms = lib.platforms.x86_64;
+  };
+}
diff --git a/pkgs/development/libraries/cmark/default.nix b/pkgs/development/libraries/cmark/default.nix
index 6061fd8f912..ec90d0086c9 100644
--- a/pkgs/development/libraries/cmark/default.nix
+++ b/pkgs/development/libraries/cmark/default.nix
@@ -1,18 +1,26 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
-  version = "0.29.0";
   pname = "cmark";
+  version = "0.30.0";
 
   src = fetchFromGitHub {
     owner = "jgm";
-    repo = "cmark";
+    repo = pname;
     rev = version;
-    sha256 = "0r7jpqhgnssq444i8pwji2g36058vfzwkl70wbiwj13h4w5rfc8f";
+    sha256 = "sha256-SU31kJL+8wt57bGW5fNeXjXPgPeCXZIknZwDxMXCfdc=";
   };
 
   nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [
+    # https://github.com/commonmark/cmark/releases/tag/0.30.0
+    # recommends distributions dynamically link
+    "-DCMARK_STATIC=OFF"
+  ];
+
   doCheck = !stdenv.isDarwin;
+
   preCheck = ''
     export LD_LIBRARY_PATH=$(readlink -f ./src)
   '';
diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
index 3d9c5851f24..505cfe05d28 100644
--- a/pkgs/development/libraries/kde-frameworks/kimageformats.nix
+++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib,
   extra-cmake-modules,
-  ilmbase, karchive, openexr, qtbase
+  ilmbase, karchive, openexr, libavif, qtbase
 }:
 
 let inherit (lib) getDev; in
@@ -9,7 +9,7 @@ let inherit (lib) getDev; in
 mkDerivation {
   name = "kimageformats";
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ karchive openexr qtbase ];
+  buildInputs = [ karchive openexr libavif qtbase ];
   outputs = [ "out" ]; # plugins only
   CXXFLAGS = "-I${getDev ilmbase}/include/OpenEXR";
 }
diff --git a/pkgs/development/python-modules/herepy/default.nix b/pkgs/development/python-modules/herepy/default.nix
index 6081f914c64..13454e4e196 100644
--- a/pkgs/development/python-modules/herepy/default.nix
+++ b/pkgs/development/python-modules/herepy/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "herepy";
-  version = "3.5.2";
+  version = "3.5.3";
 
   disabled = pythonOlder "3.5";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "abdullahselek";
     repo = "HerePy";
     rev = version;
-    sha256 = "0z1brgnrzdzfmnydipja4hhrhnz4fwdjy3xa05mz28bwi6z52bcj";
+    sha256 = "sha256-05x3EQoyv38j4UcixN0sf5BI2oTjfasAIQyZqQSjdPM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-engineio/3.nix b/pkgs/development/python-modules/python-engineio/3.nix
deleted file mode 100644
index f113f47802b..00000000000
--- a/pkgs/development/python-modules/python-engineio/3.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ lib
-, stdenv
-, buildPythonPackage
-, fetchFromGitHub
-, aiohttp
-, eventlet
-, iana-etc
-, libredirect
-, mock
-, requests
-, six
-, tornado
-, websocket-client
-, websockets
-, pytestCheckHook
-, pythonAtLeast
-}:
-
-buildPythonPackage rec {
-  pname = "python-engineio";
-  version = "3.14.2";
-
-  src = fetchFromGitHub {
-    owner = "miguelgrinberg";
-    repo = "python-engineio";
-    rev = "v${version}";
-    sha256 = "1r3gvizrknbv036pvxid1l726wkb0l43bdaz5y879s7j3ipyb464";
-  };
-
-  propagatedBuildInputs = [
-    six
-  ];
-
-  checkInputs = [
-    aiohttp
-    eventlet
-    mock
-    requests
-    tornado
-    websocket-client
-    websockets
-    pytestCheckHook
-  ];
-
-  preCheck = lib.optionalString stdenv.isLinux ''
-    echo "nameserver 127.0.0.1" > resolv.conf
-    export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols:/etc/resolv.conf=$(realpath resolv.conf) \
-      LD_PRELOAD=${libredirect}/lib/libredirect.so
-  '';
-  postCheck = ''
-    unset NIX_REDIRECTS LD_PRELOAD
-  '';
-
-  # somehow effective log level does not change?
-  disabledTests = [ "test_logger" ];
-  pythonImportsCheck = [ "engineio" ];
-
-  meta = with lib; {
-    description = "Python based Engine.IO client and server v3.x";
-    longDescription = ''
-      Engine.IO is a lightweight transport protocol that enables real-time
-      bidirectional event-based communication between clients and a server.
-    '';
-    homepage = "https://github.com/miguelgrinberg/python-engineio/";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ graham33 ];
-    broken = stdenv.isDarwin && (pythonAtLeast "3.9");  # See https://github.com/miguelgrinberg/python-socketio/issues/567
-  };
-}
diff --git a/pkgs/development/python-modules/python-socketio/4.nix b/pkgs/development/python-modules/python-socketio/4.nix
deleted file mode 100644
index 3a6f5d87fdd..00000000000
--- a/pkgs/development/python-modules/python-socketio/4.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ lib
-, bidict
-, buildPythonPackage
-, fetchFromGitHub
-, mock
-, pytestCheckHook
-, python-engineio_3
-}:
-
-buildPythonPackage rec {
-  pname = "python-socketio";
-  version = "4.6.1";
-
-  src = fetchFromGitHub {
-    owner = "miguelgrinberg";
-    repo = "python-socketio";
-    rev = "v${version}";
-    sha256 = "14dijag17v84v0pp9qi89h5awb4h4i9rj0ppkixqv6is9z9lflw5";
-  };
-
-  propagatedBuildInputs = [
-    bidict
-    python-engineio_3
-  ];
-
-  checkInputs = [
-    mock
-    pytestCheckHook
-  ];
-
-  pythonImportsCheck = [ "socketio" ];
-
-  # pytestCheckHook seems to change the default log level to WARNING, but the
-  # tests assert it is ERROR
-  disabledTests = [ "test_logger" ];
-
-  meta = with lib; {
-    description = "Python Socket.IO server and client 4.x";
-    longDescription = ''
-      Socket.IO is a lightweight transport protocol that enables real-time
-      bidirectional event-based communication between clients and a server.
-    '';
-    homepage = "https://github.com/miguelgrinberg/python-socketio/";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ graham33 ];
-  };
-}
diff --git a/pkgs/development/python-modules/rich/default.nix b/pkgs/development/python-modules/rich/default.nix
index e566c872086..e939d3fc933 100644
--- a/pkgs/development/python-modules/rich/default.nix
+++ b/pkgs/development/python-modules/rich/default.nix
@@ -5,7 +5,6 @@
 , CommonMark
 , colorama
 , dataclasses
-, ipywidgets
 , poetry-core
 , pygments
 , typing-extensions
@@ -30,7 +29,6 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     CommonMark
     colorama
-    ipywidgets
     pygments
     typing-extensions
   ] ++ lib.optional (pythonOlder "3.7") [
diff --git a/pkgs/games/multimc/0001-pick-latest-java-first.patch b/pkgs/games/multimc/0001-pick-latest-java-first.patch
new file mode 100644
index 00000000000..31ab0497f8d
--- /dev/null
+++ b/pkgs/games/multimc/0001-pick-latest-java-first.patch
@@ -0,0 +1,48 @@
+From 44e1b2a19a869b907b40e56c85c8a47aa6c22097 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= <musfay@protonmail.com>
+Date: Tue, 22 Jun 2021 21:50:11 +0300
+Subject: [PATCH] pick latest java first
+
+---
+ api/logic/java/JavaInstallList.cpp | 4 ++--
+ api/logic/java/JavaUtils.cpp       | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/api/logic/java/JavaInstallList.cpp b/api/logic/java/JavaInstallList.cpp
+index 0bded03c..40898e20 100644
+--- a/api/logic/java/JavaInstallList.cpp
++++ b/api/logic/java/JavaInstallList.cpp
+@@ -120,8 +120,8 @@ void JavaInstallList::updateListData(QList<BaseVersionPtr> versions)
+ 
+ bool sortJavas(BaseVersionPtr left, BaseVersionPtr right)
+ {
+-    auto rleft = std::dynamic_pointer_cast<JavaInstall>(left);
+-    auto rright = std::dynamic_pointer_cast<JavaInstall>(right);
++    auto rleft = std::dynamic_pointer_cast<JavaInstall>(right);
++    auto rright = std::dynamic_pointer_cast<JavaInstall>(left);
+     return (*rleft) > (*rright);
+ }
+ 
+diff --git a/api/logic/java/JavaUtils.cpp b/api/logic/java/JavaUtils.cpp
+index 5f004a10..6d633631 100644
+--- a/api/logic/java/JavaUtils.cpp
++++ b/api/logic/java/JavaUtils.cpp
+@@ -350,7 +350,6 @@ QList<QString> JavaUtils::FindJavaPaths()
+     qDebug() << "Linux Java detection incomplete - defaulting to \"java\"";
+ 
+     QList<QString> javas;
+-    javas.append(this->GetDefaultJava()->path);
+     auto scanJavaDir = [&](const QString & dirPath)
+     {
+         QDir dir(dirPath);
+@@ -379,6 +378,7 @@ QList<QString> JavaUtils::FindJavaPaths()
+     // general locations used by distro packaging
+     scanJavaDir("/usr/lib/jvm");
+     scanJavaDir("/usr/lib32/jvm");
++    javas.append(this->GetDefaultJava()->path);
+     // javas stored in MultiMC's folder
+     scanJavaDir("java");
+     return javas;
+-- 
+2.31.1
+
diff --git a/pkgs/games/multimc/default.nix b/pkgs/games/multimc/default.nix
index bedf78102b6..aa32efaa940 100644
--- a/pkgs/games/multimc/default.nix
+++ b/pkgs/games/multimc/default.nix
@@ -1,20 +1,28 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, jdk8, zlib, file, makeWrapper, xorg, libpulseaudio, qtbase, libGL }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, jdk8, jdk, zlib, file, makeWrapper, xorg, libpulseaudio, qtbase, libGL }:
 
 let
-  jdk = jdk8;
   libpath = with xorg; lib.makeLibraryPath [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio libGL ];
 in mkDerivation rec {
   pname = "multimc";
-  version = "0.6.12";
+  version = "unstable-2021-06-21";
   src = fetchFromGitHub {
     owner = "MultiMC";
     repo = "MultiMC5";
-    rev = version;
-    sha256 = "h2T023vrqemWhHiA2/gFleuUhIOucjwTgoExliFiYig=";
+    rev = "8179a89103833805d5374399d80a4305be1b8355";
+    sha256 = "lPz6ZM7TjaixfwWMPaXijKZJQKFPrCegBhvbJ8Xg4P8=";
     fetchSubmodules = true;
   };
   nativeBuildInputs = [ cmake file makeWrapper ];
-  buildInputs = [ qtbase jdk zlib ];
+  buildInputs = [ qtbase jdk8 zlib ];
+
+  patches = [ ./0001-pick-latest-java-first.patch ];
+
+  postPatch = ''
+    # hardcode jdk paths
+    substituteInPlace api/logic/java/JavaUtils.cpp \
+      --replace 'scanJavaDir("/usr/lib/jvm")' 'javas.append("${jdk}/lib/openjdk/bin/java")' \
+      --replace 'scanJavaDir("/usr/lib32/jvm")' 'javas.append("${jdk8}/lib/openjdk/bin/java")'
+  '';
 
   cmakeFlags = [ "-DMultiMC_LAYOUT=lin-system" ];
 
@@ -23,7 +31,9 @@ in mkDerivation rec {
     install -Dm755 ../application/package/linux/multimc.desktop $out/share/applications/multimc.desktop
 
     # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
-    wrapProgram $out/bin/multimc --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${libpath} --prefix PATH : ${jdk}/bin/:${xorg.xrandr}/bin/
+    wrapProgram $out/bin/multimc \
+      --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \
+      --prefix PATH : ${lib.makeBinPath [ xorg.xrandr ]}
   '';
 
   meta = with lib; {
diff --git a/pkgs/games/orthorobot/default.nix b/pkgs/games/orthorobot/default.nix
index e1067645b62..dc3f3cf0a10 100644
--- a/pkgs/games/orthorobot/default.nix
+++ b/pkgs/games/orthorobot/default.nix
@@ -34,10 +34,9 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ lua love zip ];
 
-  phases = [ "unpackPhase" "installPhase" ];
+  dontBuild = true;
 
-  installPhase =
-  ''
+  installPhase = ''
     mkdir -p $out/bin $out/share/games/lovegames $out/share/applications
     zip -9 -r ${pname}.love ./*
     mv ${pname}.love $out/share/games/lovegames/${pname}.love
@@ -53,5 +52,4 @@ stdenv.mkDerivation {
     license = licenses.free;
     downloadPage = "http://stabyourself.net/orthorobot/";
   };
-
 }
diff --git a/pkgs/misc/arm-trusted-firmware/default.nix b/pkgs/misc/arm-trusted-firmware/default.nix
index f3e2f0dca23..c3be2213c33 100644
--- a/pkgs/misc/arm-trusted-firmware/default.nix
+++ b/pkgs/misc/arm-trusted-firmware/default.nix
@@ -17,7 +17,7 @@ let
       owner = "ARM-software";
       repo = "arm-trusted-firmware";
       rev = "v${version}";
-      sha256 = "sha256-qfzZ3aVYYn0ZcZgKcLdB13B+eweDebLSBA3HTqdPdv0=";
+      sha256 = "0w3blkqgmyb5bahlp04hmh8abrflbzy0qg83kmj1x9nv4mw66f3b";
     };
 
     depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/os-specific/linux/system76-power/default.nix b/pkgs/os-specific/linux/system76-power/default.nix
new file mode 100644
index 00000000000..fbc26ca8719
--- /dev/null
+++ b/pkgs/os-specific/linux/system76-power/default.nix
@@ -0,0 +1,30 @@
+{ pkg-config, libusb1, dbus, lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "system76-power";
+  version = "1.1.16";
+
+  src = fetchFromGitHub {
+    owner = "pop-os";
+    repo = "system76-power";
+    rev = version;
+    sha256 = "sha256-OtrhvUkNNgg6KlrqjwiBKL4zuQZBWevb0xgtSlEW2rQ=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ dbus libusb1 ];
+
+  cargoSha256 = "sha256-ImACDbnUbwc0ZXgF3xxzes8+vUjt76B1xxgqzhgAYX4=";
+
+  postInstall = ''
+    install -D -m 0644 data/system76-power.conf $out/etc/dbus-1/system.d/system76-power.conf
+  '';
+
+  meta = with lib; {
+    description = "System76 Power Management";
+    homepage = "https://github.com/pop-os/system76-power";
+    license = licenses.gpl3Plus;
+    platforms = [ "i686-linux" "x86_64-linux" ];
+    maintainers = [ maintainers.jwoudenberg ];
+  };
+}
diff --git a/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index 3631e52d87d..a3cb67c1bd3 100644
--- a/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "1.5.0";
+  version = "1.6";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/gdmrQhYsE4a/1sxtJ5IfVUWjh08wTVrOr4V7Fkn1i0=";
+    sha256 = "sha256-YNR9Cj2StbmA2MjoQEWgJCMoHXQ1wIYikXGUEkmJEIg=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/games/amidst/default.nix b/pkgs/tools/games/amidst/default.nix
index 552efee1537..8ec65a1dd39 100644
--- a/pkgs/tools/games/amidst/default.nix
+++ b/pkgs/tools/games/amidst/default.nix
@@ -2,7 +2,7 @@
 , stdenv
 , fetchurl
 , makeWrapper
-, jre8 }: # TODO: Update this to the latest version of java upon the next release. This is currently not done because of https://github.com/toolbox4minecraft/amidst/issues/960
+, jre }:
 
 stdenv.mkDerivation rec {
   pname = "amidst";
@@ -15,12 +15,12 @@ stdenv.mkDerivation rec {
 
   dontUnpack = true;
 
-  nativeBuildInputs = [ jre8 makeWrapper ];
+  nativeBuildInputs = [ jre makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/{bin,lib/amidst}
     cp $src $out/lib/amidst/amidst.jar
-    makeWrapper ${jre8}/bin/java $out/bin/amidst \
+    makeWrapper ${jre}/bin/java $out/bin/amidst \
       --add-flags "-jar $out/lib/amidst/amidst.jar"
   '';
 
diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index c9de8abea95..aa4e36253ab 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -21,6 +21,11 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "0bz6gkrvn7mwmjsqrazgpy9r64m5jj462v0izgvdymkx8bjd8mpi";
   };
 
+  patches = [
+    # fix missing write permissions on src files before modifing them
+   ./fix-src-permissions.patch
+  ];
+
   postPatch = ''
     # remove all version pinning (E.g tornado==5.1.1 -> tornado)
     sed -i -e "s/==[0-9.]*//" requirements.txt
diff --git a/pkgs/tools/misc/esphome/fix-src-permissions.patch b/pkgs/tools/misc/esphome/fix-src-permissions.patch
new file mode 100644
index 00000000000..5e92350105d
--- /dev/null
+++ b/pkgs/tools/misc/esphome/fix-src-permissions.patch
@@ -0,0 +1,46 @@
+From f72c5035944065941daaa236b60664657c777726 Mon Sep 17 00:00:00 2001
+From: Martin Weinelt <hexa@darmstadt.ccc.de>
+Date: Wed, 23 Jun 2021 04:50:35 +0200
+Subject: [PATCH] Set u+w for copied src files before trying to overwrite them
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We store esphome in the nix store, which results in its file permissions
+being 0444. Esphome, when compiling a firmware image, will copy these
+files from the nix store to a working directory. When updating between
+versions it will notice these files changed and try to copy the new
+version over, which would break, because the user had no write
+permissions on the files.
+
+❯ esphome compile 01e4ac.yml
+INFO Reading configuration 01e4ac.yml...
+INFO Detected timezone 'CET' with UTC offset 1 and daylight saving time from 27 March 02:00:00 to 30 October 03:00:00
+INFO Generating C++ source...
+ERROR Error copying file /nix/store/lmzrgl1arqfd98jcss4rsmmy6dbffddn-esphome-1.19.2/lib/python3.8/site-packages/esphome/components/api/api_connection.cpp to 01e4ac/src/esphome/components/api/api_connection.cpp: [Errno 13] Permission denied: '01e4ac/src/esphome/components/api/api_connection.cpp'
+
+To fix this we modify chmod to 0644 just before esphome tries a copy
+operation, which will fix permissions on existing working directories
+just in time.
+---
+ esphome/helpers.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/esphome/helpers.py b/esphome/helpers.py
+index ad7b8272..c456f4ff 100644
+--- a/esphome/helpers.py
++++ b/esphome/helpers.py
+@@ -228,6 +228,10 @@ def copy_file_if_changed(src: os.PathLike, dst: os.PathLike) -> None:
+     if file_compare(src, dst):
+         return
+     mkdir_p(os.path.dirname(dst))
++    try:
++        os.chmod(dst, 0o644)
++    except OSError:
++        pass
+     try:
+         shutil.copy(src, dst)
+     except OSError as err:
+-- 
+2.31.1
+
diff --git a/pkgs/tools/networking/dd-agent/integrations-core.nix b/pkgs/tools/networking/dd-agent/integrations-core.nix
index edf7a8faaf8..e466be816e4 100644
--- a/pkgs/tools/networking/dd-agent/integrations-core.nix
+++ b/pkgs/tools/networking/dd-agent/integrations-core.nix
@@ -75,7 +75,7 @@ let
     mongo    = (ps: [ ps.pymongo ]);
     network  = (ps: [ ps.psutil ]);
     nginx    = (ps: []);
-    postgres = (ps: with ps; [ pg8000_1_12 psycopg2 ]);
+    postgres = (ps: with ps; [ pg8000 psycopg2 ]);
   };
 
   # All integrations (default + extra):
diff --git a/pkgs/tools/networking/updog/default.nix b/pkgs/tools/networking/updog/default.nix
new file mode 100644
index 00000000000..22942891d6a
--- /dev/null
+++ b/pkgs/tools/networking/updog/default.nix
@@ -0,0 +1,26 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "updog";
+  version = "1.4";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "7n/ddjF6eJklo+T79+/zBxSHryebc2W9gxwxsb2BbF4=";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    colorama flask flask-httpauth werkzeug pyopenssl
+  ];
+
+  checkPhase = ''
+    $out/bin/updog --help > /dev/null
+  '';
+
+  meta = with lib; {
+    description = "Updog is a replacement for Python's SimpleHTTPServer";
+    homepage = "https://github.com/sc0tfree/updog";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ethancedwards8 ];
+  };
+}
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index d5d698088e6..0e73ac2325e 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2021-06-19";
+  version = "2021-06-23";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "1qhznaq06plbkld4al3whrfvfpqgpwaxgwzdkyndvh40yn4sh1fz";
+    sha256 = "15gxxs5wjxvcjh5q9h17p163byzl33zg5yjlay1f1n2ng8nypygi";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/security/nwipe/default.nix b/pkgs/tools/security/nwipe/default.nix
index 81ed9849bef..eb87e8cba86 100644
--- a/pkgs/tools/security/nwipe/default.nix
+++ b/pkgs/tools/security/nwipe/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nwipe";
-  version = "0.30";
+  version = "0.31";
 
   src = fetchFromGitHub {
     owner = "martijnvanbrummelen";
     repo = "nwipe";
     rev = "v${version}";
-    sha256 = "sha256-cNZMFnk4L95jKTyGEUN3DlAChUNZlIjDdZqkkwPjehE=";
+    sha256 = "sha256-+xwQLjl0jhven6udfCprRKW8qWM6JMh5MOZ+ZdaJWQg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/system/gdu/default.nix b/pkgs/tools/system/gdu/default.nix
index 5a466dfa2a1..5a84cd6ee3f 100644
--- a/pkgs/tools/system/gdu/default.nix
+++ b/pkgs/tools/system/gdu/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gdu";
-  version = "5.1.0";
+  version = "5.1.1";
 
   src = fetchFromGitHub {
     owner = "dundee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OellGxW/2I/dKBxWgEv1Ta9OJ/2HUfDIzICQwvmjTCM=";
+    sha256 = "sha256-9o/njurf1AWt04A8u38FMFcteLZlRHDejbH9+ekDjKI=";
   };
 
   vendorSha256 = "sha256-9W1K01PJ+tRLSJ0L7NGHXT5w5oHmlBkT8kwnOLOzSCc=";
@@ -35,15 +35,7 @@ buildGoModule rec {
     installManPage gdu.1
   '';
 
-  # doCheck = !(stdenv.isAarch64 || stdenv.isDarwin);
-  # also fails x86_64-linux on hydra with:
-  # dir_test.go:82:
-  #             Error Trace:    dir_test.go:82
-  #             Error:          Not equal:
-  #                             expected: 0
-  #                             actual  : 512
-  #             Test:           TestFlags
-  doCheck = false;
+  doCheck = !stdenv.isDarwin;
 
   meta = with lib; {
     description = "Disk usage analyzer with console interface";
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index c4e214ab6cb..cc4d33024b0 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -117,6 +117,7 @@ mapAliases ({
   clang9Stdenv = lowPrio llvmPackages_9.stdenv;
   clang10Stdenv = lowPrio llvmPackages_10.stdenv;
   clang11Stdenv = lowPrio llvmPackages_11.stdenv;
+  clang12Stdenv = lowPrio llvmPackages_12.stdenv;
 
   clangAnalyzer = clang-analyzer;  # added 2015-02-20
   clawsMail = claws-mail; # added 2016-04-29
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e2cd89fc096..c6cd86abcd7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4380,6 +4380,8 @@ in
 
   trompeloeil = callPackage ../development/libraries/trompeloeil { };
 
+  updog = callPackage ../tools/networking/updog { };
+
   uudeview = callPackage ../tools/misc/uudeview { };
 
   uusi = haskell.lib.justStaticExecutables haskellPackages.uusi;
@@ -20962,6 +20964,8 @@ in
 
     system76-acpi = callPackage ../os-specific/linux/system76-acpi { };
 
+    system76-power = callPackage ../os-specific/linux/system76-power { };
+
     system76-io = callPackage ../os-specific/linux/system76-io { };
 
     tmon = callPackage ../os-specific/linux/tmon { };
@@ -26607,7 +26611,7 @@ in
 
   scite = callPackage ../applications/editors/scite { };
 
-  scli = with python3Packages; callPackage ../applications/misc/scli { };
+  scli = callPackage ../applications/misc/scli { };
 
   scribus = callPackage ../applications/office/scribus {
     inherit (gnome2) libart_lgpl;
@@ -29890,6 +29894,11 @@ in
 
   elmerfem = callPackage ../applications/science/physics/elmerfem {};
 
+  mcfm = callPackage ../applications/science/physics/MCFM {
+    stdenv = gccStdenv;
+    lhapdf = lhapdf.override { stdenv = gccStdenv; };
+  };
+
   professor = callPackage ../applications/science/physics/professor { };
 
   sacrifice = callPackage ../applications/science/physics/sacrifice {};
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 384098cd3c7..17fdd3d1aa8 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5182,8 +5182,6 @@ in {
 
   pg8000 = callPackage ../development/python-modules/pg8000 { };
 
-  pg8000_1_12 = callPackage ../development/python-modules/pg8000/1_12.nix { };
-
   pgcli = callPackage ../development/tools/database/pgcli { };
 
   pglast = callPackage ../development/python-modules/pglast { };
@@ -6877,8 +6875,6 @@ in {
 
   python-engineio = callPackage ../development/python-modules/python-engineio { };
 
-  python-engineio_3 = callPackage ../development/python-modules/python-engineio/3.nix { };
-
   python-etcd = callPackage ../development/python-modules/python-etcd { };
 
   python-ethtool = callPackage ../development/python-modules/python-ethtool { };
@@ -7029,8 +7025,6 @@ in {
 
   python-socketio = callPackage ../development/python-modules/python-socketio { };
 
-  python-socketio_4 = callPackage ../development/python-modules/python-socketio/4.nix { };
-
   python-socks = callPackage ../development/python-modules/python-socks { };
 
   python-sql = callPackage ../development/python-modules/python-sql { };
@@ -8972,16 +8966,7 @@ in {
 
   vsure = callPackage ../development/python-modules/vsure { };
 
-  vtk = self.vtk_7;
-  vtk_7 = toPythonModule (pkgs.vtk_7.override {
-    pythonInterpreter = python;
-    enablePython = true;
-  });
-  vtk_8 = toPythonModule (pkgs.vtk_8.override {
-    pythonInterpreter = python;
-    enablePython = true;
-  });
-  vtk_9 = toPythonModule (pkgs.vtk_9.override {
+  vtk = toPythonModule (pkgs.vtk.override {
     pythonInterpreter = python;
     enablePython = true;
   });
diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix
index 337ae119388..f56b96357c3 100644
--- a/pkgs/top-level/python2-packages.nix
+++ b/pkgs/top-level/python2-packages.nix
@@ -380,6 +380,8 @@ with self; with super; {
 
   pathpy = callPackage ../development/python-modules/path.py/2.nix { };
 
+  pg8000 = callPackage ../development/python-modules/pg8000/1_12.nix { };
+
   pillow = callPackage ../development/python-modules/pillow/6.nix {
     inherit (pkgs) freetype libjpeg zlib libtiff libwebp tcl lcms2 tk;
     inherit (pkgs.xorg) libX11;