about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--nixos/tests/sbt-extras.nix16
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix31
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix26
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix10
-rw-r--r--pkgs/applications/office/zotero/default.nix62
-rw-r--r--pkgs/applications/science/math/calc/default.nix4
-rw-r--r--pkgs/development/interpreters/octave/default.nix4
-rw-r--r--pkgs/development/python-modules/identify/default.nix6
-rw-r--r--pkgs/development/python-modules/json-rpc/default.nix24
-rw-r--r--pkgs/development/python-modules/keep/default.nix4
-rw-r--r--pkgs/development/python-modules/shapely/default.nix9
-rw-r--r--pkgs/development/python-modules/xmpppy/default.nix26
-rw-r--r--pkgs/development/python-modules/xmpppy/ssl.patch25
-rw-r--r--pkgs/development/tools/build-managers/sbt-extras/default.nix87
-rw-r--r--pkgs/development/tools/dockle/default.nix16
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix14
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/generic.nix2
-rw-r--r--pkgs/games/mindustry/default.nix8
-rw-r--r--pkgs/games/stockfish/default.nix3
-rw-r--r--pkgs/servers/gemini/agate/default.nix14
-rw-r--r--pkgs/servers/mastodon/default.nix1
-rw-r--r--pkgs/servers/xmpp/pyIRCt/default.nix41
-rw-r--r--pkgs/servers/xmpp/pyMAILt/default.nix39
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/top-level/aliases.nix3
-rw-r--r--pkgs/top-level/all-packages.nix22
-rw-r--r--pkgs/top-level/python-packages.nix4
29 files changed, 234 insertions, 280 deletions
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 89e2ee2722847..b0561c36fe4a3 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -345,7 +345,6 @@ in
   samba-wsdd = handleTest ./samba-wsdd.nix {};
   sanoid = handleTest ./sanoid.nix {};
   sbt = handleTest ./sbt.nix {};
-  sbt-extras = handleTest ./sbt-extras.nix {};
   sddm = handleTest ./sddm.nix {};
   searx = handleTest ./searx.nix {};
   service-runner = handleTest ./service-runner.nix {};
diff --git a/nixos/tests/sbt-extras.nix b/nixos/tests/sbt-extras.nix
deleted file mode 100644
index f1672bf20665c..0000000000000
--- a/nixos/tests/sbt-extras.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-import ./make-test-python.nix ({ pkgs, ...} : {
-  name = "sbt-extras";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ nequissimus ];
-  };
-
-  machine = { pkgs, ... }:
-    {
-      environment.systemPackages = [ pkgs.sbt-extras ];
-    };
-
-  testScript =
-    ''
-      machine.succeed("(sbt -h)")
-    '';
-})
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index afbf5b364ed4f..2f0a58b8e4253 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -1,5 +1,20 @@
-{ lib, stdenv, fetchurl, fetchsvn, makeWrapper, makeDesktopItem, jdk, jre, ant
-, gtk3, gsettings-desktop-schemas, p7zip, libXxf86vm }:
+{ lib
+, stdenv
+, fetchurl
+, fetchsvn
+, makeWrapper
+, makeDesktopItem
+# sweethome3d 6.4.2 does not yet build with jdk 9 and later.
+# this is fixed on trunk (7699?) but let's build with jdk8 until then.
+, jdk8
+# it can run on the latest stable jre fine though
+, jre
+, ant
+, gtk3
+, gsettings-desktop-schemas
+, p7zip
+, libXxf86vm
+}:
 
 let
 
@@ -27,23 +42,29 @@ let
       categories = "Graphics;2DGraphics;3DGraphics;";
     };
 
-    patchPhase = ''
+    postPatch = ''
       patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_awt.so
       patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_x11.so
       patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_awt.so
       patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_x11.so
     '';
 
-    buildInputs = [ ant jdk makeWrapper p7zip gtk3 gsettings-desktop-schemas ];
+    buildInputs = [ ant jdk8 makeWrapper p7zip gtk3 gsettings-desktop-schemas ];
 
     buildPhase = ''
+      runHook preBuild
+
       ant furniture textures help
       mkdir -p $out/share/{java,applications}
       mv "build/"*.jar $out/share/java/.
       ant
+
+      runHook postBuild
     '';
 
     installPhase = ''
+      runHook preInstall
+
       mkdir -p $out/bin
       cp install/${module}-${version}.jar $out/share/java/.
 
@@ -59,6 +80,8 @@ let
         --set MESA_GL_VERSION_OVERRIDE 2.1 \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
         --add-flags "-Dsun.java2d.opengl=true -jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}"
+
+      runHook postInstall
     '';
 
     dontStrip = true;
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
index 08bc5b90fd9ca..a008b49ba7183 100644
--- a/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -1,5 +1,17 @@
-{ lib, stdenv, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant
-, gtk3, gsettings-desktop-schemas, sweethome3dApp }:
+{ lib
+, stdenv
+, fetchcvs
+, makeWrapper
+, makeDesktopItem
+# sweethome3d 6.4.2 does not yet build with jdk 9 and later.
+# this is fixed on trunk (7699?) but let's build with jdk8 until then.
+, jdk8
+# it can run on the latest stable jre fine though
+, jre
+, ant
+, gtk3
+, gsettings-desktop-schemas
+, sweethome3dApp }:
 
 let
 
@@ -23,15 +35,19 @@ let
       categories = "Graphics;2DGraphics;3DGraphics;";
     };
 
-    buildInputs = [ ant jre jdk makeWrapper gtk3 gsettings-desktop-schemas ];
+    buildInputs = [ ant jdk8 makeWrapper gtk3 gsettings-desktop-schemas ];
 
-    patchPhase = ''
+    postPatch = ''
       sed -i -e 's,../SweetHome3D,${application.src},g' build.xml
       sed -i -e 's,lib/macosx/java3d-1.6/jogl-all.jar,lib/java3d-1.6/jogl-all.jar,g' build.xml
     '';
 
     buildPhase = ''
-      ant -lib ${application.src}/libtest -lib ${application.src}/lib -lib ${jdk}/lib
+      runHook preBuild
+
+      ant -lib ${application.src}/libtest -lib ${application.src}/lib -lib ${jdk8}/lib
+
+      runHook postBuild
     '';
 
     installPhase = ''
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index d11461366b619..23f4dfe14c3b4 100644
--- a/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -15,10 +15,10 @@ buildGoModule rec {
     owner = "AkihiroSuda";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lSvYiTh67gK9kJls7VsayV8T3H6RzFEEKe49BOWnUBw=";
+    sha256 = "sha256-QhAN30ge0dbC9dGT1yP4o0VgrcS9+g+r6YJ07ZjPJtg=";
   };
 
-  vendorSha256 = "sha256-qywiaNoO3pI7sfyPbwWR8BLd86RvJ2xSWwCJUsm3RkM=";
+  vendorSha256 = "sha256-bX1GfKbAbdEAnW3kPNsbF/cJWufxvuhm//G88qJ3u08=";
 
   nativeBuildInputs = [ makeWrapper ];
 
@@ -30,6 +30,9 @@ buildGoModule rec {
     "-X github.com/AkihiroSuda/nerdctl/pkg/version.Revision=<unknown>"
   ];
 
+  # Many checks require a containerd socket and running nerdctl after it's built
+  doCheck = false;
+
   postInstall = ''
     wrapProgram $out/bin/nerdctl \
       --prefix PATH : "${lib.makeBinPath ([ buildkit ] ++ extraPackages)}" \
@@ -39,6 +42,9 @@ buildGoModule rec {
   doInstallCheck = true;
   installCheckPhase = ''
     runHook preInstallCheck
+    # nerdctl expects XDG_RUNTIME_DIR to be set
+    export XDG_RUNTIME_DIR=$TMPDIR
+
     $out/bin/nerdctl --help
     # --version will error without containerd.sock access
     $out/bin/nerdctl --help | grep "${version}"
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 739b003bbef6d..91673ed146aae 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -36,11 +36,11 @@
 
 stdenv.mkDerivation rec {
   pname = "zotero";
-  version = "5.0.89";
+  version = "5.0.95";
 
   src = fetchurl {
     url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
-    sha256 = "18p4qnnfx9f2frk7f2nk1d7jr4cjzg9z7lfzrk7vq11qgbjdpqbl";
+    sha256 = "16rahl14clgnl7gzpw7rxx23yxbw1nbrz219q051zkjkkw5ai8lv";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
@@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
       stdenv.cc.cc
     ];
 
-  patchPhase = ''
+  postPatch = ''
     sed -i '/pref("app.update.enabled", true);/c\pref("app.update.enabled", false);' defaults/preferences/prefs.js
   '';
 
@@ -103,33 +103,36 @@ stdenv.mkDerivation rec {
     mimeType = "text/plain";
   };
 
-  installPhase =
-  ''
-     mkdir -p "$prefix/usr/lib/zotero-bin-${version}"
-     cp -r * "$prefix/usr/lib/zotero-bin-${version}"
-     mkdir -p "$out/bin"
-     ln -s "$prefix/usr/lib/zotero-bin-${version}/zotero" "$out/bin/"
+  installPhase = ''
+    runHook preInstall
 
-     # install desktop file and icons.
-     mkdir -p $out/share/applications
-     cp ${desktopItem}/share/applications/* $out/share/applications/
-     for size in 16 32 48 256; do
-       install -Dm444 chrome/icons/default/default$size.png \
-         $out/share/icons/hicolor/''${size}x''${size}/apps/zotero.png
-     done
+    mkdir -p "$prefix/usr/lib/zotero-bin-${version}"
+    cp -r * "$prefix/usr/lib/zotero-bin-${version}"
+    mkdir -p "$out/bin"
+    ln -s "$prefix/usr/lib/zotero-bin-${version}/zotero" "$out/bin/"
 
-     for executable in \
-       zotero-bin plugin-container \
-       updater minidump-analyzer
-     do
-       if [ -e "$out/usr/lib/zotero-bin-${version}/$executable" ]; then
-         patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-           "$out/usr/lib/zotero-bin-${version}/$executable"
-       fi
-     done
-     find . -executable -type f -exec \
-       patchelf --set-rpath "$libPath" \
-         "$out/usr/lib/zotero-bin-${version}/{}" \;
+    # install desktop file and icons.
+    mkdir -p $out/share/applications
+    cp ${desktopItem}/share/applications/* $out/share/applications/
+    for size in 16 32 48 256; do
+      install -Dm444 chrome/icons/default/default$size.png \
+        $out/share/icons/hicolor/''${size}x''${size}/apps/zotero.png
+    done
+
+    for executable in \
+      zotero-bin plugin-container \
+      updater minidump-analyzer
+    do
+      if [ -e "$out/usr/lib/zotero-bin-${version}/$executable" ]; then
+        patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          "$out/usr/lib/zotero-bin-${version}/$executable"
+      fi
+    done
+    find . -executable -type f -exec \
+      patchelf --set-rpath "$libPath" \
+        "$out/usr/lib/zotero-bin-${version}/{}" \;
+
+    runHook postInstall
   '';
 
   preFixup = ''
@@ -141,7 +144,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.zotero.org";
     description = "Collect, organize, cite, and share your research sources";
-    license = licenses.agpl3;
+    license = licenses.agpl3Only;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ i077 ];
   };
 }
diff --git a/pkgs/applications/science/math/calc/default.nix b/pkgs/applications/science/math/calc/default.nix
index 086f23d528a79..db6cf2600c360 100644
--- a/pkgs/applications/science/math/calc/default.nix
+++ b/pkgs/applications/science/math/calc/default.nix
@@ -41,7 +41,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "C-style arbitrary precision calculator";
     homepage = "http://www.isthe.com/chongo/tech/comp/calc/";
-    license = licenses.lgpl21Only;
+    # The licensing situation depends on readline (see section 3 of the LGPL)
+    # If linked against readline then GPLv2 otherwise LGPLv2.1
+    license = with licenses; if enableReadline then gpl2Only else lgpl21Only;
     maintainers = with maintainers; [ matthewbauer ];
     platforms = platforms.all;
   };
diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index 6ad25d24eae67..72f3dd552de6d 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -95,12 +95,12 @@ let
     null
   ;
 in mkDerivation rec {
-  version = "6.1.0";
+  version = "6.2.0";
   pname = "octave";
 
   src = fetchurl {
     url = "mirror://gnu/octave/${pname}-${version}.tar.gz";
-    sha256 = "0mqa1g3fq0q45mqc0didr8vl6bk7jzj6gjsf1522qqjq2r04xwvg";
+    sha256 = "sha256-RX0f2oY0qDni/Xz8VbmL1W82tq5z0xu530Pd4wEsqnw=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix
index f3b8393a2759b..110c28ee2f406 100644
--- a/pkgs/development/python-modules/identify/default.nix
+++ b/pkgs/development/python-modules/identify/default.nix
@@ -2,13 +2,15 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "1.5.13";
+  version = "1.5.14";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "70b638cf4743f33042bebb3b51e25261a0a10e80f978739f17e7fd4837664a66";
+    sha256 = "de7129142a5c86d75a52b96f394d94d96d497881d2aaf8eafe320cdbe8ac4bcc";
   };
 
+  pythonImportsCheck = [ "identify" ];
+
   # Tests not included in PyPI tarball
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/json-rpc/default.nix b/pkgs/development/python-modules/json-rpc/default.nix
new file mode 100644
index 0000000000000..e475c3117df30
--- /dev/null
+++ b/pkgs/development/python-modules/json-rpc/default.nix
@@ -0,0 +1,24 @@
+{ lib, isPy27, buildPythonPackage, fetchPypi, pytestCheckHook, mock }:
+
+let
+  pythonEnv = lib.optional isPy27 mock;
+in buildPythonPackage rec {
+  pname = "json-rpc";
+  version = "1.13.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "12bmblnznk174hqg2irggx4hd3cq1nczbwkpsqqzr13hbg7xpw6y";
+  };
+
+  checkInputs = pythonEnv ++ [ pytestCheckHook ];
+
+  nativeBuildInputs = pythonEnv;
+
+  meta = with lib; {
+    description = "JSON-RPC 1/2 transport implementation";
+    homepage = "https://github.com/pavlov99/json-rpc";
+    license = licenses.mit;
+    maintainers = with maintainers; [ oxzi ];
+  };
+}
diff --git a/pkgs/development/python-modules/keep/default.nix b/pkgs/development/python-modules/keep/default.nix
index 5a70dcb4676d4..8b9823b6f031d 100644
--- a/pkgs/development/python-modules/keep/default.nix
+++ b/pkgs/development/python-modules/keep/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "keep";
-  version = "2.10";
+  version = "2.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ce71d14110df197ab5afdbd26a14c0bd266b79671118ae1351835fa192e61d9b";
+    sha256 = "3abbe445347711cecd9cbb80dab4a0777418972fc14a14e9387d0d2ae4b6adb7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/shapely/default.nix b/pkgs/development/python-modules/shapely/default.nix
index b5dd0be5445c5..b5875818b952c 100644
--- a/pkgs/development/python-modules/shapely/default.nix
+++ b/pkgs/development/python-modules/shapely/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, substituteAll, pythonOlder
+{ lib, stdenv, buildPythonPackage, fetchPypi, fetchpatch, substituteAll, pythonOlder
 , geos, pytest, cython
 , numpy
 }:
@@ -31,7 +31,12 @@ buildPythonPackage rec {
       libgeos_c = GEOS_LIBRARY_PATH;
       libc = lib.optionalString (!stdenv.isDarwin) "${stdenv.cc.libc}/lib/libc${stdenv.hostPlatform.extensions.sharedLibrary}.6";
     })
-  ];
+   # included in next release.
+   (fetchpatch {
+     url = "https://github.com/Toblerity/Shapely/commit/ea5b05a0c87235d3d8f09930ad47c396a76c8b0c.patch";
+     sha256 = "sha256-egdydlV+tpXosSQwQFHaXaeBhXEHAs+mn7vLUDpvybA=";
+   })
+ ];
 
   # Disable the tests that improperly try to use the built extensions
   checkPhase = ''
diff --git a/pkgs/development/python-modules/xmpppy/default.nix b/pkgs/development/python-modules/xmpppy/default.nix
deleted file mode 100644
index 65e2b3711fa04..0000000000000
--- a/pkgs/development/python-modules/xmpppy/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, buildPythonPackage, fetchurl, isPy3k }:
-buildPythonPackage rec {
-  pname = "xmpp.py";
-  version = "0.5.0rc1";
-
-  patches = [ ./ssl.patch ];
-
-  src = fetchurl {
-    url = "mirror://sourceforge/xmpppy/xmpppy-${version}.tar.gz";
-    sha256 = "16hbh8kwc5n4qw2rz1mrs8q17rh1zq9cdl05b1nc404n7idh56si";
-  };
-
-  preInstall = ''
-    mkdir -p $out/bin $out/lib $out/share $(toPythonPath $out)
-    export PYTHONPATH=$PYTHONPATH:$(toPythonPath $out)
-  '';
-
-  disabled = isPy3k;
-
-  meta = with lib; {
-    description = "XMPP python library";
-    homepage = "http://xmpppy.sourceforge.net/";
-    license = licenses.gpl3;
-    maintainers = [ maintainers.mic92 ];
-  };
-}
diff --git a/pkgs/development/python-modules/xmpppy/ssl.patch b/pkgs/development/python-modules/xmpppy/ssl.patch
deleted file mode 100644
index 915602dc23e5c..0000000000000
--- a/pkgs/development/python-modules/xmpppy/ssl.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -wbBur xmpppy-0.5.0rc1/xmpp/transports.py xmpppy-0.5.0rc1.q/xmpp/transports.py
---- xmpppy-0.5.0rc1/xmpp/transports.py	2009-04-07 12:34:09.000000000 +0400
-+++ xmpppy-0.5.0rc1.q/xmpp/transports.py	2015-05-08 13:06:03.049252065 +0300
-@@ -27,7 +27,7 @@
- Also exception 'error' is defined to allow capture of this module specific exceptions.
- """
- 
--import socket,select,base64,dispatcher,sys
-+import socket,ssl,select,base64,dispatcher,sys
- from simplexml import ustr
- from client import PlugIn
- from protocol import *
-@@ -312,9 +312,9 @@
-         """ Immidiatedly switch socket to TLS mode. Used internally."""
-         """ Here we should switch pending_data to hint mode."""
-         tcpsock=self._owner.Connection
--        tcpsock._sslObj    = socket.ssl(tcpsock._sock, None, None)
--        tcpsock._sslIssuer = tcpsock._sslObj.issuer()
--        tcpsock._sslServer = tcpsock._sslObj.server()
-+        tcpsock._sslObj    = ssl.wrap_socket(tcpsock._sock, None, None)
-+        tcpsock._sslIssuer = tcpsock._sslObj.getpeercert().get('issuer')
-+        tcpsock._sslServer = tcpsock._sslObj.getpeercert().get('server')
-         tcpsock._recv = tcpsock._sslObj.read
-         tcpsock._send = tcpsock._sslObj.write
- 
diff --git a/pkgs/development/tools/build-managers/sbt-extras/default.nix b/pkgs/development/tools/build-managers/sbt-extras/default.nix
index efc6523cd986f..06bf2c54678c2 100644
--- a/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -1,6 +1,20 @@
-{ lib, stdenv, fetchFromGitHub, which, curl, makeWrapper, jdk, writeScript
-, common-updater-scripts, cacert, git, nixfmt, nix, jq, coreutils, gnused
-, nixosTests }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, which
+, curl
+, makeWrapper
+, jdk
+, writeScript
+, common-updater-scripts
+, cacert
+, git
+, nixfmt
+, nix
+, jq
+, coreutils
+, gnused
+}:
 
 stdenv.mkDerivation rec {
   pname = "sbt-extras";
@@ -28,41 +42,40 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/sbt --prefix PATH : ${lib.makeBinPath [ which curl ]}
   '';
 
-  passthru = {
-    tests = { inherit (nixosTests) sbt-extras; };
-
-    updateScript = writeScript "update.sh" ''
-      #!${stdenv.shell}
-      set -xo errexit
-      PATH=${
-        lib.makeBinPath [
-          common-updater-scripts
-          curl
-          cacert
-          git
-          nixfmt
-          nix
-          jq
-          coreutils
-          gnused
-        ]
-      }
-
-      oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')"
-      latestSha="$(curl -L -s https://api.github.com/repos/paulp/sbt-extras/commits\?sha\=master\&since\=$oldVersion | jq -r '.[0].sha')"
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/sbt -h >/dev/null
+  '';
 
-      if [ ! "null" = "$latestSha" ]; then
-        nixpkgs="$(git rev-parse --show-toplevel)"
-        default_nix="$nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix"
-        latestDate="$(curl -L -s https://api.github.com/repos/paulp/sbt-extras/commits/$latestSha | jq '.commit.committer.date' | sed 's|"\(.*\)T.*|\1|g')"
-        update-source-version ${pname} "$latestSha" --version-key=rev
-        update-source-version ${pname} "$latestDate" --ignore-same-hash
-        nixfmt "$default_nix"
-      else
-        echo "${pname} is already up-to-date"
-      fi
-    '';
-  };
+  passthru.updateScript = writeScript "update.sh" ''
+     #!${stdenv.shell}
+     set -xo errexit
+     PATH=${
+       lib.makeBinPath [
+         common-updater-scripts
+         curl
+         cacert
+         git
+         nixfmt
+         nix
+         jq
+         coreutils
+         gnused
+       ]
+     }
+    oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')"
+     latestSha="$(curl -L -s https://api.github.com/repos/paulp/sbt-extras/commits\?sha\=master\&since\=$oldVersion | jq -r '.[0].sha')"
+    if [ ! "null" = "$latestSha" ]; then
+       nixpkgs="$(git rev-parse --show-toplevel)"
+       default_nix="$nixpkgs/pkgs/development/tools/build-managers/sbt-extras/default.nix"
+       latestDate="$(curl -L -s https://api.github.com/repos/paulp/sbt-extras/commits/$latestSha | jq '.commit.committer.date' | sed 's|"\(.*\)T.*|\1|g')"
+       update-source-version ${pname} "$latestSha" --version-key=rev
+       update-source-version ${pname} "$latestDate" --ignore-same-hash
+       nixfmt "$default_nix"
+     else
+       echo "${pname} is already up-to-date"
+     fi
+  '';
 
   meta = {
     description =
diff --git a/pkgs/development/tools/dockle/default.nix b/pkgs/development/tools/dockle/default.nix
index c20e2866dc7ec..d78b54b33e4fa 100644
--- a/pkgs/development/tools/dockle/default.nix
+++ b/pkgs/development/tools/dockle/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dockle";
-  version = "0.3.1";
+  version = "0.3.10";
 
   src = fetchFromGitHub {
     owner = "goodwithtech";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Zc2ZlyeWdRvyuJLDDTONfh0/q+HKR4lNtSFMjgJWrRY=";
+    sha256 = "sha256-oS3ZGQkDSRdVLluLNg56VGp6MCrRDlgjk1va1+xocas=";
   };
 
-  vendorSha256 = "sha256-4IJKXcnMXBqoEjsV4Xg2QYvKwxDDUjcZtrj9IRuT6i4=";
+  vendorSha256 = "sha256-npbUE3ch8TamW0aikdKuFElE4YDRKwNVUscuvmlQxl4=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ btrfs-progs lvm2 ];
@@ -25,7 +25,15 @@ buildGoModule rec {
 
   preCheck = ''
     # Remove tests that use networking
-    rm pkg/scanner/scan_test.go pkg/utils/fetch_test.go
+    rm pkg/scanner/scan_test.go
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/dockle --help
+    $out/bin/dockle --version | grep "dockle version ${version}"
+    runHook postInstallCheck
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index 2e973e9a0b062..49928b1a08b52 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.36.0";
+  version = "1.37.1";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "sha256-AObZI104q+kOvV3/6aAusl5PMro1nbNUasvmJ4mRGz8=";
+    sha256 = "sha256-x0VLNQeTVN9aPO06Yi1DTb8bTjq+9VemJaX1R+8s/Bg=";
   };
 
-  vendorSha256 = "sha256-jr8sYfonggAHqtq3A8YVuTqJu3/iIu0OgBEUWj6bq+A=";
+  vendorSha256 = "sha256-uduT4RL6p6/jdT8JeTx+FY9bz0P2eUSaFNDIzi7jcqg=";
 
   doCheck = false;
 
@@ -19,7 +19,9 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev} -X main.date=19700101-00:00:00" ];
+  preBuild = ''
+    buildFlagsArray+=("-ldflags=-s -w -X main.version=${version} -X main.commit=v${version} -X main.date=19700101-00:00:00")
+  '';
 
   postInstall = ''
     for shell in bash zsh; do
@@ -31,7 +33,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Fast linters Runner for Go";
     homepage = "https://golangci-lint.run/";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ anpryl manveru ];
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ anpryl manveru mic92 ];
   };
 }
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 4d6603d31d994..addcab582f6ea 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -2,10 +2,10 @@
 
 {
   rust-analyzer-unwrapped = callPackage ./generic.nix rec {
-    rev = "2021-02-15";
+    rev = "2021-02-22";
     version = "unstable-${rev}";
-    sha256 = "sha256-4Dgj2RQDe2FoOSXjL7oaHg8WlYX1vnc66LzzbXvTmjM=";
-    cargoSha256 = "sha256-c6kr2PWSG3Sns6/O1zOVUFdkLWHAXcQ8LMeensCEuSk=";
+    sha256 = "sha256-QiVSwpTTOqR2WEm0nXyLLavlF2DnY9GY93HtpgHt2uI=";
+    cargoSha256 = "sha256-934ApOv/PJzkLc/LChckb/ZXKrh4kU556Bo/Zck+q8g=";
   };
 
   rust-analyzer = callPackage ./wrapper.nix {} {
diff --git a/pkgs/development/tools/rust/rust-analyzer/generic.nix b/pkgs/development/tools/rust/rust-analyzer/generic.nix
index 10f0c6b26ad75..0ce33f0f23361 100644
--- a/pkgs/development/tools/rust/rust-analyzer/generic.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/generic.nix
@@ -41,6 +41,8 @@ rustPlatform.buildRustPackage {
     runHook postInstallCheck
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "An experimental modular compiler frontend for the Rust language";
     homepage = "https://github.com/rust-analyzer/rust-analyzer";
diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix
index 6f3cdab9ab45c..df645171a7f8e 100644
--- a/pkgs/games/mindustry/default.nix
+++ b/pkgs/games/mindustry/default.nix
@@ -29,20 +29,20 @@ let
   # Note: when raising the version, ensure that all SNAPSHOT versions in
   # build.gradle are replaced by a fixed version
   # (the current one at the time of release) (see postPatch).
-  version = "124.1";
+  version = "125.1";
   buildVersion = makeBuildVersion version;
 
   Mindustry = fetchFromGitHub {
     owner = "Anuken";
     repo = "Mindustry";
     rev = "v${version}";
-    sha256 = "1k4k559y8l6wmj9m4980f7xmaaxzx84x86rqc77j4nd3y3x53546";
+    sha256 = "0p05ndxhl3zgwm4k9cbqclp995kvcjxxhmbkmpjvv7cphiw82hvw";
   };
   Arc = fetchFromGitHub {
     owner = "Anuken";
     repo = "Arc";
     rev = "v${version}";
-    sha256 = "08v929sgxy1pclzc00p7l7fak2h9l306447w5k5db3719kacj059";
+    sha256 = "1injdyxwgc9dn49zvr4qggsfrsslkvh5d53z3yv28ayx48qpsgxk";
   };
   soloud = fetchFromGitHub {
     owner = "Anuken";
@@ -114,7 +114,7 @@ let
     '';
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "18yfchv55f0fza6gdxd3f6gm0m4wy2a9jkw5wgl84id518jal6la";
+    outputHash = "0dk4w8h0kg0mgbn0ifmk29rw8aj917k3nf27qdf1lyr6wl8k7f8k";
   };
 
 in
diff --git a/pkgs/games/stockfish/default.nix b/pkgs/games/stockfish/default.nix
index 71c482fe76608..ef9c7fbe4d642 100644
--- a/pkgs/games/stockfish/default.nix
+++ b/pkgs/games/stockfish/default.nix
@@ -10,6 +10,7 @@ let
     arch = if stdenv.isDarwin then archDarwin else
            if stdenv.isx86_64 then "x86-64" else
            if stdenv.isi686 then "x86-32" else
+           if stdenv.isAarch64 then "armv8" else
            "unknown";
     version = "12";
 
@@ -55,7 +56,7 @@ stdenv.mkDerivation {
       much stronger than the best human chess grandmasters.
       '';
     maintainers = with maintainers; [ luispedro peti ];
-    platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
+    platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux"];
     license = licenses.gpl2;
   };
 
diff --git a/pkgs/servers/gemini/agate/default.nix b/pkgs/servers/gemini/agate/default.nix
index be3012740f545..9890f4ac06c6d 100644
--- a/pkgs/servers/gemini/agate/default.nix
+++ b/pkgs/servers/gemini/agate/default.nix
@@ -1,23 +1,23 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, installShellFiles, Security }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "agate";
-  version = "2.5.0";
+  version = "2.5.2";
 
   src = fetchFromGitHub {
     owner = "mbrubeck";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mnatEvojma1+cOVllTAzDVxl5luRGleLE6GNPnQUNWQ=";
+    sha256 = "sha256-IapgDqRZ7VMWerusWcv++Ky4yWgGLMaq8rFhbPshFjE=";
   };
 
-  cargoSha256 = "sha256-B07itUftDj3yVMDc/2VetwYs74fZBa1tmeELbbQ39P0=";
+  cargoSha256 = "sha256-+Ch6nEGxYm2L4S9FkIkenDQovMZvQUJGOu5mR9T8r/Y=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
   meta = with lib; {
-    homepage = "https://proxy.vulpes.one/gemini/gem.limpet.net/agate";
-    changelog = "https://proxy.vulpes.one/gemini/gem.limpet.net/agate";
+    homepage = "https://proxy.vulpes.one/gemini/qwertqwefsday.eu/agate.gmi";
+    changelog = "https://proxy.vulpes.one/gemini/qwertqwefsday.eu/agate.gmi";
     description = "Very simple server for the Gemini hypertext protocol";
     longDescription = ''
       Agate is a server for the Gemini network protocol, built with the Rust
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
       static files. It uses async I/O, and should be quite efficient even when
       running on low-end hardware and serving many concurrent requests.
     '';
-    license = licenses.asl20;
+    license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ jk ];
   };
 }
diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix
index b8582f68ebc57..1abedead87d89 100644
--- a/pkgs/servers/mastodon/default.nix
+++ b/pkgs/servers/mastodon/default.nix
@@ -64,6 +64,7 @@ stdenv.mkDerivation rec {
       fi
       chmod -R u+w node_modules
       rake webpacker:compile
+      rails assets:precompile
     '';
 
     installPhase = ''
diff --git a/pkgs/servers/xmpp/pyIRCt/default.nix b/pkgs/servers/xmpp/pyIRCt/default.nix
deleted file mode 100644
index ebb817f1645ce..0000000000000
--- a/pkgs/servers/xmpp/pyIRCt/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, fetchurl, xmpppy, pythonIRClib, python, pythonPackages, runtimeShell } :
-
-stdenv.mkDerivation rec {
-  pname = "pyIRCt";
-  version = "0.4";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/xmpppy/irc-transport-${version}.tar.gz";
-    sha256 = "0gbc0dvj1p3088b6x315yjrlwnc5vvzp0var36wlf9z60ghvk8yb";
-  };
-
-  buildInputs = [ pythonPackages.wrapPython ];
-
-  pythonPath = [
-    xmpppy pythonIRClib
-  ];
-
-  # phaseNames = ["deploy" (a.makeManyWrappers "$out/share/${name}/irc.py" a.pythonWrapperArguments)];
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/${pname}-${version}
-    sed -e 's@/usr/bin/@${python}/bin/@' -i irc.py
-    sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.pyIRCt.xml"]' -i config.py
-    sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.python-irc-transport.xml"]' -i config.py
-    sed -e '/configFiles/iimport os' -i config.py
-    cp * $out/share/${pname}-${version}
-    cat > $out/bin/pyIRCt <<EOF
-      #!${runtimeShell}
-      cd $out/share/${pname}-${version}
-      ./irc.py \"$@\"
-    EOF
-    chmod a+rx  $out/bin/pyIRCt $out/share/${pname}-${version}/irc.py
-    wrapPythonPrograms
-  '';
-
-  meta = with lib; {
-    description = "IRC transport module for XMPP";
-    platforms = platforms.unix;
-    license = licenses.gpl2;
-  };
-}
diff --git a/pkgs/servers/xmpp/pyMAILt/default.nix b/pkgs/servers/xmpp/pyMAILt/default.nix
deleted file mode 100644
index 03ded7a5d5cde..0000000000000
--- a/pkgs/servers/xmpp/pyMAILt/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib, stdenv, python, xmpppy, pythonPackages, fetchcvs, runtimeShell } :
-
-stdenv.mkDerivation rec {
-  pname = "pyMAILt";
-  version = "20090101";
-
-  src = fetchcvs {
-    cvsRoot = ":pserver:anonymous@xmpppy.cvs.sourceforge.net:/cvsroot/xmpppy";
-    module = "xmpppy/mail-transport";
-    date = "2009-01-01";
-    sha256 = "15301252e52b4ccb2156baefed8982a2a0cce3ae8eae3caf3cc28dfa615c8d6e";
-  };
-
-  pythonPath = [ xmpppy ];
-  buildInputs = [ pythonPackages.wrapPython ];
-
-  installPhase = ''
-    cd mail-transport
-    mkdir -p $out/bin $out/share/${pname}-${version}
-    sed -e 's@/usr/bin/@${python}/bin/@' -i mail.py
-    sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.pyMAILt.xml"]' -i config.py
-    sed -e '/configFiles/aconfigFiles += [os.getenv("HOME")+"/.python-mail-transport.xml"]' -i config.py
-    sed -e '/configFiles/iimport os' -i config.py
-    cp * $out/share/$name
-    cat > $out/bin/pyMAILt <<EOF
-      #!${runtimeShell}
-      cd $out/share/${pname}-${version}
-      ./mail.py \"$@\"
-    EOF
-    chmod a+rx  $out/bin/pyMAILt $out/share/${pname}-${version}/mail.py
-    wrapPythonPrograms
-  '';
-
-  meta = with lib; {
-    description = "Email transport module for XMPP";
-    platforms = platforms.unix;
-    license = licenses.gpl2;
-  };
-}
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index e957457c8c3b4..c7d5ba0e7734a 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -5,15 +5,15 @@
 , git, nix, nixfmt, jq, coreutils, gnused, curl, cacert }:
 
 stdenv.mkDerivation rec {
-  version = "2021-02-09";
+  version = "2021-02-21";
   pname = "oh-my-zsh";
-  rev = "f21e646ce6c09198f7f625c597f08af49551fdb0";
+  rev = "9a9f3831925432fdf4352c24a002506a06d329c1";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "ohmyzsh";
     repo = "ohmyzsh";
-    sha256 = "14m932zbzdbwyfqkn882jarpw4dbmxkfna5pakd4n5b123drjz46";
+    sha256 = "befalsEX/o5WwVn0bzDnMVhlZawmpGV4AGzvxl7UHLI=";
   };
 
   installPhase = ''
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index a9a13aaa6b1fd..812f5cf49b44b 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -769,6 +769,9 @@ mapAliases ({
   xbmcPlain = kodiPlain; # added 2018-04-25
   xbmcPlugins = kodiPlugins; # added 2018-04-25
   xmonad_log_applet_gnome3 = xmonad_log_applet; # added 2018-05-01
+  xmpppy = throw "xmpppy has been removed from nixpkgs as it is unmaintained and python2-only";
+  pyIRCt = throw "pyIRCt has been removed from nixpkgs as it is unmaintained and python2-only";
+  pyMAILt = throw "pyMAILt has been removed from nixpkgs as it is unmaintained and python2-only";
   xf86_video_nouveau = xorg.xf86videonouveau; # added 2015-09
   xf86_input_mtrack = throw ("xf86_input_mtrack has been removed from nixpkgs as it hasn't been maintained"
     + "and is broken. Working alternatives are libinput and synaptics.");
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 6dd2f6c42ac5c..22feb341605d0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9214,8 +9214,6 @@ in
     w3m = w3m-batch;
   };
 
-  xmpppy = pythonPackages.xmpppy;
-
   xiccd = callPackage ../tools/misc/xiccd { };
 
   xidlehook = callPackage ../tools/X11/xidlehook {
@@ -18453,10 +18451,6 @@ in
 
   pure-ftpd = callPackage ../servers/ftp/pure-ftpd { };
 
-  pyIRCt = callPackage ../servers/xmpp/pyIRCt {};
-
-  pyMAILt = callPackage ../servers/xmpp/pyMAILt {};
-
   pypolicyd-spf = python3.pkgs.callPackage ../servers/mail/pypolicyd-spf { };
 
   qpid-cpp = callPackage ../servers/amqp/qpid-cpp {
@@ -24988,16 +24982,12 @@ in
 
   linuxstopmotion = libsForQt5.callPackage ../applications/video/linuxstopmotion { };
 
-  sweethome3d = recurseIntoAttrs (  (callPackage ../applications/misc/sweethome3d {
-    jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-    jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-  })
-                                 // (callPackage ../applications/misc/sweethome3d/editors.nix {
-                                      jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-                                      jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-                                      sweethome3dApp = sweethome3d.application;
-                                    })
-                                 );
+  sweethome3d = recurseIntoAttrs (
+    (callPackage ../applications/misc/sweethome3d { }) //
+    (callPackage ../applications/misc/sweethome3d/editors.nix {
+      sweethome3dApp = sweethome3d.application;
+    })
+  );
 
   swingsane = callPackage ../applications/graphics/swingsane { };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index f9034877ecb96..4ae605e1d3df4 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -3399,6 +3399,8 @@ in {
 
   jsonref = callPackage ../development/python-modules/jsonref { };
 
+  json-rpc = callPackage ../development/python-modules/json-rpc { };
+
   jsonrpc-async = callPackage ../development/python-modules/jsonrpc-async { };
 
   jsonrpc-base = callPackage ../development/python-modules/jsonrpc-base { };
@@ -8512,8 +8514,6 @@ in {
 
   xmodem = callPackage ../development/python-modules/xmodem { };
 
-  xmpppy = callPackage ../development/python-modules/xmpppy { };
-
   xnd = callPackage ../development/python-modules/xnd { };
 
   xpybutil = callPackage ../development/python-modules/xpybutil { };