summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/languages-frameworks/python.section.md19
-rw-r--r--nixos/doc/manual/Makefile2
-rw-r--r--nixos/doc/manual/development/writing-documentation.xml3
-rw-r--r--nixos/modules/services/networking/wireguard.nix2
-rw-r--r--pkgs/applications/audio/openmpt123/default.nix4
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-notify-send/default.nix2
-rw-r--r--pkgs/applications/networking/pyload/beautifulsoup.nix20
-rw-r--r--pkgs/applications/networking/pyload/default.nix60
-rw-r--r--pkgs/applications/office/gnumeric/default.nix4
-rw-r--r--pkgs/applications/version-management/gitea/default.nix36
-rw-r--r--pkgs/development/interpreters/joker/default.nix6
-rw-r--r--pkgs/development/interpreters/spidermonkey/38.nix72
-rw-r--r--pkgs/development/libraries/udunits/default.nix41
-rw-r--r--pkgs/development/python-modules/android-backup/default.nix37
-rw-r--r--pkgs/development/python-modules/azure-eventgrid/default.nix4
-rw-r--r--pkgs/development/python-modules/croniter/default.nix12
-rw-r--r--pkgs/development/python-modules/databricks-connect/default.nix4
-rw-r--r--pkgs/development/python-modules/mautrix/default.nix6
-rw-r--r--pkgs/development/python-modules/python-miio/default.nix66
-rw-r--r--pkgs/development/python-modules/sasmodels/default.nix20
-rw-r--r--pkgs/development/python-modules/xdis/default.nix7
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/default.nix6
-rw-r--r--pkgs/tools/misc/github-backup/default.nix30
-rw-r--r--pkgs/tools/misc/plowshare/default.nix4
-rw-r--r--pkgs/tools/misc/starship/default.nix6
-rw-r--r--pkgs/tools/security/sipvicious/default.nix27
-rw-r--r--pkgs/tools/text/jsawk/default.nix4
-rw-r--r--pkgs/top-level/aliases.nix2
-rw-r--r--pkgs/top-level/all-packages.nix11
-rw-r--r--pkgs/top-level/python-packages.nix2
30 files changed, 264 insertions, 255 deletions
diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md
index c0f1342a94f..e13101ed309 100644
--- a/doc/languages-frameworks/python.section.md
+++ b/doc/languages-frameworks/python.section.md
@@ -639,7 +639,7 @@ are disabled.
 
 #### Using pythonImportsCheck
 
-Although unit tests are highly prefered to valid correctness of a package. Not
+Although unit tests are highly prefered to validate correctness of a package, not
 all packages have test suites that can be ran easily, and some have none at all.
 To help ensure the package still works, `pythonImportsCheck` can attempt to import
 the listed modules.
@@ -1569,13 +1569,11 @@ In a `setup.py` or `setup.cfg` it is common to declare dependencies:
 
 ### Contributing guidelines
 
-Following rules are desired to be respected:
+The following rules are desired to be respected:
 
 * Python libraries are called from `python-packages.nix` and packaged with
   `buildPythonPackage`. The expression of a library should be in
   `pkgs/development/python-modules/<name>/default.nix`.
-* Libraries in `pkgs/top-level/python-packages.nix` are sorted
-  alphanumerically to avoid merge conflicts and ease locating attributes.
 * Python applications live outside of `python-packages.nix` and are packaged
   with `buildPythonApplication`.
 * Make sure libraries build for all Python interpreters.
@@ -1585,8 +1583,11 @@ Following rules are desired to be respected:
   case, when you disable tests, leave a comment explaining why.
 * Commit names of Python libraries should reflect that they are Python
   libraries, so write for example `pythonPackages.numpy: 1.11 -> 1.12`.
-* Attribute names in `python-packages.nix` should be normalized according to
-  [PEP 0503](https://www.python.org/dev/peps/pep-0503/#normalized-names). This
-  means that characters should be converted to lowercase and `.` and `_` should
-  be replaced by a single `-` (foo-bar-baz instead of Foo__Bar.baz )
-* Attribute names in `python-packages.nix` should be sorted alphanumerically.
+* Attribute names in `python-packages.nix` as well as `pname`s should match the
+  library's name on PyPI, but be normalized according to [PEP
+  0503](https://www.python.org/dev/peps/pep-0503/#normalized-names). This means
+  that characters should be converted to lowercase and `.` and `_` should be
+  replaced by a single `-` (foo-bar-baz instead of Foo__Bar.baz).
+  If necessary, `pname` has to be given a different value within `fetchPypi`.
+* Attribute names in `python-packages.nix` should be sorted alphanumerically to
+  avoid merge conflicts and ease locating attributes.
diff --git a/nixos/doc/manual/Makefile b/nixos/doc/manual/Makefile
index b86a7600575..b2b6481b20c 100644
--- a/nixos/doc/manual/Makefile
+++ b/nixos/doc/manual/Makefile
@@ -1,5 +1,5 @@
 .PHONY: all
-all: manual-combined.xml format
+all: manual-combined.xml
 
 .PHONY: debug
 debug: generated manual-combined.xml
diff --git a/nixos/doc/manual/development/writing-documentation.xml b/nixos/doc/manual/development/writing-documentation.xml
index 32e00544cef..89fab666561 100644
--- a/nixos/doc/manual/development/writing-documentation.xml
+++ b/nixos/doc/manual/development/writing-documentation.xml
@@ -25,7 +25,8 @@
 
 <screen>
 <prompt>$ </prompt>cd /path/to/nixpkgs/nixos/doc/manual
-<prompt>$ </prompt>make
+<prompt>$ </prompt>nix-shell
+<prompt>nix-shell$ </prompt>make
 </screen>
 
   <para>
diff --git a/nixos/modules/services/networking/wireguard.nix b/nixos/modules/services/networking/wireguard.nix
index e07020349cf..9f76f7f7cd0 100644
--- a/nixos/modules/services/networking/wireguard.nix
+++ b/nixos/modules/services/networking/wireguard.nix
@@ -238,7 +238,7 @@ let
         wantedBy = [ "wireguard-${name}.service" ];
         requiredBy = [ "wireguard-${name}.service" ];
         before = [ "wireguard-${name}.service" ];
-        path = with pkgs; [ wireguard ];
+        path = with pkgs; [ wireguard-tools ];
 
         serviceConfig = {
           Type = "oneshot";
diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix
index 8e6113a716d..7f412d528db 100644
--- a/pkgs/applications/audio/openmpt123/default.nix
+++ b/pkgs/applications/audio/openmpt123/default.nix
@@ -2,14 +2,14 @@
 , usePulseAudio ? config.pulseaudio or false, libpulseaudio }:
 
 let
-  version = "0.5.5";
+  version = "0.5.6";
 in stdenv.mkDerivation {
   pname = "openmpt123";
   inherit version;
 
   src = fetchurl {
     url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
-    sha256 = "sha256-8eAUg+vxpoDZ7AMMmvIPXypawPHgZCwYvVWTz6qc62s=";
+    sha256 = "sha256-F96ngrM0wUb0rNlIx8Mf/dKvyJnrNH6+Ab4WBup59Lg=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-notify-send/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-notify-send/default.nix
index b55266e5f37..78f9fc082e3 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/weechat-notify-send/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-notify-send/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A WeeChat script that sends highlight and message notifications through notify-send";
-    homepage = "https://github.com/s3rvac/weechat-notify-srnd";
+    homepage = "https://github.com/s3rvac/weechat-notify-send";
     license = licenses.mit;
     maintainers = with maintainers; [ tobim ];
   };
diff --git a/pkgs/applications/networking/pyload/beautifulsoup.nix b/pkgs/applications/networking/pyload/beautifulsoup.nix
deleted file mode 100644
index 8eb0c2298fd..00000000000
--- a/pkgs/applications/networking/pyload/beautifulsoup.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ pythonPackages, isPy3k, pkgs }:
-
-pythonPackages.buildPythonPackage {
-  name = "beautifulsoup-3.2.1";
-  disabled = isPy3k;
-
-  src = pkgs.fetchurl {
-    url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.2.1.tar.gz";
-    sha256 = "1nshbcpdn0jpcj51x0spzjp519pkmqz0n0748j7dgpz70zlqbfpm";
-  };
-
-  # error: invalid command 'test'
-  doCheck = false;
-
-  meta = {
-    homepage = "http://www.crummy.com/software/BeautifulSoup/";
-    license = "bsd";
-    description = "Undemanding HTML/XML parser";
-  };
-}
diff --git a/pkgs/applications/networking/pyload/default.nix b/pkgs/applications/networking/pyload/default.nix
deleted file mode 100644
index f70359cf7ac..00000000000
--- a/pkgs/applications/networking/pyload/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ lib, fetchFromGitHub, fetchpatch, pythonPackages, gocr, unrar, rhino, spidermonkey_38 }:
-
-let
-  beautifulsoup = pythonPackages.callPackage ./beautifulsoup.nix {
-    inherit pythonPackages;
-  };
-
-in pythonPackages.buildPythonApplication rec {
-  version = "0.4.9-next";
-  name = "pyLoad-" + version;
-
-  src = fetchFromGitHub {
-    owner = "pyload";
-    repo = "pyload";
-    rev = "721ea9f089217b9cb0f2799c051116421faac081";
-    sha256 = "1ad4r9slx1wgvd2fs4plfbpzi4i2l2bk0lybzsb2ncgh59m87h54";
-  };
-
-  patches =
-    let
-      # gets merged in next release version of pyload
-      configParserPatch = fetchpatch {
-        url = "https://patch-diff.githubusercontent.com/raw/pyload/pyload/pull/2625.diff";
-        sha256 = "1bisgx78kcr5c0x0i3h0ch5mykns5wx5wx7gvjj0pc71lfzlxzb9";
-      };
-      setupPyPatch = fetchpatch {
-        url = "https://patch-diff.githubusercontent.com/raw/pyload/pyload/pull/2638.diff";
-        sha256 = "006g4qbl582262ariflbyfrszcx8ck2ac1cpry1f82f76p4cgf6z";
-      };
-    in [ configParserPatch setupPyPatch ];
-
-  buildInputs = [
-    unrar rhino spidermonkey_38 gocr pythonPackages.paver
-  ];
-
-  propagatedBuildInputs = with pythonPackages; [
-    pycurl jinja2 beaker thrift simplejson pycrypto feedparser tkinter
-    beautifulsoup send2trash
-  ];
-
-  #remove this once the PR patches above are merged. Needed because githubs diff endpoint
-  #does not support diff -N
-  prePatch = ''
-    touch module/config/__init__.py
-  '';
-
-  preBuild = ''
-    ${pythonPackages.paver}/bin/paver generate_setup
-  '';
-
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Free and open source downloader for 1-click-hosting sites";
-    homepage = "https://github.com/pyload/pyload";
-    license = licenses.gpl3;
-    maintainers = [ maintainers.mahe ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index f926391ac48..263a555ab4c 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -7,11 +7,11 @@ let
   inherit (python3Packages) python pygobject3;
 in stdenv.mkDerivation rec {
   pname = "gnumeric";
-  version = "1.12.48";
+  version = "1.12.49";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "14556b0vyxdvdwjlin0rv7jk0vq4nplbmvp9j89bhkfk84xf7k2p";
+    sha256 = "kcBy7JXDLgCxVv/oAVyTsyuO3zaPkEFDYZPPoy6E7Vc=";
   };
 
   configureFlags = [ "--disable-component" ];
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index cc36dc9ff52..64c98768fdd 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -1,5 +1,12 @@
-{ lib, buildGoPackage, fetchurl, makeWrapper
-, git, bash, gzip, openssh, pam
+{ lib
+, buildGoPackage
+, fetchurl
+, makeWrapper
+, git
+, bash
+, gzip
+, openssh
+, pam
 , sqliteSupport ? true
 , pamSupport ? true
 , nixosTests
@@ -9,11 +16,12 @@ with lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.13.5";
+  version = "1.13.6";
 
+  # not fetching directly from the git repo, because that lacks several vendor files for the web UI
   src = fetchurl {
     url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
-    sha256 = "08c5gp4qp65mnq4ggzfmyc7n3zcp0js86fz4nj5p249zs9vn1ypd";
+    sha256 = "1f0fsqcmmqygv0r796ddr2fjhh333i9nr0cqk9x2b2kbs1z264vf";
   };
 
   unpackPhase = ''
@@ -36,16 +44,18 @@ buildGoPackage rec {
 
   buildInputs = optional pamSupport pam;
 
-  preBuild = let
-    tags = optional pamSupport "pam"
+  preBuild =
+    let
+      tags = optional pamSupport "pam"
         ++ optional sqliteSupport "sqlite sqlite_unlock_notify";
-    tagsString = concatStringsSep " " tags;
-  in ''
-    export buildFlagsArray=(
-      -tags="${tagsString}"
-      -ldflags='-X "main.Version=${version}" -X "main.Tags=${tagsString}"'
-    )
-  '';
+      tagsString = concatStringsSep " " tags;
+    in
+    ''
+      export buildFlagsArray=(
+        -tags="${tagsString}"
+        -ldflags='-X "main.Version=${version}" -X "main.Tags=${tagsString}"'
+      )
+    '';
 
   outputs = [ "out" "data" ];
 
diff --git a/pkgs/development/interpreters/joker/default.nix b/pkgs/development/interpreters/joker/default.nix
index 004d2732f3a..a8e73339ee1 100644
--- a/pkgs/development/interpreters/joker/default.nix
+++ b/pkgs/development/interpreters/joker/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "joker";
-  version = "0.15.7";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "candid82";
     repo = "joker";
-    sha256 = "01mlizkflajad4759yl60ymibymrvanhc22jaffj50k9b77v97kq";
+    sha256 = "sha256-ckbKxWzcISo9yOXuwgOiSfR2hs+5od0Ru0Ku2I52Gu8=";
   };
 
-  vendorSha256 = "031ban30kx84r54fj9aq96pwkz9nqh4p9yzs4l8i1wqmy52rldvl";
+  vendorSha256 = "sha256-AYoespfzFLP/jIIxbw5K653wc7sSfLY8K7di8GZ64wA=";
 
   doCheck = false;
 
diff --git a/pkgs/development/interpreters/spidermonkey/38.nix b/pkgs/development/interpreters/spidermonkey/38.nix
deleted file mode 100644
index 482561a901e..00000000000
--- a/pkgs/development/interpreters/spidermonkey/38.nix
+++ /dev/null
@@ -1,72 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, gnused_422, perl, python2, zip, libffi, readline, icu, zlib, buildPackages
-, libobjc }:
-
-with lib;
-
-stdenv.mkDerivation rec {
-  version = "38.8.0";
-  pname = "spidermonkey";
-
-  src = fetchurl {
-    url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.bz2";
-    sha256 = "10lrync6cxnjlnadc0j3vg8r2dq9b3wwanw8qj1h6ncxwb7asxcl";
-  };
-
-  buildInputs = [ libffi readline icu zlib ]
-               ++ lib.optional stdenv.isDarwin libobjc;
-  nativeBuildInputs = [ pkg-config perl python2 zip gnused_422 ];
-
-  postUnpack = "sourceRoot=\${sourceRoot}/js/src";
-
-  preConfigure = ''
-    export CXXFLAGS="-fpermissive"
-    export LIBXUL_DIST=$out
-    export PYTHON="${buildPackages.python2.interpreter}"
-  '';
-
-  configureFlags = [
-    "--enable-threadsafe"
-    "--with-system-ffi"
-    "--enable-posix-nspr-emulation"
-    "--with-system-zlib"
-    "--with-system-icu"
-    "--enable-readline"
-
-    # enabling these because they're wanted by 0ad. They may or may
-    # not be good defaults for other uses.
-    "--enable-gcgenerational"
-    "--enable-shared-js"
-  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    # Spidermonkey seems to use different host/build terminology for cross
-    # compilation here.
-    "--host=${stdenv.buildPlatform.config}"
-    "--target=${stdenv.hostPlatform.config}"
-  ];
-
-  configurePlatforms = [];
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-
-  # This addresses some build system bug. It's quite likely to be safe
-  # to re-enable parallel builds if the source revision changes.
-  enableParallelBuilding = true;
-
-  postFixup = ''
-    # The headers are symlinks to a directory that doesn't get put
-    # into $out, so they end up broken. Fix that by just resolving the
-    # symlinks.
-    for i in $(find $out -type l); do
-      cp --remove-destination "$(readlink "$i")" "$i";
-    done
-  '';
-
-  meta = with lib; {
-    description = "Mozilla's JavaScript engine written in C/C++";
-    homepage = "https://developer.mozilla.org/en/SpiderMonkey";
-    # TODO: MPL/GPL/LGPL tri-license.
-
-    maintainers = [ maintainers.abbradar ];
-    platforms = platforms.unix;
-    knownVulnerabilities = [ "SpiderMonkey 38 is outdated and contains known security vulnerabilities." ]; # as per https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/38
-  };
-}
diff --git a/pkgs/development/libraries/udunits/default.nix b/pkgs/development/libraries/udunits/default.nix
index deed5b64d2c..b8ea203ef17 100644
--- a/pkgs/development/libraries/udunits/default.nix
+++ b/pkgs/development/libraries/udunits/default.nix
@@ -1,26 +1,49 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook,
-  texinfo, bison, flex, expat, file
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, bison
+, expat
+, file
+, flex
+, texinfo
 }:
 
 stdenv.mkDerivation rec {
   pname = "udunits";
-  version = "2.2.27.6";
+  version = "unstable-2021-03-17";
 
   src = fetchFromGitHub {
     owner = "Unidata";
     repo = "UDUNITS-2";
-    rev = "v${version}";
-    sha256 = "0621pac24c842dyipzaa59rh6pza9phdqi3snd4cq4pib0wjw6gm";
+    rev = "c83da987387db1174cd2266b73dd5dd556f4476b";
+    hash = "sha256-+HW21+r65OroCxMK2/B5fe7zHs4hD4xyoJK2bhdJGyQ=";
   };
 
-  nativeBuildInputs = [ autoreconfHook texinfo bison flex file ];
-  buildInputs = [ expat ];
+  nativeBuildInputs = [
+    autoreconfHook
+    texinfo
+    bison
+    flex
+    file
+  ];
+  buildInputs = [
+    expat
+  ];
 
   meta = with lib; {
     homepage = "https://www.unidata.ucar.edu/software/udunits/";
     description = "A C-based package for the programatic handling of units of physical quantities";
-    license = licenses.bsdOriginal;
+    longDescription = ''
+      The UDUNITS package supports units of physical quantities. Its C library
+      provides for arithmetic manipulation of units and for conversion of
+      numeric values between compatible units. The package contains an extensive
+      unit database, which is in XML format and user-extendable. The package
+      also contains a command-line utility for investigating units and
+      converting values.
+    '';
+    license = licenses.asl20;
+    maintainers = with maintainers; [ AndersonTorres pSub ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/python-modules/android-backup/default.nix b/pkgs/development/python-modules/android-backup/default.nix
new file mode 100644
index 00000000000..319c9514183
--- /dev/null
+++ b/pkgs/development/python-modules/android-backup/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pycrypto
+, pythonOlder
+, enum34
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "android-backup";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "bluec0re";
+    repo = "android-backup-tools";
+    rev = "v${version}";
+    sha256 = "0c436hv64ddqrjs77pa7z6spiv49pjflbmgg31p38haj5mzlrqvw";
+  };
+
+  propagatedBuildInputs = [
+    pycrypto
+  ] ++ lib.optional (pythonOlder "3.4") enum34;
+
+  checkPhase = ''
+    ${python.interpreter} -m android_backup.tests
+  '';
+
+  pythonImportsCheck = [ "android_backup" ];
+
+  meta = with lib; {
+    description = "Unpack and repack android backups";
+    homepage = https://github.com/bluec0re/android-backup-tools;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-eventgrid/default.nix b/pkgs/development/python-modules/azure-eventgrid/default.nix
index 9d413cf7a69..3d8e4df5654 100644
--- a/pkgs/development/python-modules/azure-eventgrid/default.nix
+++ b/pkgs/development/python-modules/azure-eventgrid/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "azure-eventgrid";
-  version = "4.0.0";
+  version = "4.1.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "a8b1d4aa9386efa923bad1a07da9f9098facd3b654d036a900a54de77d06eabe";
+    sha256 = "c4f29b2d9b717dad7919048f0a458dd84f83637c3d5c8f5a7e64634b22086719";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/croniter/default.nix b/pkgs/development/python-modules/croniter/default.nix
index 30807035579..577fef8d79d 100644
--- a/pkgs/development/python-modules/croniter/default.nix
+++ b/pkgs/development/python-modules/croniter/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , python-dateutil
-, pytest
+, pytestCheckHook
 , pytz
 , natsort
 , tzlocal
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "croniter";
-  version = "0.3.37";
+  version = "1.0.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12ced475dfc107bf7c6c1440af031f34be14cd97bbbfaf0f62221a9c11e86404";
+    sha256 = "708532f70584207e23ef2989ca40f367e6238bfe050133a1aff43e1e0e6f6092";
   };
 
   propagatedBuildInputs = [
@@ -23,15 +23,11 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytest
+    pytestCheckHook
     pytz
     tzlocal
   ];
 
-  checkPhase = ''
-    pytest src/croniter
-  '';
-
   meta = with lib; {
     description = "croniter provides iteration for datetime object with cron like format";
     homepage = "https://github.com/kiorky/croniter";
diff --git a/pkgs/development/python-modules/databricks-connect/default.nix b/pkgs/development/python-modules/databricks-connect/default.nix
index f4a94955681..17116eb130f 100644
--- a/pkgs/development/python-modules/databricks-connect/default.nix
+++ b/pkgs/development/python-modules/databricks-connect/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "databricks-connect";
-  version = "7.3.10";
+  version = "8.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8aa75740900f9b4bcc6d3f2bd815408dba30dc9a512bcc950b93e7353ec45133";
+    sha256 = "3726c648cc60796294356e2617acc534d2503824ccfbdff26abbea595eb83135";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/development/python-modules/mautrix/default.nix b/pkgs/development/python-modules/mautrix/default.nix
index 6632b88b723..6a6e3536733 100644
--- a/pkgs/development/python-modules/mautrix/default.nix
+++ b/pkgs/development/python-modules/mautrix/default.nix
@@ -1,14 +1,14 @@
 { lib, buildPythonPackage, fetchPypi, aiohttp, pythonOlder
-, sqlalchemy, ruamel_yaml, CommonMark, lxml, fetchpatch
+, sqlalchemy, ruamel_yaml, CommonMark, lxml
 }:
 
 buildPythonPackage rec {
   pname = "mautrix";
-  version = "0.8.16";
+  version = "0.8.17";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ccaa1691affa5f257e13d61f7c46088ff0affdd782331b01bfdcbd0b3eb5e10e";
+    sha256 = "9a15a8e39f9d0b36c91dfe0f5dd1efc8752cc1d317057840a3dbffd6ee90e068";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-miio/default.nix b/pkgs/development/python-modules/python-miio/default.nix
index 78c89408ac2..54ee1954579 100644
--- a/pkgs/development/python-modules/python-miio/default.nix
+++ b/pkgs/development/python-modules/python-miio/default.nix
@@ -1,47 +1,71 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
-, appdirs
+, poetry
 , click
-, construct
-, croniter
 , cryptography
-, importlib-metadata
-, pytest
-, pytest-mock
+, construct
 , zeroconf
 , attrs
 , pytz
+, appdirs
 , tqdm
 , netifaces
+, android-backup
+, importlib-metadata
+, croniter
+, defusedxml
+, pytestCheckHook
+, pytest-mock
+, pyyaml
 }:
 
 
 buildPythonPackage rec {
   pname = "python-miio";
-  version = "0.5.4";
+  version = "0.5.5.1";
+
+  disabled = pythonOlder "3.6";
+
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5a6fd3bb2cc2f75cdfe5673f36a5a418144d08add6e53b384cb146e99f27bd39";
+    sha256 = "sha256-3IBObrytkn6rLUT+wMlwzreqQ4AfCgxiMTJm2Iwm+5E=";
   };
 
   postPatch = ''
-    substituteInPlace setup.py \
-      --replace  "zeroconf>=0.25.1,<0.26.0" "zeroconf"
-    substituteInPlace setup.py \
-      --replace  "pytz>=2019.3,<2020.0" "pytz"
-    substituteInPlace setup.py \
-      --replace  "cryptography>=2.9,<3.0" "cryptography"
-    '';
-
-  checkInputs = [ pytest pytest-mock];
-  propagatedBuildInputs = [ appdirs click construct croniter cryptography importlib-metadata zeroconf attrs pytz tqdm netifaces ];
-
-  checkPhase = ''
-    pytest
+    substituteInPlace pyproject.toml \
+      --replace 'croniter = "^0"' 'croniter = "*"' \
+      --replace 'defusedxml = "^0.6"' 'defusedxml = "*"'
   '';
 
+  nativeBuildInputs = [
+    poetry
+  ];
+
+  propagatedBuildInputs = [
+    click
+    cryptography
+    construct
+    zeroconf
+    attrs
+    pytz
+    appdirs
+    tqdm
+    netifaces
+    android-backup
+    croniter
+    defusedxml
+  ] ++ lib.optional (pythonOlder "3.8") importlib-metadata;
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-mock
+    pyyaml
+  ];
+
   meta = with lib; {
     description = "Python library for interfacing with Xiaomi smart appliances";
     homepage = "https://github.com/rytilahti/python-miio";
diff --git a/pkgs/development/python-modules/sasmodels/default.nix b/pkgs/development/python-modules/sasmodels/default.nix
index 06d2d40d180..08c9e7ce3eb 100644
--- a/pkgs/development/python-modules/sasmodels/default.nix
+++ b/pkgs/development/python-modules/sasmodels/default.nix
@@ -1,20 +1,30 @@
-{ lib, fetchFromGitHub, buildPythonPackage, pytest, numpy, scipy, matplotlib, docutils
-, pyopencl, opencl-headers
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, pytest_5
+, numpy
+, scipy
+, matplotlib
+, docutils
+, pyopencl
+, opencl-headers
 }:
 
 buildPythonPackage rec {
   pname = "sasmodels";
-  version = "1.0.2";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "SasView";
     repo = "sasmodels";
     rev = "v${version}";
-    sha256 = "1qvh7q0fkls5r8r9mrph6igcvv8x3qsslqsc5jf1n20alcs5zjrl";
+    sha256 = "0h2k81dm92sm0z086qy3ipw6y6cfgpb7ppl7lhjmx6816s3k50sa";
   };
 
   buildInputs = [ opencl-headers ];
-  checkInputs = [ pytest ];
+  # Note: the 1.0.5 release should be compatible with pytest6, so this can
+  # be set back to 'pytest' at that point
+  checkInputs = [ pytest_5 ];
   propagatedBuildInputs = [ docutils matplotlib numpy scipy pyopencl ];
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/xdis/default.nix b/pkgs/development/python-modules/xdis/default.nix
index 280470957dc..3da25743594 100644
--- a/pkgs/development/python-modules/xdis/default.nix
+++ b/pkgs/development/python-modules/xdis/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "xdis";
-  version = "5.0.5";
+  version = "5.0.8";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "rocky";
     repo = "python-xdis";
     rev = version;
-    sha256 = "01248nh8y5szin6ymd3hrl8qnsg4xijsk3lxyks8zk9cjh008lmq";
+    sha256 = "01g1bk7rscwmvr2i183z0y2bs1iw7bxk7c5rcf9gf25242nppv6a";
   };
 
   checkInputs = [ pytest ];
@@ -22,10 +22,11 @@ buildPythonPackage rec {
   checkPhase = ''
     make check
   '';
+  pythonImportsCheck = [ "xdis" ];
 
   meta = with lib; {
     description = "Python cross-version byte-code disassembler and marshal routines";
     homepage = "https://github.com/rocky/python-xdis/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
index 5ba6718a6bd..4a402111b08 100644
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
@@ -2,16 +2,16 @@
   makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep }:
 buildGoModule rec {
   name = "buildkite-agent-${version}";
-  version = "3.27.0";
+  version = "3.28.1";
 
   src = fetchFromGitHub {
     owner = "buildkite";
     repo = "agent";
     rev = "v${version}";
-    sha256 = "sha256-JfOCht+awc0I22vtRD5hgowgdVkcJR3qSxnxLoc3XZY=";
+    sha256 = "sha256-5YOXYOAh/0fOagcqdK2IEwm5XDCxyfTeTzwBGtsQRCs=";
   };
 
-  vendorSha256 = "sha256-4zKe8y+9fedvCt/XmPf0HxtyqLz+FP4Ylt6k9KBjaIw=";
+  vendorSha256 = "sha256-3UXZxeiL0WO4X/3/hW8ubL1TormGbn9X/k0PX+/cLuM=";
 
   postPatch = ''
     substituteInPlace bootstrap/shell/shell.go --replace /bin/bash ${bash}/bin/bash
diff --git a/pkgs/tools/misc/github-backup/default.nix b/pkgs/tools/misc/github-backup/default.nix
new file mode 100644
index 00000000000..1fcaf3a4711
--- /dev/null
+++ b/pkgs/tools/misc/github-backup/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, python3
+, git
+, git-lfs
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "github-backup";
+  version = "0.39.0";
+
+  src = python3.pkgs.fetchPypi {
+    inherit pname version;
+    sha256 = "71829df4bdbe5bd55c324a97008405a6b4c6113edb1a2a6a8b73a7059fe64a47";
+  };
+
+  makeWrapperArgs = [
+    "--prefix" "PATH" ":" (lib.makeBinPath [ git git-lfs ])
+  ];
+
+  # has no unit tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Backup a github user or organization";
+    homepage = "https://github.com/josegonzalez/python-github-backup";
+    changelog = "https://github.com/josegonzalez/python-github-backup/blob/${version}/CHANGES.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix
index 0b5005b9c82..2cfbf5ae91a 100644
--- a/pkgs/tools/misc/plowshare/default.nix
+++ b/pkgs/tools/misc/plowshare/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, curl, recode, spidermonkey_38 }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, curl, recode, spidermonkey_78 }:
 
 stdenv.mkDerivation rec {
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     make PREFIX="$out" install
 
     for fn in plow{del,down,list,mod,probe,up}; do
-      wrapProgram "$out/bin/$fn" --prefix PATH : "${lib.makeBinPath [ curl recode spidermonkey_38 ]}"
+      wrapProgram "$out/bin/$fn" --prefix PATH : "${lib.makeBinPath [ curl recode spidermonkey_78 ]}"
     done
   '';
 
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index a3543c433ae..c589590abcf 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -11,13 +11,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.50.0";
+  version = "0.51.0";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1bnnqrxsmp3z2qksd8h4lfbq4kxxy1cg4yynadz66lxyzabv2v21";
+    sha256 = "1bmnwvjhw2ba7yqn9if83d57b8qbrbqgy2br8q2drz4ylk0gjirg";
   };
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ];
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     done
   '';
 
-  cargoSha256 = "0plk47i2xrn3x5yr3gw3pq74maqf4krb8d6i4sf8gil4mnpcgxir";
+  cargoSha256 = "1d4ca8yzx437x53i7z2kddv9db89zy6ywbgl6y1cwwd6wscbrxcq";
 
   preCheck = ''
     HOME=$TMPDIR
diff --git a/pkgs/tools/security/sipvicious/default.nix b/pkgs/tools/security/sipvicious/default.nix
new file mode 100644
index 00000000000..36b619da433
--- /dev/null
+++ b/pkgs/tools/security/sipvicious/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+}:
+
+buildPythonApplication rec {
+  pname = "sipvicious";
+  version = "0.3.2";
+
+  src = fetchFromGitHub {
+    owner = "EnableSecurity";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0hna4xyjhdwi6z2aqqp25ydkb1qznlil95w2iqrr576wcrciznd5";
+  };
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "sipvicious" ];
+
+  meta = with lib; {
+    description = " Set of tools to audit SIP based VoIP systems";
+    homepage = "https://github.com/EnableSecurity/sipvicious";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/text/jsawk/default.nix b/pkgs/tools/text/jsawk/default.nix
index 951f236d04a..4efaf56ccf6 100644
--- a/pkgs/tools/text/jsawk/default.nix
+++ b/pkgs/tools/text/jsawk/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, spidermonkey_38 }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, spidermonkey_78 }:
 
 stdenv.mkDerivation {
   pname = "jsawk";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
     mkdir -p $out/bin
     cp $src/jsawk $out/bin/
     wrapProgram $out/bin/jsawk \
-      --prefix PATH : "${spidermonkey_38}/bin"
+      --prefix PATH : "${spidermonkey_78}/bin"
   '';
 
   meta = {
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index dbac4dccb88..5fa99d5f9a8 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -565,6 +565,7 @@ mapAliases ({
   procps-ng = procps; # added 2018-06-08
   prometheus-cups-exporter = throw "outdated and broken by design; removed by developer."; # added 2021-03-16
   pygmentex = texlive.bin.pygmentex; # added 2019-12-15
+  pyload = throw "pyload has been removed from nixpkgs, as it was unmaintained."; # added 2021-03-21
   pyo3-pack = maturin;
   pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package."; # added 2019-12-10
   pulseaudioLight = pulseaudio; # added 2018-04-25
@@ -695,6 +696,7 @@ mapAliases ({
   speedtest_cli = speedtest-cli;  # added 2015-02-17
   spice_gtk = spice-gtk; # added 2018-02-25
   spice_protocol = spice-protocol; # added 2018-02-25
+  spidermonkey_38 = throw "spidermonkey_38 has been removed. Please use spidermonkey_78 instead."; # added 2021-03-21
   spidermonkey_52 = throw "spidermonkey_52 has been removed. Please use spidermonkey_78 instead."; # added 2019-10-16
   spidermonkey_60 = throw "spidermonkey_60 has been removed. Please use spidermonkey_78 instead."; # added 2021-03-21
   spring-boot = spring-boot-cli; # added 2020-04-24
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 792da5ceedb..008443b2d26 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4791,6 +4791,8 @@ in
 
   gitfs = callPackage ../tools/filesystems/gitfs { };
 
+  github-backup = callPackage ../tools/misc/github-backup { };
+
   gitin = callPackage ../applications/version-management/git-and-tools/gitin { };
 
   gitinspector = callPackage ../applications/version-management/gitinspector { };
@@ -8083,6 +8085,8 @@ in
 
   sipsak = callPackage ../tools/networking/sipsak { };
 
+  sipvicious = python3Packages.callPackage ../tools/security/sipvicious { };
+
   siril = callPackage ../applications/science/astronomy/siril { };
 
   sisco.lv2 = callPackage ../applications/audio/sisco.lv2 { };
@@ -11800,11 +11804,6 @@ in
   sparkleshare = callPackage ../applications/version-management/sparkleshare { };
 
   spidermonkey_1_8_5 = callPackage ../development/interpreters/spidermonkey/1.8.5.nix { };
-  spidermonkey_38 = callPackage ../development/interpreters/spidermonkey/38.nix ({
-    inherit (darwin) libobjc;
-  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
-  }));
   spidermonkey_68 = callPackage ../development/interpreters/spidermonkey/68.nix { };
   spidermonkey_78 = callPackage ../development/interpreters/spidermonkey/78.nix { };
 
@@ -29651,8 +29650,6 @@ in
 
   pykms = callPackage ../tools/networking/pykms { };
 
-  pyload = callPackage ../applications/networking/pyload {};
-
   pyupgrade = with python3Packages; toPythonApplication pyupgrade;
 
   pwntools = with python3Packages; toPythonApplication pwntools;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 9374062f477..c67940dc2f5 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -370,6 +370,8 @@ in {
 
   amqplib = callPackage ../development/python-modules/amqplib { };
 
+  android-backup = callPackage ../development/python-modules/android-backup { };
+
   androidtv = callPackage ../development/python-modules/androidtv { };
 
   androguard = callPackage ../development/python-modules/androguard { };