about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/AMB-plugins/default.nix1
-rw-r--r--pkgs/applications/audio/miniplayer/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix16
-rw-r--r--pkgs/applications/networking/shellhub-agent/default.nix6
-rw-r--r--pkgs/applications/virtualization/crun/default.nix6
-rw-r--r--pkgs/build-support/docker/default.nix188
-rw-r--r--pkgs/build-support/docker/examples.nix116
-rw-r--r--pkgs/build-support/fake-nss/default.nix6
-rw-r--r--pkgs/desktops/lxde/core/lxpanel/default.nix14
-rw-r--r--pkgs/development/libraries/blitz/default.nix51
-rw-r--r--pkgs/development/libraries/the-foundation/default.nix10
-rw-r--r--pkgs/development/python-modules/acoustics/default.nix8
-rw-r--r--pkgs/development/python-modules/cloudscraper/default.nix5
-rw-r--r--pkgs/development/python-modules/diff-cover/default.nix5
-rw-r--r--pkgs/development/python-modules/discordpy/default.nix7
-rw-r--r--pkgs/development/python-modules/pygmars/default.nix8
-rw-r--r--pkgs/development/python-modules/svg2tikz/default.nix34
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix2
-rw-r--r--pkgs/development/tools/nsis/default.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/zen-kernels.nix10
-rw-r--r--pkgs/servers/geospatial/martin/default.nix20
-rw-r--r--pkgs/servers/geospatial/martin/update-socket2-for-rust-1.64.patch358
-rw-r--r--pkgs/servers/kanidm/default.nix8
-rw-r--r--pkgs/servers/libreddit/default.nix9
-rw-r--r--pkgs/tools/misc/screenfetch/default.nix2
-rw-r--r--pkgs/tools/security/openpgp-card-tools/default.nix6
-rw-r--r--pkgs/tools/typesetting/scdoc/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix2
32 files changed, 477 insertions, 494 deletions
diff --git a/pkgs/applications/audio/AMB-plugins/default.nix b/pkgs/applications/audio/AMB-plugins/default.nix
index 8b03a97d12808..b388674fa4492 100644
--- a/pkgs/applications/audio/AMB-plugins/default.nix
+++ b/pkgs/applications/audio/AMB-plugins/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     sed -i 's@/usr/bin/install@install@g' Makefile
     sed -i 's@/bin/rm@rm@g' Makefile
     sed -i 's@/usr/lib/ladspa@$(out)/lib/ladspa@g' Makefile
+    sed -i 's@g++@$(CXX)@g' Makefile
   '';
 
   preInstall="mkdir -p $out/lib/ladspa";
diff --git a/pkgs/applications/audio/miniplayer/default.nix b/pkgs/applications/audio/miniplayer/default.nix
index 53fa9d8a10bf0..bc9c88b292a0a 100644
--- a/pkgs/applications/audio/miniplayer/default.nix
+++ b/pkgs/applications/audio/miniplayer/default.nix
@@ -6,12 +6,12 @@ with python3Packages;
 
 buildPythonApplication rec {
   pname = "miniplayer";
-  version = "1.7.3";
+  version = "1.8.1";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GxbsDIZ5LvxMqbDC81rerrk0mn94qHlX1uxrNL+vxSU=";
+    hash = "sha256-iUUsVIDLQAiaMomfA2LvvJZ2ePhgADtC6GCwIpRC1MA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index b41f95b0b0cc8..9899033297781 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -15,15 +15,15 @@
 , enableTUI ? false, ncurses, sealcurses
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "lagrange";
-  version = "1.13.8";
+  version = "1.14.1";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
-    rev = "v${version}";
-    sha256 = "sha256-SdncFkMCAY28njw361R70h6gcK0YHSU7AUwf9wzxCRo=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-xS6cyramlcItjRBSSunzm39zcGXdX9s/pvi0tsaTkW8=";
   };
 
   nativeBuildInputs = [ cmake pkg-config zip ];
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = nix-update-script {
-      attrPath = pname;
+      attrPath = finalAttrs.pname;
     };
   };
 
@@ -62,4 +62,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.unix;
   };
-}
+})
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
index 3b1775a7ba8cd..b3fe15fcaac6e 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv, fetchurl, pkg-config, libxslt, telepathy-glib, python2, libxml2, dbus-glib, dbus
-, sqlite, libsoup, libnice, gnutls}:
+{ lib, stdenv, fetchurl, pkg-config, libxslt, telepathy-glib, python3, libxml2, dbus-glib, dbus
+, sqlite, libsoup, libnice, gnutls
+, fetchpatch
+}:
 
 stdenv.mkDerivation rec {
   pname = "telepathy-gabble";
@@ -10,8 +12,15 @@ stdenv.mkDerivation rec {
     sha256 = "174nlkqm055vrhv11gy73m20jbsggcb0ddi51c7s9m3j5ibr2p0i";
   };
 
-  nativeBuildInputs = [ pkg-config libxslt ];
-  buildInputs = [ libxml2 dbus-glib sqlite libsoup libnice telepathy-glib gnutls python2 ];
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/archlinux/svntogit-packages/raw/edcf78c831894000f2fbfd3e5818e363911c746a/trunk/telepathy-gabble-0.18.4-python3.patch";
+      hash = "sha256-bvcZW6gbCNogqwPDaXHTbohe7c2GAYjXeHGyBEDVsB4=";
+    })
+  ];
+
+  nativeBuildInputs = [ pkg-config libxslt python3 ];
+  buildInputs = [ libxml2 dbus-glib sqlite libsoup libnice telepathy-glib gnutls ];
 
   checkInputs = [ dbus.daemon ];
 
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
index 27df1273c083b..4b8d2f6104abb 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
@@ -1,26 +1,17 @@
-{ lib, stdenv, fetchurl, fetchpatch, pidgin, telepathy-glib, python2, glib, dbus-glib, pkg-config, libxslt }:
+{ lib, stdenv, fetchurl, fetchpatch, pidgin, telepathy-glib, python3, glib, dbus-glib, pkg-config, libxslt }:
 
 stdenv.mkDerivation rec {
   pname = "telepathy-haze";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchurl {
-    url = "https://telepathy.freedesktop.org/releases/telepathy-haze/telepathy-haze${version}.tar.gz";
-    sha256 = "1jgrp32p6rllj089ynbsk3n9xrvsvzmwzhf0ql05kkgj0nf08xiy";
+    url = "https://telepathy.freedesktop.org/releases/telepathy-haze/telepathy-haze-${version}.tar.gz";
+    hash = "sha256-cEvvpC7sIXPspLrAH/0AQBRmXyutRtyJSOVCM2TN4wo=";
   };
 
-  buildInputs = [ glib telepathy-glib dbus-glib pidgin python2 ];
+  buildInputs = [ glib telepathy-glib dbus-glib pidgin ];
 
-  nativeBuildInputs = [ pkg-config libxslt ];
-
-  patches = [
-    # Patch from Gentoo that helps telepathy-haze build with more
-    # recent versions of pidgin.
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/gentoo/gentoo/master/net-voip/telepathy-haze/files/telepathy-haze-0.8.0-pidgin-2.10.12-compat.patch";
-      sha256 = "0fa1p4n1559qd096w7ya4kvfnc1c98ykarkxzlpkwvzbczwzng3c";
-    })
-  ];
+  nativeBuildInputs = [ pkg-config libxslt python3 ];
 
   meta = {
     description = "A Telepathy connection manager based on libpurple";
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
index fe7ef49cd0d3f..1a546ed1aef51 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
@@ -1,16 +1,16 @@
-{ lib, stdenv, fetchurl, glib, dconf, pkg-config, dbus-glib, telepathy-glib, python2, libxslt, makeWrapper }:
+{ lib, stdenv, fetchurl, glib, dconf, pkg-config, dbus-glib, telepathy-glib, python3, libxslt, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "telepathy-idle";
-  version = "0.2.0";
+  version = "0.2.2";
 
   src = fetchurl {
     url = "http://telepathy.freedesktop.org/releases/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1argdzbif1vdmwp5vqbgkadq9ancjmgdm2ncp0qfckni715ss4rh";
+    hash = "sha256-g4fiXl+wtMvnAeXcCS1mbWUQuDP9Pn5GLpFw027DwV8=";
   };
 
-  nativeBuildInputs = [ pkg-config makeWrapper ];
-  buildInputs = [ glib telepathy-glib dbus-glib libxslt python2 (lib.getLib dconf) ];
+  nativeBuildInputs = [ pkg-config python3 makeWrapper ];
+  buildInputs = [ glib telepathy-glib dbus-glib libxslt (lib.getLib dconf) ];
 
   preFixup = ''
     wrapProgram "$out/libexec/telepathy-idle" \
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
index 1bf0e329073dd..ac03ee20ff95a 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv, fetchurl, dbus-glib, libxml2, sqlite, telepathy-glib, python2, pkg-config
-, dconf, makeWrapper, intltool, libxslt, gobject-introspection, dbus }:
+{ lib, stdenv, fetchurl, dbus-glib, libxml2, sqlite, telepathy-glib, python3, pkg-config
+, dconf, makeWrapper, intltool, libxslt, gobject-introspection, dbus
+, fetchpatch
+}:
 
 stdenv.mkDerivation rec {
   pname = "telepathy-logger";
@@ -10,12 +12,20 @@ stdenv.mkDerivation rec {
     sha256 = "1bjx85k7jyfi5pvl765fzc7q2iz9va51anrc2djv7caksqsdbjlg";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/archlinux/svntogit-packages/raw/2b5bdbb4739d3517f5e7300edc8dab775743b96d/trunk/0001-tools-Fix-the-build-with-Python-3.patch";
+      hash = "sha256-o1lfdZIIqaxn7ntQZnoOMqquc6efTHgSIxB5dpFWRgg=";
+    })
+  ];
+
   nativeBuildInputs = [
     makeWrapper pkg-config intltool libxslt gobject-introspection
+    python3
   ];
   buildInputs = [
     dbus-glib libxml2 sqlite telepathy-glib
-    dbus python2
+    dbus
   ];
 
   configureFlags = [ "--enable-call" ];
diff --git a/pkgs/applications/networking/shellhub-agent/default.nix b/pkgs/applications/networking/shellhub-agent/default.nix
index 4016ca04b4547..8d404d4ebd25a 100644
--- a/pkgs/applications/networking/shellhub-agent/default.nix
+++ b/pkgs/applications/networking/shellhub-agent/default.nix
@@ -9,18 +9,18 @@
 
 buildGoModule rec {
   pname = "shellhub-agent";
-  version = "0.10.4";
+  version = "0.10.8";
 
   src = fetchFromGitHub {
     owner = "shellhub-io";
     repo = "shellhub";
     rev = "v${version}";
-    sha256 = "ov1hA+3sKh9Ms5D3/+ubwcAp+skuIfB3pvsvNSUKiSE=";
+    sha256 = "BtD22Ss5PuVx2RVLQIsUeGBJBl5lh1XHJ0vcM2bOEwk=";
   };
 
   modRoot = "./agent";
 
-  vendorSha256 = "sha256-IYDy3teo+hm+yEfZa9V9MFNGmO2tqeh3lAq+Eh4Ek+A=";
+  vendorSha256 = "sha256-tvKiTQioj999oIUDHUSXTMXOh/LKoykzu8JEUnrelws=";
 
   ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ];
 
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index 810fefa2863f8..82d9b251292a2 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "1.7";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ly6GBR7nF7J5Dwe1jrQxR4XYsao7KxBAxGn8fsJwmMs=";
+    sha256 = "sha256-YCymMr2dxDACdBNylPXa0GKu+QRzKFi5QzlyacAyE5A=";
     fetchSubmodules = true;
   };
 
@@ -55,6 +55,8 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
   strictDeps = true;
 
+  NIX_LDFLAGS = "-lcriu";
+
   # we need this before autoreconfHook does its thing in order to initialize
   # config.h with the correct values
   postPatch = ''
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 6b07865928e62..9a0d01acaae8c 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -19,6 +19,7 @@
 , pigz
 , rsync
 , runCommand
+, runCommandNoCC
 , runtimeShell
 , shadow
 , skopeo
@@ -30,6 +31,7 @@
 , vmTools
 , writeReferencesToFile
 , writeScript
+, writeShellScriptBin
 , writeText
 , writeTextDir
 , writePython3
@@ -78,7 +80,7 @@ let
 in
 rec {
   examples = callPackage ./examples.nix {
-    inherit buildImage buildLayeredImage fakeNss pullImage shadowSetup buildImageWithNixDb;
+    inherit buildImage buildLayeredImage fakeNss pullImage shadowSetup buildImageWithNixDb streamNixShellImage;
   };
 
   tests = {
@@ -1034,4 +1036,188 @@ rec {
         '';
       in
       result;
+
+  # This function streams a docker image that behaves like a nix-shell for a derivation
+  streamNixShellImage =
+    { # The derivation whose environment this docker image should be based on
+      drv
+    , # Image Name
+      name ? drv.name + "-env"
+    , # Image tag, the Nix's output hash will be used if null
+      tag ? null
+    , # User id to run the container as. Defaults to 1000, because many
+      # binaries don't like to be run as root
+      uid ? 1000
+    , # Group id to run the container as, see also uid
+      gid ? 1000
+    , # The home directory of the user
+      homeDirectory ? "/build"
+    , # The path to the bash binary to use as the shell. See `NIX_BUILD_SHELL` in `man nix-shell`
+      shell ? bashInteractive + "/bin/bash"
+    , # Run this command in the environment of the derivation, in an interactive shell. See `--command` in `man nix-shell`
+      command ? null
+    , # Same as `command`, but runs the command in a non-interactive shell instead. See `--run` in `man nix-shell`
+      run ? null
+    }:
+      assert lib.assertMsg (! (drv.drvAttrs.__structuredAttrs or false))
+        "streamNixShellImage: Does not work with the derivation ${drv.name} because it uses __structuredAttrs";
+      assert lib.assertMsg (command == null || run == null)
+        "streamNixShellImage: Can't specify both command and run";
+      let
+
+        # A binary that calls the command to build the derivation
+        builder = writeShellScriptBin "buildDerivation" ''
+          exec ${lib.escapeShellArg (stringValue drv.drvAttrs.builder)} ${lib.escapeShellArgs (map stringValue drv.drvAttrs.args)}
+        '';
+
+        staticPath = "${dirOf shell}:${lib.makeBinPath [ builder ]}";
+
+        # https://github.com/NixOS/nix/blob/2.8.0/src/nix-build/nix-build.cc#L493-L526
+        rcfile = writeText "nix-shell-rc" ''
+          unset PATH
+          dontAddDisableDepTrack=1
+          # TODO: https://github.com/NixOS/nix/blob/2.8.0/src/nix-build/nix-build.cc#L506
+          [ -e $stdenv/setup ] && source $stdenv/setup
+          PATH=${staticPath}:"$PATH"
+          SHELL=${lib.escapeShellArg shell}
+          BASH=${lib.escapeShellArg shell}
+          set +e
+          [ -n "$PS1" -a -z "$NIX_SHELL_PRESERVE_PROMPT" ] && PS1='\n\[\033[1;32m\][nix-shell:\w]\$\[\033[0m\] '
+          if [ "$(type -t runHook)" = function ]; then
+            runHook shellHook
+          fi
+          unset NIX_ENFORCE_PURITY
+          shopt -u nullglob
+          shopt -s execfail
+          ${optionalString (command != null || run != null) ''
+            ${optionalString (command != null) command}
+            ${optionalString (run != null) run}
+            exit
+          ''}
+        '';
+
+        # https://github.com/NixOS/nix/blob/2.8.0/src/libstore/globals.hh#L464-L465
+        sandboxBuildDir = "/build";
+
+        # This function closely mirrors what this Nix code does:
+        # https://github.com/NixOS/nix/blob/2.8.0/src/libexpr/primops.cc#L1102
+        # https://github.com/NixOS/nix/blob/2.8.0/src/libexpr/eval.cc#L1981-L2036
+        stringValue = value:
+          # We can't just use `toString` on all derivation attributes because that
+          # would not put path literals in the closure. So we explicitly copy
+          # those into the store here
+          if builtins.typeOf value == "path" then "${value}"
+          else if builtins.typeOf value == "list" then toString (map stringValue value)
+          else toString value;
+
+        # https://github.com/NixOS/nix/blob/2.8.0/src/libstore/build/local-derivation-goal.cc#L992-L1004
+        drvEnv = lib.mapAttrs' (name: value:
+          let str = stringValue value;
+          in if lib.elem name (drv.drvAttrs.passAsFile or [])
+          then lib.nameValuePair "${name}Path" (writeText "pass-as-text-${name}" str)
+          else lib.nameValuePair name str
+        ) drv.drvAttrs //
+          # A mapping from output name to the nix store path where they should end up
+          # https://github.com/NixOS/nix/blob/2.8.0/src/libexpr/primops.cc#L1253
+          lib.genAttrs drv.outputs (output: builtins.unsafeDiscardStringContext drv.${output}.outPath);
+
+        # Environment variables set in the image
+        envVars = {
+
+          # Root certificates for internet access
+          SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+
+          # https://github.com/NixOS/nix/blob/2.8.0/src/libstore/build/local-derivation-goal.cc#L1027-L1030
+          # PATH = "/path-not-set";
+          # Allows calling bash and `buildDerivation` as the Cmd
+          PATH = staticPath;
+
+          # https://github.com/NixOS/nix/blob/2.8.0/src/libstore/build/local-derivation-goal.cc#L1032-L1038
+          HOME = homeDirectory;
+
+          # https://github.com/NixOS/nix/blob/2.8.0/src/libstore/build/local-derivation-goal.cc#L1040-L1044
+          NIX_STORE = storeDir;
+
+          # https://github.com/NixOS/nix/blob/2.8.0/src/libstore/build/local-derivation-goal.cc#L1046-L1047
+          # TODO: Make configurable?
+          NIX_BUILD_CORES = "1";
+
+        } // drvEnv // {
+
+          # https://github.com/NixOS/nix/blob/2.8.0/src/libstore/build/local-derivation-goal.cc#L1008-L1010
+          NIX_BUILD_TOP = sandboxBuildDir;
+
+          # https://github.com/NixOS/nix/blob/2.8.0/src/libstore/build/local-derivation-goal.cc#L1012-L1013
+          TMPDIR = sandboxBuildDir;
+          TEMPDIR = sandboxBuildDir;
+          TMP = sandboxBuildDir;
+          TEMP = sandboxBuildDir;
+
+          # https://github.com/NixOS/nix/blob/2.8.0/src/libstore/build/local-derivation-goal.cc#L1015-L1019
+          PWD = sandboxBuildDir;
+
+          # https://github.com/NixOS/nix/blob/2.8.0/src/libstore/build/local-derivation-goal.cc#L1071-L1074
+          # We don't set it here because the output here isn't handled in any special way
+          # NIX_LOG_FD = "2";
+
+          # https://github.com/NixOS/nix/blob/2.8.0/src/libstore/build/local-derivation-goal.cc#L1076-L1077
+          TERM = "xterm-256color";
+        };
+
+
+      in streamLayeredImage {
+        inherit name tag;
+        contents = [
+          binSh
+          usrBinEnv
+          (fakeNss.override {
+            # Allows programs to look up the build user's home directory
+            # https://github.com/NixOS/nix/blob/ffe155abd36366a870482625543f9bf924a58281/src/libstore/build/local-derivation-goal.cc#L906-L910
+            # Slightly differs however: We use the passed-in homeDirectory instead of sandboxBuildDir.
+            # We're doing this because it's arguably a bug in Nix that sandboxBuildDir is used here: https://github.com/NixOS/nix/issues/6379
+            extraPasswdLines = [
+              "nixbld:x:${toString uid}:${toString gid}:Build user:${homeDirectory}:/noshell"
+            ];
+            extraGroupLines = [
+              "nixbld:!:${toString gid}:"
+            ];
+          })
+        ];
+
+        fakeRootCommands = ''
+          # Effectively a single-user installation of Nix, giving the user full
+          # control over the Nix store. Needed for building the derivation this
+          # shell is for, but also in case one wants to use Nix inside the
+          # image
+          mkdir -p ./nix/{store,var/nix} ./etc/nix
+          chown -R ${toString uid}:${toString gid} ./nix ./etc/nix
+
+          # Gives the user control over the build directory
+          mkdir -p .${sandboxBuildDir}
+          chown -R ${toString uid}:${toString gid} .${sandboxBuildDir}
+        '';
+
+        # Run this image as the given uid/gid
+        config.User = "${toString uid}:${toString gid}";
+        config.Cmd =
+          # https://github.com/NixOS/nix/blob/2.8.0/src/nix-build/nix-build.cc#L185-L186
+          # https://github.com/NixOS/nix/blob/2.8.0/src/nix-build/nix-build.cc#L534-L536
+          if run == null
+          then [ shell "--rcfile" rcfile ]
+          else [ shell rcfile ];
+        config.WorkingDir = sandboxBuildDir;
+        config.Env = lib.mapAttrsToList (name: value: "${name}=${value}") envVars;
+      };
+
+  # Wrapper around streamNixShellImage to build an image from the result
+  buildNixShellImage = { drv, ... }@args:
+    let
+      stream = streamNixShellImage args;
+    in
+    runCommand "${drv.name}-env.tar.gz"
+      {
+        inherit (stream) imageName;
+        passthru = { inherit (stream) imageTag; };
+        nativeBuildInputs = [ pigz ];
+      } "${stream} | pigz -nT > $out";
 }
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index 1e9f07045e370..802b2f79f0fc5 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -7,7 +7,7 @@
 #  $ nix-build '<nixpkgs>' -A dockerTools.examples.redis
 #  $ docker load < result
 
-{ pkgs, buildImage, buildLayeredImage, fakeNss, pullImage, shadowSetup, buildImageWithNixDb, pkgsCross }:
+{ pkgs, buildImage, buildLayeredImage, fakeNss, pullImage, shadowSetup, buildImageWithNixDb, pkgsCross, streamNixShellImage }:
 
 let
   nixosLib = import ../../../nixos/lib {
@@ -715,4 +715,118 @@ rec {
     config = {
     };
   };
+
+  nix-shell-basic = streamNixShellImage {
+    name = "nix-shell-basic";
+    tag = "latest";
+    drv = pkgs.hello;
+  };
+
+  nix-shell-hook = streamNixShellImage {
+    name = "nix-shell-hook";
+    tag = "latest";
+    drv = pkgs.mkShell {
+      shellHook = ''
+        echo "This is the shell hook!"
+        exit
+      '';
+    };
+  };
+
+  nix-shell-inputs = streamNixShellImage {
+    name = "nix-shell-inputs";
+    tag = "latest";
+    drv = pkgs.mkShell {
+      nativeBuildInputs = [
+        pkgs.hello
+      ];
+    };
+    command = ''
+      hello
+    '';
+  };
+
+  nix-shell-pass-as-file = streamNixShellImage {
+    name = "nix-shell-pass-as-file";
+    tag = "latest";
+    drv = pkgs.mkShell {
+      str = "this is a string";
+      passAsFile = [ "str" ];
+    };
+    command = ''
+      cat "$strPath"
+    '';
+  };
+
+  nix-shell-run = streamNixShellImage {
+    name = "nix-shell-run";
+    tag = "latest";
+    drv = pkgs.mkShell {};
+    run = ''
+      case "$-" in
+      *i*) echo This shell is interactive ;;
+      *) echo This shell is not interactive ;;
+      esac
+    '';
+  };
+
+  nix-shell-command = streamNixShellImage {
+    name = "nix-shell-command";
+    tag = "latest";
+    drv = pkgs.mkShell {};
+    command = ''
+      case "$-" in
+      *i*) echo This shell is interactive ;;
+      *) echo This shell is not interactive ;;
+      esac
+    '';
+  };
+
+  nix-shell-writable-home = streamNixShellImage {
+    name = "nix-shell-writable-home";
+    tag = "latest";
+    drv = pkgs.mkShell {};
+    run = ''
+      if [[ "$HOME" != "$(eval "echo ~$(whoami)")" ]]; then
+        echo "\$HOME ($HOME) is not the same as ~\$(whoami) ($(eval "echo ~$(whoami)"))"
+        exit 1
+      fi
+
+      if ! touch $HOME/test-file; then
+        echo "home directory is not writable"
+        exit 1
+      fi
+      echo "home directory is writable"
+    '';
+  };
+
+  nix-shell-nonexistent-home = streamNixShellImage {
+    name = "nix-shell-nonexistent-home";
+    tag = "latest";
+    drv = pkgs.mkShell {};
+    homeDirectory = "/homeless-shelter";
+    run = ''
+      if [[ "$HOME" != "$(eval "echo ~$(whoami)")" ]]; then
+        echo "\$HOME ($HOME) is not the same as ~\$(whoami) ($(eval "echo ~$(whoami)"))"
+        exit 1
+      fi
+
+      if -e $HOME; then
+        echo "home directory exists"
+        exit 1
+      fi
+      echo "home directory doesn't exist"
+    '';
+  };
+
+  nix-shell-build-derivation = streamNixShellImage {
+    name = "nix-shell-build-derivation";
+    tag = "latest";
+    drv = pkgs.hello;
+    run = ''
+      buildDerivation
+      $out/bin/hello
+    '';
+  };
+
 }
diff --git a/pkgs/build-support/fake-nss/default.nix b/pkgs/build-support/fake-nss/default.nix
index 9e0b60133e00f..7d85ec5fc0a5f 100644
--- a/pkgs/build-support/fake-nss/default.nix
+++ b/pkgs/build-support/fake-nss/default.nix
@@ -2,17 +2,17 @@
 # Useful when packaging binaries that insist on using nss to look up
 # username/groups (like nginx).
 # /bin/sh is fine to not exist, and provided by another shim.
-{ symlinkJoin, writeTextDir, runCommand }:
+{ lib, symlinkJoin, writeTextDir, runCommand, extraPasswdLines ? [], extraGroupLines ? [] }:
 symlinkJoin {
   name = "fake-nss";
   paths = [
     (writeTextDir "etc/passwd" ''
       root:x:0:0:root user:/var/empty:/bin/sh
-      nobody:x:65534:65534:nobody:/var/empty:/bin/sh
+      ${lib.concatStrings (map (line: line + "\n") extraPasswdLines)}nobody:x:65534:65534:nobody:/var/empty:/bin/sh
     '')
     (writeTextDir "etc/group" ''
       root:x:0:
-      nobody:x:65534:
+      ${lib.concatStrings (map (line: line + "\n") extraGroupLines)}nobody:x:65534:
     '')
     (writeTextDir "etc/nsswitch.conf" ''
       hosts: files dns
diff --git a/pkgs/desktops/lxde/core/lxpanel/default.nix b/pkgs/desktops/lxde/core/lxpanel/default.nix
index 1208f9cd64cfe..3fc8f0b06cd8f 100644
--- a/pkgs/desktops/lxde/core/lxpanel/default.nix
+++ b/pkgs/desktops/lxde/core/lxpanel/default.nix
@@ -7,9 +7,12 @@
 , intltool
 , libxmlxx
 , keybinder
+, keybinder3
 , gtk2
+, gtk3
 , libX11
 , libfm
+, libwnck
 , libwnck2
 , libXmu
 , libXpm
@@ -21,6 +24,7 @@
 , wirelesstools
 , curl
 , supportAlsa ? false, alsa-lib
+, withGtk3 ? true
 }:
 
 stdenv.mkDerivation rec {
@@ -34,11 +38,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config gettext m4 intltool libxmlxx ];
   buildInputs = [
-    keybinder
-    gtk2
+    (if withGtk3 then keybinder3 else keybinder)
+    (if withGtk3 then gtk3 else gtk2)
     libX11
-    libfm
-    libwnck2
+    (libfm.override { inherit withGtk3; })
+    (if withGtk3 then libwnck else libwnck2)
     libXmu
     libXpm
     cairo
@@ -58,6 +62,8 @@ stdenv.mkDerivation rec {
       --replace "@PACKAGE_CFLAGS@" "@PACKAGE_CFLAGS@ -I${gdk-pixbuf-xlib.dev}/include/gdk-pixbuf-2.0"
   '';
 
+  configureFlags = lib.optional withGtk3 "--enable-gtk3";
+
   meta = with lib; {
     description = "Lightweight X11 desktop panel for LXDE";
     homepage = "https://lxde.org/";
diff --git a/pkgs/development/libraries/blitz/default.nix b/pkgs/development/libraries/blitz/default.nix
index 2b5e5a4addca3..d48669845485f 100644
--- a/pkgs/development/libraries/blitz/default.nix
+++ b/pkgs/development/libraries/blitz/default.nix
@@ -1,10 +1,12 @@
 { stdenv
 , lib
 , fetchFromGitHub
+, fetchpatch
+, cmake
 , pkg-config
 , gfortran
 , texinfo
-, python2
+, python3
 , boost
   # Select SIMD alignment width (in bytes) for vectorization.
 , simdWidth ? 1
@@ -23,35 +25,37 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "blitz++";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "blitzpp";
     repo = "blitz";
-    rev = "1.0.1";
-    sha256 = "0nq84vwvvbq7m0my6h835ijfw53bxdp42qjc6kjhk436888qy9rh";
+    rev = version;
+    hash = "sha256-wZDg+4lCd9iHvxuQQE/qs58NorkxZ0+mf+8PKQ57CDE=";
   };
 
-  nativeBuildInputs = [ pkg-config python2 texinfo ];
+  patches = [
+    # https://github.com/blitzpp/blitz/pull/180
+    (fetchpatch {
+      name = "use-cmake-install-full-dir.patch";
+      url = "https://github.com/blitzpp/blitz/commit/020f1d768c7fa3265cec244dc28f3dc8572719c5.patch";
+      hash = "sha256-8hYFNyWrejjIWPN/HzIOphD4Aq6Soe0FFUBmwV4tpWQ=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    python3
+    texinfo
+  ];
+
   buildInputs = [ gfortran texinfo boost ];
 
-  configureFlags =
-    [
-      "--enable-shared"
-      "--disable-static"
-      "--enable-fortran"
-      "--enable-optimize"
-      "--with-pic=yes"
-      "--enable-html-docs"
-      "--disable-doxygen"
-      "--disable-dot"
-      "--disable-latex-docs"
-      "--enable-simd-width=${toString simdWidth}"
-      "--with-boost=${boost.dev}"
-      "--with-boost-libdir=${boost.out}/lib"
-    ] ++ optional enablePadding "--enable-array-length-padding"
-    ++ optional enableSerialization "--enable-serialization"
-    ++ optional stdenv.is64bit "--enable-64bit";
+  cmakeFlags = optional enablePadding "-DARRAY_LENGTH_PADDING=ON"
+    ++ optional enableSerialization "-DENABLE_SERIALISATION=ON"
+    ++ optional stdenv.is64bit "-DBZ_FULLY64BIT=ON";
+    # FIXME ++ optional doCheck "-DBUILD_TESTING=ON";
 
   # skip broken library name detection
   ax_boost_user_serialization_lib = lib.optionalString stdenv.isDarwin "boost_serialization";
@@ -59,12 +63,11 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   inherit doCheck;
-  checkTarget = "check-testsuite check-examples";
 
   meta = with lib; {
     description = "Fast multi-dimensional array library for C++";
     homepage = "https://sourceforge.net/projects/blitz/";
-    license = licenses.lgpl3;
+    license = with licenses; [ artistic2 /* or */ bsd3 /* or */ lgpl3Plus ];
     platforms = platforms.unix;
     maintainers = with maintainers; [ ToxicFrog ];
     longDescription = ''
diff --git a/pkgs/development/libraries/the-foundation/default.nix b/pkgs/development/libraries/the-foundation/default.nix
index 95c8653a4663f..95ea916e09b99 100644
--- a/pkgs/development/libraries/the-foundation/default.nix
+++ b/pkgs/development/libraries/the-foundation/default.nix
@@ -10,16 +10,16 @@
 , zlib
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "the-foundation";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitea {
     domain = "git.skyjake.fi";
     owner = "skyjake";
     repo = "the_Foundation";
-    rev = "v${version}";
-    hash = "sha256-IHwWJryG4HcrW9Bf8KJrisCrbF86RBQj6Xl1HTmcr6k=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-wPFBKc20/ED58RFpDhmPnlSHCf3FG5sD2ubQOl5NF+o=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
@@ -38,4 +38,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.unix;
   };
-}
+})
diff --git a/pkgs/development/python-modules/acoustics/default.nix b/pkgs/development/python-modules/acoustics/default.nix
index f81f382b956e0..7de65d83fb65c 100644
--- a/pkgs/development/python-modules/acoustics/default.nix
+++ b/pkgs/development/python-modules/acoustics/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, flit-core
 , matplotlib
 , numpy
 , pandas
@@ -20,6 +21,9 @@ buildPythonPackage rec {
     inherit pname version;
     sha256 = "sha256-0CvMhCUc+i7dPiHH+IXdlj+OjFh/l1wvnU4dmxQrzFI=";
   };
+  format = "pyproject";
+
+  nativeBuildInputs = [ flit-core ];
 
   propagatedBuildInputs = [
     matplotlib
@@ -44,8 +48,8 @@ buildPythonPackage rec {
   ];
 
   disabledTestPaths = [
-    # All tests fail with TypeError
-    "tests/test_aio.py"
+    # ValueError: Unknown window type: "hanning"
+    "tests/standards/test_iso_1996_2_2007.py"
   ];
 
   pythonImportsCheck = [ "acoustics" ];
diff --git a/pkgs/development/python-modules/cloudscraper/default.nix b/pkgs/development/python-modules/cloudscraper/default.nix
index 85b7a94479194..d3e9431e67436 100644
--- a/pkgs/development/python-modules/cloudscraper/default.nix
+++ b/pkgs/development/python-modules/cloudscraper/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "cloudscraper";
-  version = "1.2.65";
+  version = "1.2.66";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vwH5sSA9rFrnFO4zIvjloYXSNWK5Vn1rODO74vPWvEE=";
+    hash = "sha256-XwzeI3dCcOigkt5o4PvWjheFTHZ/wtQEKpG9qeSBaHE=";
   };
 
   propagatedBuildInputs = [
@@ -36,6 +36,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python module to bypass Cloudflare's anti-bot page";
     homepage = "https://github.com/venomous/cloudscraper";
+    changelog = "https://github.com/VeNoMouS/cloudscraper/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ kini ];
   };
diff --git a/pkgs/development/python-modules/diff-cover/default.nix b/pkgs/development/python-modules/diff-cover/default.nix
index a3ea4034e8b60..c1afa70980096 100644
--- a/pkgs/development/python-modules/diff-cover/default.nix
+++ b/pkgs/development/python-modules/diff-cover/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "diff-cover";
-  version = "7.0.2";
+  version = "7.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "diff_cover";
     inherit version;
-    hash = "sha256-OENUR9rTKrt+AdHDlCU5AhpSI4ijtYXVg6biB8wTNJc=";
+    hash = "sha256-7RqhNSIUD3ofYoB7x1UoGdJDQ+6TmLenTpShjHji6GQ=";
   };
 
   propagatedBuildInputs = [
@@ -61,6 +61,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Automatically find diff lines that need test coverage";
     homepage = "https://github.com/Bachmann1234/diff-cover";
+    changelog = "https://github.com/Bachmann1234/diff_cover/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ dzabraev ];
   };
diff --git a/pkgs/development/python-modules/discordpy/default.nix b/pkgs/development/python-modules/discordpy/default.nix
index 2bcba19d03ac9..07008fac336b3 100644
--- a/pkgs/development/python-modules/discordpy/default.nix
+++ b/pkgs/development/python-modules/discordpy/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "discord.py";
-  version = "2.0.1";
+  version = "2.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "Rapptz";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-DX9AmVhwP7XgzUApY8d+UB6LGqymErsaSzaisuKAOB0=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-243w3J3nb/6GV5ogS/Ev9X3r0GrgUokMq14r5rjOdrA=";
   };
 
   propagatedBuildInputs = [
@@ -56,6 +56,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python wrapper for the Discord API";
     homepage = "https://discordpy.rtfd.org/";
+    changelog = "https://github.com/Rapptz/discord.py/blob/v${version}/docs/whats_new.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ ivar ];
   };
diff --git a/pkgs/development/python-modules/pygmars/default.nix b/pkgs/development/python-modules/pygmars/default.nix
index e0764ecb3a4b3..2408a934b09c5 100644
--- a/pkgs/development/python-modules/pygmars/default.nix
+++ b/pkgs/development/python-modules/pygmars/default.nix
@@ -8,15 +8,16 @@
 
 buildPythonPackage rec {
   pname = "pygmars";
-  version = "0.7.0";
+  version = "0.8.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "nexB";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0wghk4nzplpl26iwrgvm0n9x88nyxlcxz4ywss4nwdr4hfccl28l";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-PiH1lV1Vt9VTSOB+jep8FHIdk8qnauxj4nP3CIi/m7o=";
   };
 
   dontConfigure = true;
@@ -36,6 +37,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python lexing and parsing library";
     homepage = "https://github.com/nexB/pygmars";
+    changelog = "https://github.com/nexB/pygmars/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/svg2tikz/default.nix b/pkgs/development/python-modules/svg2tikz/default.nix
index c15e88ebeb249..b902572dbe810 100644
--- a/pkgs/development/python-modules/svg2tikz/default.nix
+++ b/pkgs/development/python-modules/svg2tikz/default.nix
@@ -2,29 +2,39 @@
 , buildPythonPackage
 , fetchFromGitHub
 , lxml
-, isPy27
+, pytestCheckHook
 }:
 
 buildPythonPackage {
   pname = "svg2tikz";
-  version = "1.0.0";
-  disabled = ! isPy27;
+  version = "unstable-2021-01-12";
 
-  propagatedBuildInputs = [ lxml ];
+  format = "setuptools";
 
   src = fetchFromGitHub {
-    owner = "kjellmf";
+    owner = "xyz2tex";
     repo = "svg2tikz";
-    rev = "ad36f2c3818da13c4136d70a0fd8153acf8daef4";
-    sha256 = "sha256-QpQo7ENeU2crhc37uJu4rw/5+COPXQWXBynlF30lLV8=";
-    fetchSubmodules = true;
+    rev = "7a9959c295e1ed73e543474c6f3679d04cebc9e9";
+    hash = "sha256-OLMFtEEdcY8ARI+hUSOhMwwcrtOAsbKRJRdDJcuaIBg=";
   };
 
+  propagatedBuildInputs = [
+    lxml
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  # upstream hasn't updated the tests in a while
+  doCheck = false;
+
+  pythonImportsCheck = [ "svg2tikz" ];
+
   meta = with lib; {
-    homepage = "https://github.com/kjellmf/svg2tikz";
-    description = "An SVG to TikZ converter";
+    homepage = "https://github.com/xyz2tex/svg2tikz";
+    description = "Set of tools for converting SVG graphics to TikZ/PGF code";
     license = licenses.gpl2Plus;
-    maintainers =  with maintainers; [ gal_bolle ];
+    maintainers = with maintainers; [ dotlambda gal_bolle ];
   };
-
 }
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index 2885eeb04119c..236570be0dcfc 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -370,7 +370,7 @@ in
   # otherwise the gem will fail to link to the libv8 binary.
   # see: https://github.com/cowboyd/libv8/pull/161
   libv8 = attrs: {
-    buildInputs = [ which v8 python2 ];
+    buildInputs = [ which v8 python3 ];
     buildFlags = [ "--with-system-v8=true" ];
     dontBuild = false;
     # The gem includes broken symlinks which are ignored during unpacking, but
diff --git a/pkgs/development/tools/nsis/default.nix b/pkgs/development/tools/nsis/default.nix
index 48651435d371b..b9fb3aa711c2c 100644
--- a/pkgs/development/tools/nsis/default.nix
+++ b/pkgs/development/tools/nsis/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     chmod -R u+w $out/share/nsis
   '';
 
-  nativeBuildInputs = [ sconsPackages.scons_3_1_2 ];
+  nativeBuildInputs = [ sconsPackages.scons_latest ];
   buildInputs = [ zlib ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
 
   CPPPATH = symlinkJoin {
@@ -71,5 +71,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     maintainers = with maintainers; [ pombeirp ];
     mainProgram = "makensis";
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix
index 9863e3c4f4ee8..6ee6c38a31b8e 100644
--- a/pkgs/os-specific/linux/kernel/zen-kernels.nix
+++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix
@@ -4,16 +4,16 @@ let
   # comments with variant added for update script
   # ./update-zen.py zen
   zenVariant = {
-    version = "6.0.8"; #zen
-    suffix = "zen1"; #zen
-    sha256 = "0vp6vp77blrxa8rcl8wl81di7m4s1cmbznzacx3729560km98ki8"; #zen
+    version = "6.0.10"; #zen
+    suffix = "zen2"; #zen
+    sha256 = "12mpgw1maa5yi35ls4j1m0vmlw4fka69n0pidbxqi3yadbfn2iy5"; #zen
     isLqx = false;
   };
   # ./update-zen.py lqx
   lqxVariant = {
-    version = "6.0.8"; #lqx
+    version = "6.0.10"; #lqx
     suffix = "lqx1"; #lqx
-    sha256 = "1jjna3g1x58r8qz323fmdzf6ws3anjqdw57r12fnvq3by660p0qh"; #lqx
+    sha256 = "0hbak9m4j259xrhbv173axbfzr13r47xqsax7s64ga9688bra1m7"; #lqx
     isLqx = true;
   };
   zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
diff --git a/pkgs/servers/geospatial/martin/default.nix b/pkgs/servers/geospatial/martin/default.nix
index b225591a5adc8..8525efe970576 100644
--- a/pkgs/servers/geospatial/martin/default.nix
+++ b/pkgs/servers/geospatial/martin/default.nix
@@ -2,21 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "martin";
-  version = "0.5.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
-    owner = "urbica";
-    repo = pname;
+    owner = "maplibre";
+    repo = "martin";
     rev = "v${version}";
-    hash = "sha256-kygqwbaByse81oc007piXHM6aK6Yi2JB0qTFN2WFP8U=";
+    hash = "sha256-k5PekD+7cmsRa7qRAqQ1gKaX7i07whKTgeU6OM39BBE=";
   };
 
-  cargoPatches = [
-    # Remove after a new release, tracked by https://github.com/maplibre/martin/issues/410.
-    ./update-socket2-for-rust-1.64.patch
-  ];
-
-  cargoHash = "sha256-oevyr1P0uzHbpWCYQ1raqA42HI2KLl2IYcm1D2PeKOo=";
+  cargoHash = "sha256-rcyR1/b9Ap6mQR9yFDdsDJSvGxVNQrpt+t3sRSV4oPU=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
@@ -24,9 +19,8 @@ rustPlatform.buildRustPackage rec {
 
   meta = with lib; {
     description = "Blazing fast and lightweight PostGIS vector tiles server";
-    homepage = "https://martin.urbica.co/";
-    license = licenses.mit;
+    homepage = "https://martin.maplibre.org/";
+    license = with licenses; [ mit /* or */ asl20 ];
     maintainers = with maintainers; [ sikmir ];
-    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/servers/geospatial/martin/update-socket2-for-rust-1.64.patch b/pkgs/servers/geospatial/martin/update-socket2-for-rust-1.64.patch
deleted file mode 100644
index c70261a3076cd..0000000000000
--- a/pkgs/servers/geospatial/martin/update-socket2-for-rust-1.64.patch
+++ /dev/null
@@ -1,358 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-index 8c90ecb..13c3149 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -305,7 +305,7 @@ name = "atty"
- version = "0.2.13"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
-@@ -343,7 +343,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
-  "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
-@@ -353,7 +353,7 @@ version = "0.1.32"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
- [[package]]
-@@ -393,7 +393,7 @@ version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
- [[package]]
-@@ -402,7 +402,7 @@ version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "brotli-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
- [[package]]
-@@ -458,12 +458,17 @@ name = "cfg-if"
- version = "0.1.10"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- 
-+[[package]]
-+name = "cfg-if"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
- [[package]]
- name = "chrono"
- version = "0.4.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-  "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-  "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
-@@ -734,7 +739,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-  "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "miniz-sys 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-  "miniz_oxide 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
-@@ -782,7 +787,7 @@ version = "0.1.13"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
-@@ -832,7 +837,7 @@ name = "hostname"
- version = "0.1.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "winutil 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
-@@ -892,7 +897,7 @@ name = "iovec"
- version = "0.1.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
- [[package]]
-@@ -900,7 +905,7 @@ name = "ipconfig"
- version = "0.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-- "socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "socket2 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
-  "widestring 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-  "winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-@@ -940,7 +945,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- 
- [[package]]
- name = "libc"
--version = "0.2.65"
-+version = "0.2.134"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- 
- [[package]]
-@@ -1019,7 +1024,7 @@ name = "memchr"
- version = "1.0.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
- [[package]]
-@@ -1027,7 +1032,7 @@ name = "memchr"
- version = "2.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
- [[package]]
-@@ -1049,7 +1054,7 @@ version = "0.1.12"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
- [[package]]
-@@ -1069,7 +1074,7 @@ dependencies = [
-  "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-  "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-  "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-  "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
-@@ -1083,7 +1088,7 @@ version = "0.6.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
-@@ -1104,7 +1109,7 @@ version = "0.2.33"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
-@@ -1135,7 +1140,7 @@ name = "num_cpus"
- version = "1.10.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
- [[package]]
-@@ -1165,7 +1170,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-  "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-  "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-@@ -1180,7 +1185,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-  "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-  "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
-@@ -1223,7 +1228,7 @@ dependencies = [
-  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-  "postgres-protocol 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-  "postgres-shared 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "socket2 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
- [[package]]
-@@ -1325,7 +1330,7 @@ name = "rand"
- version = "0.3.23"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
-@@ -1335,7 +1340,7 @@ version = "0.4.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-@@ -1347,7 +1352,7 @@ version = "0.6.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-@@ -1365,7 +1370,7 @@ version = "0.7.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-@@ -1439,7 +1444,7 @@ name = "rand_jitter"
- version = "0.1.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
-@@ -1451,7 +1456,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-  "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-@@ -1687,7 +1692,7 @@ name = "signal-hook"
- version = "0.1.10"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "signal-hook-registry 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
-@@ -1697,7 +1702,7 @@ version = "1.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "arc-swap 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
- [[package]]
-@@ -1717,12 +1722,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- 
- [[package]]
- name = "socket2"
--version = "0.3.11"
-+version = "0.3.19"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
- 
-@@ -1825,7 +1829,7 @@ name = "time"
- version = "0.1.42"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
- ]
-@@ -1901,7 +1905,7 @@ version = "0.2.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- dependencies = [
-  "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)",
-  "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
-  "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
-  "signal-hook 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-@@ -1972,7 +1976,7 @@ dependencies = [
-  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-  "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-  "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "socket2 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
-  "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-  "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-  "tokio-reactor 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-@@ -2200,6 +2204,7 @@ dependencies = [
- "checksum cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "926013f2860c46252efceabb19f4a6b308197505082c609025aa6706c011d427"
- "checksum cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "0213d356d3c4ea2c18c40b037c3be23cd639825c18f25ee670ac7813beeef99c"
- "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-+"checksum cfg-if 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
- "checksum chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e8493056968583b0193c1bb04d6f7684586f3726992d6c573261941a895dbd68"
- "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
- "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-@@ -2256,7 +2261,7 @@ dependencies = [
- "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
- "checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
- "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
--"checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8"
-+"checksum libc 0.2.134 (registry+https://github.com/rust-lang/crates.io-index)" = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb"
- "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83"
- "checksum lock_api 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ed946d4529956a20f2d63ebe1b69996d5a2137c91913fe3ebbeff957f5bca7ff"
- "checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc"
-@@ -2344,7 +2349,7 @@ dependencies = [
- "checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
- "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
- "checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
--"checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
-+"checksum socket2 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)" = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
- "checksum string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d"
- "checksum stringprep 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1"
- "checksum strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "032c03039aae92b350aad2e3779c352e104d919cb192ba2fabbd7b831ce4f0f6"
-@@ -2393,3 +2398,4 @@ dependencies = [
- "checksum winutil 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7daf138b6b14196e3830a588acf1e86966c694d3e8fb026fb105b8b5dca07e6e"
- "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
- "checksum yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "65923dd1784f44da1d2c3dbbc5e822045628c590ba72123e1c73d3c230c4434d"
-+
diff --git a/pkgs/servers/kanidm/default.nix b/pkgs/servers/kanidm/default.nix
index 0984a622330cd..8941a5c7c6cdc 100644
--- a/pkgs/servers/kanidm/default.nix
+++ b/pkgs/servers/kanidm/default.nix
@@ -17,16 +17,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "kanidm";
-  version = "1.1.0-alpha.9";
+  version = "1.1.0-alpha.10";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "985462590b1c49b26a0b0ee01e24b1eb01942165";
-    hash = "sha256-JtoDuA3NCKmX+wDqav30VwrLeDALYat1iKFWpbYOO1s=";
+    rev = "fb76326234bffd9c9f3f24808d113f2c335c86fe";
+    hash = "sha256-nE3zyigorAbDp5mgXzoyXWGOG+GaFC//SS/7Z9zj1Ps=";
   };
 
-  cargoSha256 = "sha256-pkBkXIG2PF5YMeighQwHwhURWbJabfveyszRIdrQjcA=";
+  cargoSha256 = "sha256-/CcmKYPtBHNdhJnO0OmZtW/39HH58qmCE9hFbIiNsaE=";
 
   KANIDM_BUILD_PROFILE = "release_nixos_${arch}";
 
diff --git a/pkgs/servers/libreddit/default.nix b/pkgs/servers/libreddit/default.nix
index cb3770339068c..61978936d7804 100644
--- a/pkgs/servers/libreddit/default.nix
+++ b/pkgs/servers/libreddit/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "libreddit";
-  version = "0.24.0";
+  version = "0.24.1";
 
   src = fetchFromGitHub {
     owner = "libreddit";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-I/LPCPAZLltb55TBBS3NE2oU97Dx3L/dHLaEVkVBTGA=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-LS9yUjKv0GxK6wGo0f5jHAn7vyo+tvgHd3NWLYpAQOs=";
   };
 
-  cargoSha256 = "sha256-0Udwnvf60sumAeGtaxyiHbkWYMvNjwcWX9W1m3CUvb8=";
+  cargoSha256 = "sha256-14tJLhWITCz/e+XuCww2GVZ+sXy08LQe+DpL4tkLUzE=";
 
   buildInputs = lib.optional stdenv.isDarwin [
     Security
@@ -30,6 +30,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Private front-end for Reddit";
     homepage = "https://github.com/libreddit/libreddit";
+    changelog = "https://github.com/libreddit/libreddit/releases/tag/v${version}";
     license = with licenses; [ agpl3Only ];
     maintainers = with maintainers; [ fab jojosch ];
   };
diff --git a/pkgs/tools/misc/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix
index 3d42ab9374a0c..83edfec258123 100644
--- a/pkgs/tools/misc/screenfetch/default.nix
+++ b/pkgs/tools/misc/screenfetch/default.nix
@@ -19,7 +19,7 @@ let
   ]));
 
 in stdenv.mkDerivation rec {
-  pname = "screenFetch";
+  pname = "screenfetch";
   version = "3.9.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/tools/security/openpgp-card-tools/default.nix b/pkgs/tools/security/openpgp-card-tools/default.nix
index 572c862b7f1f5..c3c512081c620 100644
--- a/pkgs/tools/security/openpgp-card-tools/default.nix
+++ b/pkgs/tools/security/openpgp-card-tools/default.nix
@@ -12,14 +12,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "openpgp-card-tools";
-  version = "0.0.12";
+  version = "0.9.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-3OKOMe7Uj+8qpzfu0DzqwIGa/QJ0YoKczPN9W8HXJZU=";
+    sha256 = "sha256-Mvnj8AEhREP+nGrioC9IHYX3k6sKGKzOh00V8nslyhw=";
   };
 
-  cargoHash = "sha256-gq17BXorXrlJx4zlvLuOT8XGUCqZXFDSxgs/Fv9dChk=";
+  cargoHash = "sha256-0KRq8GsrQaLJ6fopZpdzgxIWHIse9QWDo24IQj1eAhc=";
 
   nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ];
   buildInputs = [ pcsclite nettle ] ++ lib.optionals stdenv.isDarwin [ PCSC ];
diff --git a/pkgs/tools/typesetting/scdoc/default.nix b/pkgs/tools/typesetting/scdoc/default.nix
index c64136ad6b980..17a91d18e3932 100644
--- a/pkgs/tools/typesetting/scdoc/default.nix
+++ b/pkgs/tools/typesetting/scdoc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromSourcehut }:
+{ lib, stdenv, fetchFromSourcehut, buildPackages }:
 
 stdenv.mkDerivation rec {
   pname = "scdoc";
@@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
       --replace "/usr/local" "$out"
   '';
 
+  makeFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    "HOST_SCDOC=${buildPackages.scdoc}/bin/scdoc"
+  ];
+
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c54780951fb46..fbc928a0183d8 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15950,7 +15950,7 @@ with pkgs;
   pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { };
   pysideGeneratorrunner = callPackage ../development/python-modules/pyside/generatorrunner.nix { };
 
-  svg2tikz = python27Packages.svg2tikz;
+  svg2tikz = with python3.pkgs; toPythonApplication svg2tikz;
 
   svg2pdf = callPackage ../tools/graphics/svg2pdf { };