about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/audio/mpdevil/default.nix4
-rw-r--r--pkgs/applications/backup/areca/default.nix2
-rw-r--r--pkgs/applications/editors/android-studio/default.nix4
-rw-r--r--pkgs/applications/graphics/cloudcompare/default.nix5
-rw-r--r--pkgs/applications/misc/dunst/default.nix10
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix9
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--pkgs/applications/virtualization/crun/default.nix3
-rw-r--r--pkgs/applications/window-managers/eww/default.nix43
-rw-r--r--pkgs/build-support/docker/default.nix2
-rw-r--r--pkgs/build-support/java/canonicalize-jar.nix9
-rw-r--r--pkgs/build-support/java/canonicalize-jar.sh29
-rw-r--r--pkgs/build-support/release/ant-build.nix123
-rw-r--r--pkgs/build-support/release/default.nix4
-rw-r--r--pkgs/build-support/release/functions.sh23
-rw-r--r--pkgs/build-support/setup-hooks/canonicalize-jars.sh17
-rw-r--r--pkgs/desktops/arcan/arcan/default.nix (renamed from pkgs/desktops/arcan/arcan.nix)27
-rw-r--r--pkgs/desktops/arcan/default.nix11
-rw-r--r--pkgs/desktops/arcan/durden/default.nix (renamed from pkgs/desktops/arcan/durden.nix)6
-rw-r--r--pkgs/desktops/arcan/pipeworld/default.nix (renamed from pkgs/desktops/arcan/pipeworld.nix)0
-rw-r--r--pkgs/desktops/arcan/prio/default.nix (renamed from pkgs/desktops/arcan/prio.nix)0
-rw-r--r--pkgs/desktops/arcan/wrapper.nix2
-rw-r--r--pkgs/desktops/arcan/xarcan/default.nix (renamed from pkgs/desktops/arcan/xarcan.nix)0
-rw-r--r--pkgs/development/compilers/qbe/default.nix6
-rw-r--r--pkgs/development/coq-modules/coq-elpi/default.nix10
-rw-r--r--pkgs/development/coq-modules/hierarchy-builder/default.nix4
-rw-r--r--pkgs/development/libraries/java/junit/default.nix28
-rw-r--r--pkgs/development/libraries/java/junixsocket/darwin.patch20
-rw-r--r--pkgs/development/libraries/java/junixsocket/default.nix42
-rw-r--r--pkgs/development/libraries/java/swt/awt-libs.patch8
-rw-r--r--pkgs/development/libraries/java/swt/default.nix147
-rw-r--r--pkgs/development/libraries/java/swt/gtk-libs.patch14
-rw-r--r--pkgs/development/libraries/libsidplayfp/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/elpi/default.nix3
-rw-r--r--pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--pkgs/development/web/nodejs/v16.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.4.nix6
-rw-r--r--pkgs/servers/adguardhome/default.nix4
-rw-r--r--pkgs/servers/http/nginx/quic.nix4
-rw-r--r--pkgs/servers/misc/navidrome/default.nix4
-rw-r--r--pkgs/servers/nsq/default.nix28
-rw-r--r--pkgs/servers/nsq/deps.nix83
-rw-r--r--pkgs/servers/plex/raw.nix6
-rw-r--r--pkgs/servers/web-apps/bookstack/default.nix5
-rw-r--r--pkgs/servers/zigbee2mqtt/default.nix4
-rw-r--r--pkgs/tools/misc/broot/default.nix6
-rw-r--r--pkgs/tools/misc/fx_cast/default.nix2
-rw-r--r--pkgs/tools/networking/gping/default.nix8
-rw-r--r--pkgs/tools/package-management/nix/default.nix2
-rw-r--r--pkgs/top-level/aliases.nix2
-rw-r--r--pkgs/top-level/all-packages.nix15
-rw-r--r--pkgs/top-level/perl-packages.nix16
-rw-r--r--pkgs/top-level/stage.nix1
64 files changed, 397 insertions, 476 deletions
diff --git a/pkgs/applications/audio/mpdevil/default.nix b/pkgs/applications/audio/mpdevil/default.nix
index b55cf9be3518a..e355cfb86de0c 100644
--- a/pkgs/applications/audio/mpdevil/default.nix
+++ b/pkgs/applications/audio/mpdevil/default.nix
@@ -7,13 +7,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "mpdevil";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "SoongNoonien";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wa5wkkv8kvzlxrhqmmhjmrzcm5v2dij516dk4vlpv9sazc6gzkm";
+    sha256 = "1zx129zl6bjb0j3f81yx2641nsj6ck04q5f0v0g8f08xgdwsyv3b";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/backup/areca/default.nix b/pkgs/applications/backup/areca/default.nix
index b50ebdd4a87be..d16fc0f85c55a 100644
--- a/pkgs/applications/backup/areca/default.nix
+++ b/pkgs/applications/backup/areca/default.nix
@@ -47,6 +47,8 @@ stdenv.mkDerivation {
   meta = with lib; {
     homepage = "http://www.areca-backup.org/";
     description = "An Open Source personal backup solution";
+    # Builds fine but fails to launch.
+    broken = true;
     license = licenses.gpl2;
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; linux;
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index af4fc5c997cc9..55dc516ce6ea3 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -17,8 +17,8 @@ let
     sha256Hash = "1j1fxl4vzq3bln2z9ycxn9imjgy55yd1nbl7ycmsi90bdp96pzj0";
   };
   latestVersion = { # canary & dev
-    version = "2021.2.1.1"; # "Android Studio Chipmunk (2021.2.1) Canary 1"
-    sha256Hash = "1fn0jv6ybgdhgpwhamw16fjqbg2961ir9jhbjzanysi7y3935nbv";
+    version = "2021.2.1.2"; # "Android Studio Chipmunk (2021.2.1) Canary 2"
+    sha256Hash = "0xvn9zgn4cc9lhjynhiavmvx8bdzg4kcllmhg7xv18kp6wz4lh6z";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/graphics/cloudcompare/default.nix b/pkgs/applications/graphics/cloudcompare/default.nix
index c120ece8cb4f2..cd3f026dfa098 100644
--- a/pkgs/applications/graphics/cloudcompare/default.nix
+++ b/pkgs/applications/graphics/cloudcompare/default.nix
@@ -1,7 +1,6 @@
 { lib
 , mkDerivation
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , dxflib
 , eigen
@@ -20,9 +19,7 @@
 
 mkDerivation rec {
   pname = "cloudcompare";
-  # Released version doesn't work with packaged PCL
-  # because it's too new. Considering that a release
-  # is a year ago it's unreasonable to wait for it.
+  # Released version(v2.11.3) doesn't work with packaged PCL.
   version = "unstable-2021-10-14";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix
index 35e5d59171a52..67753b6e37101 100644
--- a/pkgs/applications/misc/dunst/default.nix
+++ b/pkgs/applications/misc/dunst/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper
+{ stdenv, lib, fetchFromGitHub, makeWrapper, fetchpatch
 , pkg-config, which, perl, libXrandr
 , cairo, dbus, systemd, gdk-pixbuf, glib, libX11, libXScrnSaver
 , wayland, wayland-protocols
@@ -16,6 +16,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-BWbvGetXXCXbfPRY+u6gEfzBmX8PLSnI6a5vfCByiC0=";
   };
 
+  patches = [
+    (fetchpatch {
+      # fixes double free (https://github.com/dunst-project/dunst/issues/957)
+      url = "https://github.com/dunst-project/dunst/commit/dc8efbbaff0e9ba881fa187a01bfe5c033fbdcf9.patch";
+      sha256 = "sha256-xuODOFDP9Eqr3g8OtNnaMmTihhurfj2NLeZPr0TF4vY=";
+    })
+  ];
+
   nativeBuildInputs = [ perl pkg-config which systemd makeWrapper ];
 
   buildInputs = [
diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index 461d27a32c311..656a5f3bea48b 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.19.0";
+  version = "1.19.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ceffaa5022d76132165ca9004c1e57d7400b56c9ab3866e3bd139e2ffe38cb72";
+    sha256 = "ea1a7bf908507a87edffde6d6be93b8859ab0832ca788b61690a13aa5dd52216";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index c8f28b551cd7f..b0c77819c077d 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -50,7 +50,7 @@
 , ffmpeg
 , runtimeShell
 , mesa # firefox wants gbm for drm+dmabuf
-, systemLocale ? config.i18n.defaultLocale or "en-US"
+, systemLocale ? config.i18n.defaultLocale or "en_US"
 }:
 
 let
@@ -78,7 +78,12 @@ let
 
   defaultSource = lib.findFirst (sourceMatches "en-US") {} sources;
 
-  source = lib.findFirst (sourceMatches systemLocale) defaultSource sources;
+  mozLocale =
+    if systemLocale == "ca_ES@valencia"
+    then "ca-valencia"
+    else lib.replaceStrings ["_"] ["-"] systemLocale;
+
+  source = lib.findFirst (sourceMatches mozLocale) defaultSource sources;
 
   pname = "firefox-${channel}-bin-unwrapped";
 
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index c0542014b7e5e..6217862eb1567 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lagrange";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${version}";
-    sha256 = "sha256-iJ6+tc5nls8E/9/Jp5OS9gfJo8SJ5bN+Im/JzEYEAfI=";
+    sha256 = "sha256-peBdmz/aucrKO5Vsj8WkHkpGpLm4inQHee133Zph3MM=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 03a34a69a72c7..d04f2d18f97a1 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -28,11 +28,11 @@
 }:
 
 let
-  version = "5.8.0.16";
+  version = "5.8.3.145";
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
-      sha256 = "1axnh81bf3ab5gzxxqm172wpqlpfbj9a2h3cry3kyxzmrihzbwdm";
+      sha256 = "1p4agpbcpk95r04m775dr17fmlm18vxq9mb65pyfbhvsd1ypw6kr";
     };
   };
 
diff --git a/pkgs/applications/version-management/git-and-tools/gh/default.nix b/pkgs/applications/version-management/git-and-tools/gh/default.nix
index 9fa8e6e6253a2..17484ea31398a 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-70FmFN76azRqnAZ9SLgr/V8moqkWoBbDB6IdSXM7Vmg=";
+    sha256 = "sha256-/czexUqpdsFQAteZ75ur2SFibrtZWffHpPBEPlLQXSY=";
   };
 
-  vendorSha256 = "sha256-004TspNwjCWnrD86HEf5wGpt8OCP5qIrTwlGWSRNUmg=";
+  vendorSha256 = "sha256-slMl5dCyyVNBgDbpYECfYUbpJJ7sWuSGSutYR3rTzj0=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index 1788c970f298a..c91bf3d142aba 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -11,7 +11,6 @@
 , yajl
 , nixosTests
 , criu
-, system
 }:
 
 let
@@ -52,7 +51,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libcap libseccomp systemd yajl ]
     # Criu currently only builds on x86_64-linux
-    ++ lib.optional (lib.elem system criu.meta.platforms) criu;
+    ++ lib.optional (lib.elem stdenv.hostPlatform.system criu.meta.platforms) criu;
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/window-managers/eww/default.nix b/pkgs/applications/window-managers/eww/default.nix
new file mode 100644
index 0000000000000..08160690dcbcb
--- /dev/null
+++ b/pkgs/applications/window-managers/eww/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, gtk3
+, withWayland ? false
+, gtk-layer-shell
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "eww";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "elkowar";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "050zc3w1z9f2vg6sz86mdxf345gd3s3jf09gf4y8y1mqkzs86b8x";
+  };
+
+  cargoSha256 = "sha256-LejnTVv9rhL9CVW1fgj2gFv4amHQeziu5uaH2ae8AAw=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ gtk3 ] ++ lib.optional withWayland gtk-layer-shell;
+
+  cargoBuildFlags = [ "--bin" "eww" ] ++ lib.optionals withWayland [
+    "--no-default-features"
+    "--features=wayland"
+  ];
+
+  cargoTestFlags = cargoBuildFlags;
+
+  # requires unstable rust features
+  RUSTC_BOOTSTRAP = 1;
+
+  meta = with lib; {
+    description = "ElKowars wacky widgets";
+    homepage = "https://github.com/elkowar/eww";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda legendofmiracles ];
+  };
+}
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index a42b025bc7f2a..dcfa5ec593d1d 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -31,8 +31,6 @@
 , writeText
 , writeTextDir
 , writePython3
-, system
-, # Note: This is the cross system we're compiling for
 }:
 
 let
diff --git a/pkgs/build-support/java/canonicalize-jar.nix b/pkgs/build-support/java/canonicalize-jar.nix
new file mode 100644
index 0000000000000..1edd9a6e0d20f
--- /dev/null
+++ b/pkgs/build-support/java/canonicalize-jar.nix
@@ -0,0 +1,9 @@
+{ substituteAll, unzip, zip }:
+
+substituteAll {
+  name = "canonicalize-jar";
+  src = ./canonicalize-jar.sh;
+
+  unzip = "${unzip}/bin/unzip";
+  zip = "${zip}/bin/zip";
+}
diff --git a/pkgs/build-support/java/canonicalize-jar.sh b/pkgs/build-support/java/canonicalize-jar.sh
new file mode 100644
index 0000000000000..af010bcd2b26c
--- /dev/null
+++ b/pkgs/build-support/java/canonicalize-jar.sh
@@ -0,0 +1,29 @@
+# Canonicalize the manifest & repack with deterministic timestamps.
+canonicalizeJar() {
+    local input='' outer=''
+    input="$(realpath -sm -- "$1")"
+    outer="$(pwd)"
+    # -qq: even quieter
+    @unzip@ -qq "$input" -d "$input-tmp"
+    canonicalizeJarManifest "$input-tmp/META-INF/MANIFEST.MF"
+    # Sets all timestamps to Jan 1 1980, the earliest mtime zips support.
+    find -- "$input-tmp" -exec touch -t 198001010000.00 {} +
+    rm "$input"
+    pushd "$input-tmp" 2>/dev/null
+    # -q|--quiet, -r|--recurse-paths
+    # -o|--latest-time: canonicalizes overall archive mtime
+    # -X|--no-extra: don't store platform-specific extra file attribute fields
+    @zip@ -qroX "$outer/tmp-out.jar" . 2> /dev/null
+    popd 2>/dev/null
+    rm -rf "$input-tmp"
+    mv "$outer/tmp-out.jar" "$input"
+}
+
+# See also the Java specification's JAR requirements:
+# https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#Notes_on_Manifest_and_Signature_Files
+canonicalizeJarManifest() {
+    local input=''
+    input="$(realpath -sm -- "$1")"
+    (head -n 1 "$input" && tail -n +2 "$input" | sort | grep -v '^\s*$') > "$input-tmp"
+    mv "$input-tmp" "$input"
+}
diff --git a/pkgs/build-support/release/ant-build.nix b/pkgs/build-support/release/ant-build.nix
deleted file mode 100644
index 6b59241e01edb..0000000000000
--- a/pkgs/build-support/release/ant-build.nix
+++ /dev/null
@@ -1,123 +0,0 @@
-{ src
-, pkgs
-, lib
-, stdenv ? pkgs.stdenv
-, name
-, antTargets ? []
-, jars ? []
-, jarWrappers ? []
-, antProperties ? []
-, antBuildInputs ? []
-, buildfile ? "build.xml"
-, ant ? pkgs.ant
-, jre ? pkgs.jdk
-, hydraAntLogger ? pkgs.hydraAntLogger
-, zip ? pkgs.zip
-, unzip ? pkgs.unzip
-, ... } @ args:
-
-let
-  antFlags = "-f ${buildfile} " + lib.concatMapStrings ({name, value}: "-D${name}=${value} " ) antProperties ;
-in
-stdenv.mkDerivation (
-
-  {
-    inherit jre ant;
-    showBuildStats = true;
-
-    postPhases =
-      ["generateWrappersPhase" "finalPhase"];
-
-    prePhases =
-      ["antSetupPhase"];
-
-    antSetupPhase = with lib; ''
-      if test "$hydraAntLogger" != "" ; then
-        export ANT_ARGS="-logger org.hydra.ant.HydraLogger -lib `ls $hydraAntLogger/share/java/*.jar | head -1`"
-      fi
-      for abi in ${concatStringsSep " " (map (f: "`find ${f} -name '*.jar'`") antBuildInputs)}; do
-        export ANT_ARGS="$ANT_ARGS -lib $abi"
-      done
-    '';
-
-    installPhase = ''
-      runHook preInstall
-
-      mkdir -p $out/share/java
-      ${ if jars == [] then ''
-           find . -name "*.jar" | xargs -I{} cp -v {} $out/share/java
-         '' else lib.concatMapStrings (j: ''
-           cp -v ${j} $out/share/java
-         '') jars }
-
-      . ${./functions.sh}
-      for j in $out/share/java/*.jar ; do
-        canonicalizeJar $j
-        echo file jar $j >> $out/nix-support/hydra-build-products
-      done
-
-      runHook postInstall
-    '';
-
-    generateWrappersPhase =
-      let
-        cp = w: "-cp '${lib.optionalString (w ? classPath) w.classPath}${lib.optionalString (w ? mainClass) ":$out/share/java/*"}'";
-      in
-      ''
-      header "Generating jar wrappers"
-    '' + (lib.concatMapStrings (w: ''
-
-      mkdir -p $out/bin
-      cat >> $out/bin/${w.name} <<EOF
-      #!${pkgs.runtimeShell}
-      export JAVA_HOME=$jre
-      $jre/bin/java ${cp w} ${if w ? mainClass then w.mainClass else "-jar ${w.jar}"} \$@
-      EOF
-
-      chmod a+x $out/bin/${w.name} || exit 1
-    '') jarWrappers) + ''
-      closeNest
-    '';
-
-    buildPhase = ''
-      runHook preBuild
-    '' + (if antTargets == [] then ''
-      header "Building default ant target"
-      ant ${antFlags}
-      closeNest
-    '' else lib.concatMapStrings (t: ''
-      header "Building '${t}' target"
-      ant ${antFlags} ${t}
-      closeNest
-    '') antTargets) + ''
-      runHook postBuild
-    '';
-
-    finalPhase =
-      ''
-        # Propagate the release name of the source tarball.  This is
-        # to get nice package names in channels.
-        if test -e $origSrc/nix-support/hydra-release-name; then
-          cp $origSrc/nix-support/hydra-release-name $out/nix-support/hydra-release-name
-        fi
-      '';
-  }
-
-  // removeAttrs args ["antProperties" "buildInputs" "pkgs" "lib" "jarWrappers"] //
-
-  {
-    name = name + (if src ? version then "-" + src.version else "");
-
-    nativeBuildInputs = [ unzip ];
-    buildInputs = [ant jre zip] ++ lib.optional (args ? buildInputs) args.buildInputs ;
-
-    postHook = ''
-      mkdir -p $out/nix-support
-      echo "$system" > $out/nix-support/system
-      . ${./functions.sh}
-
-      origSrc=$src
-      src=$(findTarball $src)
-    '';
-  }
-)
diff --git a/pkgs/build-support/release/default.nix b/pkgs/build-support/release/default.nix
index 83f755b2becec..d593ec81197e4 100644
--- a/pkgs/build-support/release/default.nix
+++ b/pkgs/build-support/release/default.nix
@@ -14,10 +14,6 @@ rec {
     { inherit stdenv;
     } // args);
 
-  antBuild = args: import ./ant-build.nix (
-    { inherit lib pkgs;
-    } // args);
-
   mvnBuild = args: import ./maven-build.nix (
     { inherit stdenv;
     } // args);
diff --git a/pkgs/build-support/release/functions.sh b/pkgs/build-support/release/functions.sh
index 120d196854274..0c4b81edf822e 100644
--- a/pkgs/build-support/release/functions.sh
+++ b/pkgs/build-support/release/functions.sh
@@ -11,29 +11,6 @@ findTarball() {
     fi
 }
 
-canonicalizeJarManifest() {
-    local input=$1
-    # http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Notes_on_Manifest_and_Signature_Files
-    (head -n 1 $input && tail -n +2 $input | sort | grep -v '^\s*$') > $input-tmp
-    mv $input-tmp $input
-}
-
-# Post-process a jar file to contain canonical timestamps and metadata ordering
-canonicalizeJar() {
-    local input=$1
-    local outer=$(pwd)
-    unzip -qq $input -d $input-tmp
-    canonicalizeJarManifest $input-tmp/META-INF/MANIFEST.MF
-    # Set all timestamps to Jan 1 1980, which is the earliest date the zip format supports...
-    find $input-tmp -exec touch -t 198001010000.00 {} +
-    rm $input
-    pushd $input-tmp
-    zip -q -r -o -X $outer/tmp-out.jar . 2> /dev/null
-    popd
-    rm -rf $input-tmp
-    mv $outer/tmp-out.jar $input
-}
-
 propagateImageName() {
     mkdir -p $out/nix-support
     cat "$diskImage"/nix-support/full-name > $out/nix-support/full-name
diff --git a/pkgs/build-support/setup-hooks/canonicalize-jars.sh b/pkgs/build-support/setup-hooks/canonicalize-jars.sh
new file mode 100644
index 0000000000000..8c55810748ea0
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/canonicalize-jars.sh
@@ -0,0 +1,17 @@
+# This setup hook causes the fixup phase to repack all JAR files in a
+# canonical & deterministic fashion, e.g. resetting mtimes (like with normal
+# store files) and avoiding impure metadata.
+
+fixupOutputHooks+=('if [ -z "$dontCanonicalizeJars" -a -e "$prefix" ]; then canonicalizeJarsIn "$prefix"; fi')
+
+canonicalizeJarsIn() {
+  local dir="$1"
+  header "canonicalizing jars in $dir"
+  dir="$(realpath -sm -- "$dir")"
+  while IFS= read -rd '' f; do
+    canonicalizeJar "$f"
+  done < <(find -- "$dir" -type f -name '*.jar' -print0)
+  stopNest
+}
+
+source @canonicalize_jar@
diff --git a/pkgs/desktops/arcan/arcan.nix b/pkgs/desktops/arcan/arcan/default.nix
index a0d037725ed06..48d4f9a548131 100644
--- a/pkgs/desktops/arcan/arcan.nix
+++ b/pkgs/desktops/arcan/arcan/default.nix
@@ -36,7 +36,7 @@
 , xcbutil
 , xcbutilwm
 , xz
-, buildManPages ? true, ruby
+, buildManpages ? true, ruby
 }:
 
 let
@@ -52,21 +52,21 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "arcan";
-  version = "0.6.1pre1+unstable=2021-09-05";
+  version = "0.6.1pre1+unstable=2021-10-16";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "arcan";
-    rev = "525521177e4458199d7a57f8e6d37d41c04a988d";
-    hash = "sha256-RsvTHPIvF9TeOfjPGcArptIiF9g42BfZkVMCbjJcXnE=";
+    rev = "e0182b944152fbcb49f5c16932d38c05a9fb2680";
+    hash = "sha256-4FodFuO51ehvyjH4YaF/xBY9dwA6cP/e6/BvEsH4w7U=";
   };
 
   postUnpack = ''
-    (
-     cd $sourceRoot/external/git/
-     cp -a ${letoram-openal-src}/ openal/
-     chmod --recursive 744 openal/
-    )
+    pushd .
+    cd $sourceRoot/external/git/
+    cp -a ${letoram-openal-src}/ openal/
+    chmod --recursive 744 openal/
+    popd
   '';
 
   # TODO: work with upstream in order to get rid of these hardcoded paths
@@ -82,7 +82,7 @@ stdenv.mkDerivation rec {
     cmake
     makeWrapper
     pkg-config
-  ] ++ lib.optionals buildManPages [
+  ] ++ lib.optionals buildManpages [
     ruby
   ];
 
@@ -123,8 +123,11 @@ stdenv.mkDerivation rec {
 
   # INFO: According to the source code, the manpages need to be generated before
   # the configure phase
-  preConfigure = lib.optionalString buildManPages ''
-    (cd doc; ruby docgen.rb mangen)
+  preConfigure = lib.optionalString buildManpages ''
+    pushd .
+    cd doc
+    ruby docgen.rb mangen
+    popd
   '';
 
   cmakeFlags = [
diff --git a/pkgs/desktops/arcan/default.nix b/pkgs/desktops/arcan/default.nix
index 39d3e489c5925..9d9f28a795383 100644
--- a/pkgs/desktops/arcan/default.nix
+++ b/pkgs/desktops/arcan/default.nix
@@ -9,25 +9,26 @@ rec {
 
   # Arcan
 
-  arcan = callPackage ./arcan.nix { };
+  arcan = callPackage ./arcan { };
   arcan-wrapped = callPackage ./wrapper.nix { };
-  xarcan = callPackage ./xarcan.nix { };
+  xarcan = callPackage ./xarcan { };
 
   # Appls
 
-  durden = callPackage ./durden.nix { };
+  durden = callPackage ./durden { };
   durden-wrapped = callPackage ./wrapper.nix {
     name = "durden-wrapped";
     appls = [ durden ];
   };
 
-  pipeworld = callPackage ./pipeworld.nix { };
+  pipeworld = callPackage ./pipeworld { };
   pipeworld-wrapped = callPackage ./wrapper.nix {
     name = "pipeworld-wrapped";
     appls = [ pipeworld ];
   };
 
-  prio = callPackage ./prio.nix { };
+  # Warning: prio is deprecated; however it works and is useful for testing
+  prio = callPackage ./prio { };
   prio-wrapped = callPackage ./wrapper.nix {
     name = "prio-wrapped";
     appls = [ prio ];
diff --git a/pkgs/desktops/arcan/durden.nix b/pkgs/desktops/arcan/durden/default.nix
index f6837f96fb6b7..69aae1d216a32 100644
--- a/pkgs/desktops/arcan/durden.nix
+++ b/pkgs/desktops/arcan/durden/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "durden";
-  version = "0.6.1+unstable=2021-07-11";
+  version = "0.6.1+unstable=2021-10-15";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = pname;
-    rev = "8e0a5c07cade9ad9f606781615c9ebae7b28b6d5";
-    hash = "sha256-4cGuCAeYmmr4ACWt2akVQu2cPqqyE6p+XFaKWcFf3t0=";
+    rev = "ab6cdaf19e87b74895a9ab5e1d005a07ea9396a6";
+    hash = "sha256-FxqY1TUgbD/PjQjTZZerb7ngn5nkcqmVwqPvbRAYaqo=";
   };
 
   installPhase = ''
diff --git a/pkgs/desktops/arcan/pipeworld.nix b/pkgs/desktops/arcan/pipeworld/default.nix
index 359c3a21a67cc..359c3a21a67cc 100644
--- a/pkgs/desktops/arcan/pipeworld.nix
+++ b/pkgs/desktops/arcan/pipeworld/default.nix
diff --git a/pkgs/desktops/arcan/prio.nix b/pkgs/desktops/arcan/prio/default.nix
index 34443baa8017e..34443baa8017e 100644
--- a/pkgs/desktops/arcan/prio.nix
+++ b/pkgs/desktops/arcan/prio/default.nix
diff --git a/pkgs/desktops/arcan/wrapper.nix b/pkgs/desktops/arcan/wrapper.nix
index e394e2e08976f..b61c5a5becd87 100644
--- a/pkgs/desktops/arcan/wrapper.nix
+++ b/pkgs/desktops/arcan/wrapper.nix
@@ -24,6 +24,6 @@ symlinkJoin rec {
     done
   '';
 }
-# TODO: set ARCAN_FONTPATH to a set of fonts that can be provided in a parameter
 # TODO: set ARCAN_STATEBASEPATH to $HOME/.arcan/resources/savestates/ - possibly
 # via a suitable script
+# TODO: set ARCAN_FONTPATH to a set of default-but-configurable fontset
diff --git a/pkgs/desktops/arcan/xarcan.nix b/pkgs/desktops/arcan/xarcan/default.nix
index 9bfd7e290733b..9bfd7e290733b 100644
--- a/pkgs/desktops/arcan/xarcan.nix
+++ b/pkgs/desktops/arcan/xarcan/default.nix
diff --git a/pkgs/development/compilers/qbe/default.nix b/pkgs/development/compilers/qbe/default.nix
index e2e0c92a162de..8f6ea0825fa0d 100644
--- a/pkgs/development/compilers/qbe/default.nix
+++ b/pkgs/development/compilers/qbe/default.nix
@@ -6,12 +6,12 @@
 
 stdenv.mkDerivation rec {
   pname = "qbe";
-  version = "unstable-2021-06-17";
+  version = "unstable-2021-10-26";
 
   src = fetchgit {
     url = "git://c9x.me/qbe.git";
-    rev = "6d9ee1389572ae985f6a39bb99dbd10cdf42c123";
-    sha256 = "NaURS5Eu8NBd92wGQcyFEXCALU9Z93nNQeZ8afq4KMw=";
+    rev = "900805a8fe5cfa799966c4ef221524e967c44ca5";
+    sha256 = "sha256-ahUpG2JH3Ee6FUGfTYZZ2TLk5tF6ovvMxbsjZjVug2o=";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/development/coq-modules/coq-elpi/default.nix b/pkgs/development/coq-modules/coq-elpi/default.nix
index 5bf0cd8f83514..9adcbaaa8c75d 100644
--- a/pkgs/development/coq-modules/coq-elpi/default.nix
+++ b/pkgs/development/coq-modules/coq-elpi/default.nix
@@ -4,7 +4,8 @@ with builtins; with lib; let
   elpi = coq.ocamlPackages.elpi.override (lib.switch coq.coq-version [
     { case = "8.11"; out = { version = "1.11.4"; };}
     { case = "8.12"; out = { version = "1.12.0"; };}
-    { case = "8.13"; out = { version = "1.13.5"; };}
+    { case = "8.13"; out = { version = "1.13.7"; };}
+    { case = "8.14"; out = { version = "1.13.7"; };}
   ] {});
 in mkCoqDerivation {
   pname = "elpi";
@@ -12,11 +13,14 @@ in mkCoqDerivation {
   owner = "LPCIC";
   inherit version;
   defaultVersion = lib.switch coq.coq-version [
-    { case = "8.13"; out = "1.10.1"; }
+    { case = "8.14"; out = "1.11.2"; }
+    { case = "8.13"; out = "1.11.1"; }
     { case = "8.12"; out = "1.8.3_8.12"; }
     { case = "8.11"; out = "1.6.3_8.11"; }
   ] null;
-  release."1.10.1".sha256      = "1zsyx26dvj7pznfd2msl2w7zbw51q1nsdw0bdvdha6dga7ijf7xk";
+  release."1.11.2".sha256     = "0qk5cfh15y2zrja7267629dybd3irvxk1raz7z8qfir25a81ckd4";
+  release."1.11.1".sha256     = "10j076vc2hdcbm15m6s7b6xdzibgfcbzlkgjnlkr2vv9k13qf8kc";
+  release."1.10.1".sha256     = "1zsyx26dvj7pznfd2msl2w7zbw51q1nsdw0bdvdha6dga7ijf7xk";
   release."1.9.7".sha256      = "0rvn12h9dpk9s4pxy32p8j0a1h7ib7kg98iv1cbrdg25y5vs85n1";
   release."1.9.5".sha256      = "0gjdwmb6bvb5gh0a6ra48bz5fb3pr5kpxijb7a8mfydvar5i9qr6";
   release."1.9.4".sha256      = "0nii7238mya74f9g6147qmpg6gv6ic9b54x5v85nb6q60d9jh0jq";
diff --git a/pkgs/development/coq-modules/hierarchy-builder/default.nix b/pkgs/development/coq-modules/hierarchy-builder/default.nix
index aff3bc30b5b02..1feb873908a7c 100644
--- a/pkgs/development/coq-modules/hierarchy-builder/default.nix
+++ b/pkgs/development/coq-modules/hierarchy-builder/default.nix
@@ -5,9 +5,11 @@ with lib; mkCoqDerivation {
   owner = "math-comp";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
+    { case = range "8.13" "8.14"; out = "1.2.0"; }
     { case = range "8.12" "8.13"; out = "1.1.0"; }
     { case = isEq "8.11";         out = "0.10.0"; }
   ] null;
+  release."1.2.0".sha256  = "0sk01rvvk652d86aibc8rik2m8iz7jn6mw9hh6xkbxlsvh50719d";
   release."1.1.0".sha256  = "sha256-spno5ty4kU4WWiOfzoqbXF8lWlNSlySWcRReR3zE/4Q=";
   release."1.0.0".sha256  = "0yykygs0z6fby6vkiaiv3azy1i9yx4rqg8xdlgkwnf2284hffzpp";
   release."0.10.0".sha256 = "1a3vry9nzavrlrdlq3cys3f8kpq3bz447q8c4c7lh2qal61wb32h";
@@ -19,6 +21,8 @@ with lib; mkCoqDerivation {
 
   mlPlugin = true;
 
+  buildPhase = "make build";
+
   installFlags = [ "DESTDIR=$(out)" "COQMF_COQLIB=lib/coq/${coq.coq-version}" ];
   extraInstallFlags = [ "VFILES=structures.v" ];
 
diff --git a/pkgs/development/libraries/java/junit/default.nix b/pkgs/development/libraries/java/junit/default.nix
deleted file mode 100644
index 5a10798517729..0000000000000
--- a/pkgs/development/libraries/java/junit/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, antBuild, fetchgit, perl }:
-
-let
-  version = "4.11";
-in antBuild {
-  name = "junit-${version}";
-
-  # I think this is only used to generate the docs, and will likely disappear
-  # with the next release of junit since its build system completely changes.
-  buildInputs = [perl];
-
-  src = fetchgit {
-    url = "https://github.com/junit-team/junit.git";
-    sha256 = "1cn5dhs6vpbfbcmnm2vb1212n0kblv8cxrvnwmksjxd6bzlkac1k";
-    rev = "c2e4d911fadfbd64444fb285342a8f1b72336169";
-  };
-
-  antProperties = [
-    { name = "version"; value = version; }
-  ];
-
-  meta = {
-    homepage = "http://www.junit.org/";
-    description = "A framework for repeatable tests in Java";
-    license = lib.licenses.epl10;
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/java/junixsocket/darwin.patch b/pkgs/development/libraries/java/junixsocket/darwin.patch
deleted file mode 100644
index 97fd42d0b81b7..0000000000000
--- a/pkgs/development/libraries/java/junixsocket/darwin.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -rc junixsocket-1.3/src/main/org/newsclub/net/unix/NativeUnixSocket.java junixsocket-1.3-new/src/main/org/newsclub/net/unix/NativeUnixSocket.java
-*** junixsocket-1.3/src/main/org/newsclub/net/unix/NativeUnixSocket.java        Tue Jul 20 14:59:41 2010
---- junixsocket-1.3-new/src/main/org/newsclub/net/unix/NativeUnixSocket.java    Sun May 27 22:26:15 2012
-***************
-*** 43,49 ****
-              String prefix = "lib";
-              String suffix = ".so";
-              String os = osName.replaceAll("[^A-Za-z0-9]", "").toLowerCase();
-!             if ("macosx".equals(os)) {
-                  suffix = ".dylib";
-              } else if ("linux".equals(os) || "freebsd".equals(os)
-                      || "sunos".equals(os)) {
---- 43,49 ----
-              String prefix = "lib";
-              String suffix = ".so";
-              String os = osName.replaceAll("[^A-Za-z0-9]", "").toLowerCase();
-!             if ("macosx".equals(os) || "darwin".equals(os)) {
-                  suffix = ".dylib";
-              } else if ("linux".equals(os) || "freebsd".equals(os)
-                      || "sunos".equals(os)) {
diff --git a/pkgs/development/libraries/java/junixsocket/default.nix b/pkgs/development/libraries/java/junixsocket/default.nix
deleted file mode 100644
index 0484f4c59ba6f..0000000000000
--- a/pkgs/development/libraries/java/junixsocket/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, stdenv, fetchurl, ant, jdk, junit }:
-
-stdenv.mkDerivation rec {
-  name = "junixsocket-1.3";
-
-  src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/junixsocket/${name}-src.tar.bz2";
-    sha256 = "0c6p8vmiv5nk8i6g1hgivnl3mpb2k3lhjjz0ss9dlirisfrxf1ym";
-  };
-
-  patches = [ ./darwin.patch ];
-
-  buildInputs = [ ant jdk junit ];
-
-  preConfigure =
-    ''
-      substituteInPlace src/main/org/newsclub/net/unix/NativeUnixSocketConfig.java \
-        --replace /opt/newsclub/lib-native $out/lib
-    '';
-
-  buildPhase = "ant";
-
-  ANT_ARGS =
-    # Note that our OpenJDK on Darwin is currently 32-bit, so we have to build a 32-bit dylib.
-    (if stdenv.is64bit then [ "-Dskip32=true" ] else [ "-Dskip64=true" ])
-    ++ [ "-Dgcc=${stdenv.cc.targetPrefix}cc" "-Dant.build.javac.source=1.6" ]
-    ++ lib.optional stdenv.isDarwin "-DisMac=true";
-
-  installPhase =
-    ''
-      mkdir -p $out/share/java $out/lib
-      cp -v dist/*.jar $out/share/java
-      cp -v lib-native/*.so lib-native/*.dylib $out/lib/
-    '';
-
-  meta = {
-    description = "A Java/JNI library for using Unix Domain Sockets from Java";
-    homepage = "https://github.com/kohlschutter/junixsocket";
-    license = lib.licenses.asl20;
-    platforms = lib.platforms.linux ++ lib.platforms.darwin;
-  };
-}
diff --git a/pkgs/development/libraries/java/swt/awt-libs.patch b/pkgs/development/libraries/java/swt/awt-libs.patch
new file mode 100644
index 0000000000000..6c3ff53b79835
--- /dev/null
+++ b/pkgs/development/libraries/java/swt/awt-libs.patch
@@ -0,0 +1,8 @@
+--- a/make_linux.mak
++++ b/make_linux.mak
+@@ -63,4 +63,4 @@
+
+ AWT_LFLAGS = -shared ${SWT_LFLAGS}
+-AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt
++AWT_LIBS = `pkg-config --libs x11` -L$(AWT_LIB_PATH) -ljawt
+
diff --git a/pkgs/development/libraries/java/swt/default.nix b/pkgs/development/libraries/java/swt/default.nix
index bf35490f9a889..b85b348a9640a 100644
--- a/pkgs/development/libraries/java/swt/default.nix
+++ b/pkgs/development/libraries/java/swt/default.nix
@@ -1,73 +1,158 @@
-{ stdenv, lib, fetchurl, unzip, jdk, pkg-config, gtk2
-, libXt, libXtst, libXi, libGLU, libGL, webkitgtk, libsoup, xorg
-, pango, gdk-pixbuf, glib
+{ lib
+, stdenv
+, canonicalize-jars-hook
+, fetchzip
+, pkg-config
+, atk
+, glib
+, gtk2
+, jdk
+, libGL
+, libGLU
+, libXt
+, libXtst
+, gnome2
 }:
 
 let
   platformMap = {
     x86_64-linux =
       { platform = "gtk-linux-x86_64";
-        sha256 = "1qq0pjll6030v4ml0hifcaaik7sx3fl7ghybfdw95vsvxafwp2ff"; };
+        sha256 = "17frac2nsx22hfa72264as31rn35hfh9gfgy0n6wvc3knl5d2716"; };
     i686-linux =
       { platform = "gtk-linux-x86";
-        sha256 = "03mhzraikcs4fsz7d3h5af9pw1bbcfd6dglsvbk2ciwimy9zj30q"; };
+        sha256 = "13ca17rga9yvdshqvh0sfzarmdcl4wv4pid0ls7v35v4844zbc8b"; };
     x86_64-darwin =
       { platform = "cocoa-macosx-x86_64";
-        sha256 = "00k1mfbncvyh8klgmk0891w8jwnd5niqb16j1j8yacrm2smmlb05"; };
+        sha256 = "0wjyxlw7i9zd2m8syd6k1q85fj8pzhxlfsrl8fpgsj37p698bd0a"; };
   };
 
-  metadata = assert platformMap ? ${stdenv.hostPlatform.system}; platformMap.${stdenv.hostPlatform.system};
-
+  metadata = assert platformMap ? ${stdenv.hostPlatform.system};
+    platformMap.${stdenv.hostPlatform.system};
 in stdenv.mkDerivation rec {
+  pname = "swt";
   version = "4.5";
   fullVersion = "${version}-201506032000";
-  pname = "swt";
 
   hardeningDisable = [ "format" ];
 
   # Alas, the Eclipse Project apparently doesn't produce source-only
   # releases of SWT.  So we just grab a binary release and extract
   # "src.zip" from that.
-  src = fetchurl {
-    url = "http://archive.eclipse.org/eclipse/downloads/drops4/R-${fullVersion}/${pname}-${version}-${metadata.platform}.zip";
-    sha256 = metadata.sha256;
+  src = fetchzip {
+    url = "https://archive.eclipse.org/eclipse/downloads/drops4/" +
+      "R-${fullVersion}/${pname}-${version}-${metadata.platform}.zip";
+    inherit (metadata) sha256;
+    stripRoot = false;
+    extraPostFetch = ''
+      mkdir "$unpackDir"
+      cd "$unpackDir"
+
+      renamed="$TMPDIR/src.zip"
+      mv "$out/src.zip" "$renamed"
+      unpackFile "$renamed"
+      rm -r "$out"
+
+      mv "$unpackDir" "$out"
+    '';
   };
 
-  sourceRoot = ".";
+  nativeBuildInputs = [
+    canonicalize-jars-hook
+    pkg-config
+  ];
+  buildInputs = [
+    atk
+    gtk2
+    jdk
+    libGL
+    libGLU
+    libXtst
+    gnome2.gnome_vfs
+    gnome2.libgnome
+    gnome2.libgnomeui
+  ] ++ lib.optionals (lib.hasPrefix "8u" jdk.version) [
+    libXt
+  ];
+
+  patches = [ ./awt-libs.patch ./gtk-libs.patch ];
 
-  nativeBuildInputs = [ unzip pkg-config ];
-  buildInputs = [ jdk gtk2 libXt libXtst libXi libGLU libGL webkitgtk libsoup ];
+  prePatch = ''
+    # clear whitespace from makefiles (since we match on EOL later)
+    sed -i 's/ \+$//' ./*.mak
+  '';
 
-  NIX_LFLAGS = toString (map (x: "-L${lib.getLib x}/lib") [ xorg.libX11 pango gdk-pixbuf glib ]) +
-    " -lX11 -lpango-1.0 -lgdk_pixbuf-2.0 -lglib-2.0";
+  postPatch = let makefile-sed = builtins.toFile "swt-makefile.sed" (''
+    # fix pkg-config invocations in CFLAGS/LIBS pairs.
+    #
+    # change:
+    #     FOOCFLAGS = `pkg-config --cflags `foo bar`
+    #     FOOLIBS = `pkg-config --libs-only-L foo` -lbaz
+    # into:
+    #     FOOCFLAGS = `pkg-config --cflags foo bar`
+    #     FOOLIBS = `pkg-config --libs foo bar`
+    #
+    # the latter works more consistently.
+    /^[A-Z0-9_]\+CFLAGS = `pkg-config --cflags [^`]\+`$/ {
+      N
+      s'' +
+        "/" + ''
+          ^\([A-Z0-9_]\+\)CFLAGS = `pkg-config --cflags \(.\+\)`\
+          \1LIBS = `pkg-config --libs-only-L .\+$'' +
+        "/" + ''
+          \1CFLAGS = `pkg-config --cflags \2`\
+          \1LIBS = `pkg-config --libs \2`'' +
+        "/\n" + ''
+    }
+    # fix WebKit libs not being there
+    s/\$(WEBKIT_LIB) \$(WEBKIT_OBJECTS)$/\0 `pkg-config --libs glib-2.0`/g
+  ''); in ''
+    declare -a makefiles=(./*.mak)
+    sed -i -f ${makefile-sed} "''${makefiles[@]}"
+    # assign Makefile variables eagerly & change backticks to `$(shell …)`
+    sed -i -e 's/ = `\([^`]\+\)`/ := $(shell \1)/' \
+      -e 's/`\([^`]\+\)`/$(shell \1)/' \
+      "''${makefiles[@]}"
+  '';
 
   buildPhase = ''
-    unzip src.zip -d src
+    runHook preBuild
 
-    cd src
-    sed -i "s#^LFLAGS =#LFLAGS = $NIX_LFLAGS #g"  *.mak
     export JAVA_HOME=${jdk}
 
-    sh ./build.sh
+    ./build.sh
 
     mkdir out
-    javac -d out/ $(find org/ -name "*.java")
+    find org/ -name '*.java' -type f -exec javac -d out/ {} +
+
+    runHook postBuild
   '';
 
   installPhase = ''
-    mkdir -p $out/lib
-    cp *.so $out/lib
+    runHook preInstall
+
+    if [ -n "$prefix" ]; then
+      mkdir -p "$prefix"
+    fi
+
+    mkdir -p "$out/lib"
+    cp -t "$out/lib" ./*.so
+
+    mkdir -p "$out/jars"
+    cp -t out/ version.txt
+    (cd out && jar -c *) > "$out/jars/swt.jar"
 
-    mkdir -p $out/jars
-    cp version.txt out/
-    cd out && jar -c * > $out/jars/swt.jar
+    runHook postInstall
   '';
 
   meta = with lib; {
-    homepage = "http://www.eclipse.org/swt/";
-    description = "An widget toolkit for Java to access the user-interface facilities of the operating systems on which it is implemented";
+    homepage = "https://www.eclipse.org/swt/";
+    description = ''
+      A widget toolkit for Java to access the user-interface facilities of
+      the operating systems on which it is implemented.
+    '';
     license = licenses.epl10;
-    maintainers = with maintainers; [ pSub ];
-    platforms = with platforms; linux;
+    maintainers = with maintainers; [ bb010g ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/java/swt/gtk-libs.patch b/pkgs/development/libraries/java/swt/gtk-libs.patch
new file mode 100644
index 0000000000000..cd13082b5df78
--- /dev/null
+++ b/pkgs/development/libraries/java/swt/gtk-libs.patch
@@ -0,0 +1,14 @@
+--- a/make_linux.mak
++++ b/make_linux.mak
+@@ -53,9 +53,4 @@
+
+-# Do not use pkg-config to get libs because it includes unnecessary dependencies (i.e. pangoxft-1.0)
+-GTKCFLAGS = `pkg-config --cflags gtk+-$(GTK_VERSION) gtk+-unix-print-$(GTK_VERSION)`
++GTKCFLAGS = `pkg-config --cflags gtk+-$(GTK_VERSION) gthread-2.0 gtk+-unix-print-$(GTK_VERSION) x11 xtst`
++GTKLIBS = `pkg-config --libs gtk+-$(GTK_VERSION) gthread-2.0 gtk+-unix-print-$(GTK_VERSION) x11 xtst`
+-ifeq ($(GTK_VERSION), 3.0)
+-GTKLIBS = `pkg-config --libs-only-L gtk+-$(GTK_VERSION) gthread-2.0` $(XLIB64) -L/usr/X11R6/lib -lgtk-3 -lgdk-3 -lcairo -lgthread-2.0 -lXtst
+-else
+-GTKLIBS = `pkg-config --libs-only-L gtk+-$(GTK_VERSION) gthread-2.0` $(XLIB64) -L/usr/X11R6/lib -lgtk-x11-$(GTK_VERSION) -lgthread-2.0 -lXtst
+-endif
+
diff --git a/pkgs/development/libraries/libsidplayfp/default.nix b/pkgs/development/libraries/libsidplayfp/default.nix
index f8a39f815c2db..fe902bfdd3066 100644
--- a/pkgs/development/libraries/libsidplayfp/default.nix
+++ b/pkgs/development/libraries/libsidplayfp/default.nix
@@ -16,14 +16,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libsidplayfp";
-  version = "2.2.2";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "libsidplayfp";
     repo = "libsidplayfp";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-RiglS0aqLRDOfwxhVE95NaKpRy94xfeul18o3NB5L3I=";
+    sha256 = "sha256-NtT6NaNs43gp8sgPNkRj85PBbpaG7hdUctDF564nZIk=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/ocaml-modules/elpi/default.nix b/pkgs/development/ocaml-modules/elpi/default.nix
index 642a249e4937d..f04c3b1fe253e 100644
--- a/pkgs/development/ocaml-modules/elpi/default.nix
+++ b/pkgs/development/ocaml-modules/elpi/default.nix
@@ -1,10 +1,11 @@
 { stdenv, lib, fetchzip, buildDunePackage, camlp5
 , ppxlib, ppx_deriving, re, perl, ncurses
-, version ? "1.13.5"
+, version ? "1.13.7"
 }:
 with lib;
 let fetched = import ../../../build-support/coq/meta-fetch/default.nix
   {inherit lib stdenv fetchzip; } ({
+    release."1.13.7".sha256 = "10fnwz30bsvj7ii1vg4l1li5pd7n0qqmwj18snkdr5j9gk0apc1r";
     release."1.13.5".sha256 = "02a6r23mximrdvs6kgv6rp0r2dgk7zynbs99nn7lphw2c4189kka";
     release."1.13.1".sha256 = "12a9nbdvg9gybpw63lx3nw5wnxfznpraprb0wj3l68v1w43xq044";
     release."1.13.0".sha256 = "0dmzy058m1mkndv90byjaik6lzzfk3aaac7v84mpmkv6my23bygr";
diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix
index 79d25ccc3c503..129317be9c026 100644
--- a/pkgs/development/python-modules/trimesh/default.nix
+++ b/pkgs/development/python-modules/trimesh/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "3.9.32";
+  version = "3.9.34";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4e60f5230a4fd0cda5731f236c370d8e1950894b7dbe7a3222cd4051d3d4bb88";
+    sha256 = "5bdef3efae82eaee902541376561f74b143f228f5de45ca3f6a883af3bb7d1e1";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/web/nodejs/v16.nix b/pkgs/development/web/nodejs/v16.nix
index 9cbe093c7a390..a1b0f1ea8c42a 100644
--- a/pkgs/development/web/nodejs/v16.nix
+++ b/pkgs/development/web/nodejs/v16.nix
@@ -8,7 +8,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "16.12.0";
-    sha256 = "1b3bschfa7946jwyqp3nmbdv7ap3rl4p7h50b9bac08981m0lqjz";
+    version = "16.13.0";
+    sha256 = "1k6bgs83s5iaawi63dcc826g23lfqr13phwbbzwx0pllqcyln49j";
     patches = [ ./disable-darwin-v8-system-instrumentation.patch ];
   }
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 9ab5f2683bae5..5fc975b8c6f0a 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.14.252";
+  version = "4.14.253";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "022rw51s8fzz6wcxa9xq6h60fglfx0hq7bmqgs5dlrci6plv4fwk";
+    sha256 = "1mgl55c8fa2ry4qp0phkdkzjhwfnkbhvi266n348kyjyqnjl234f";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index c4b05e1482431..afd34eaf9020d 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.19.213";
+  version = "4.19.214";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "162f5y3jplql3ca5xy889mq6izjinryx2kx16zp582yvsqf8rwiq";
+    sha256 = "0i08np4gxiks7chp6j328pdqb02apbba53mj4zvxb9v37qpxzqgz";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index a0d6115a856b3..e5672de557acf 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,12 +1,12 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.289";
+  version = "4.4.290";
   extraMeta.branch = "4.4";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1g77kf0yzwvpdxs3kw7wdvb07mmk3zm6ydjcw5dnsza8q2inl69k";
+    sha256 = "1dcx58nmzkcc5nz2b5b7mgw4w7y28v3s9wd8h78czdqfa0kxrl20";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index b4952dcb92773..b929e930eb03f 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.287";
+  version = "4.9.288";
   extraMeta.branch = "4.9";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1hlpxnlz0y5vxcmkavsirk2kfb2l34fcvmhlcb99slh28xkjhhfl";
+    sha256 = "0v5592v565bl924c23m1n7p5zddr0w7zn8m97pmikk6p7cyhjq9n";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index 5531a49f1cef6..3376f30212a7c 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.75";
+  version = "5.10.76";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0jrhhk89587caw54nhnwms93kq33qdm75x5f18cp61xrxxgjyaqa";
+    sha256 = "140qkvs88b5zh6mxxzpf36z1r8bbvyh3yigripqjz1k236x0j2j8";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.14.nix b/pkgs/os-specific/linux/kernel/linux-5.14.nix
index 337ef105d7c78..e9d10e5d46836 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.14.14";
+  version = "5.14.15";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0snh17ah49wmfmazy6x42rhvl484h657y0iq4l09a885sjb4xzsd";
+    sha256 = "01m4qw1z7xn3ngsbm1bvcvikqpkjjr9n8585556wkmz9d469mwvl";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index d34ada307b298..3c19d63143880 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.155";
+  version = "5.4.156";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0f2hfz76rnhmv99zhbh7n1z48316ilxrxrnh4b5m3lj84y80y36c";
+    sha256 = "1zkpqfhrc5n0yiij3jzvzywgabva53c8668f1ly1pkrzcbj77zh6";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index ac0f875e3ebb6..85456ad49f7eb 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "18380";
-    sha256 = "0sg7mnxqzc5zdnl8l7gfy1kc52w7c85fdhywvdbjgs7inx2bb1qd";
+    rev = "18413";
+    sha256 = "1s0nr3pnczr1ijv86307mfhmkk7xn5ah46wx6jrx857agcd73fzq";
   }
 , ...
 }:
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
index 7be45dc3e6830..c299cd2a27d7d 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.4.143-rt64"; # updated by ./update-rt.sh
+  version = "5.4.154-rt65"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -14,14 +14,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "090x087p8hxnc1daf2xwj7vg8hg1jhz5i4andkbhdy550l5nalq9";
+    sha256 = "01iwbz1ncakw90yykdw3cx04wnclwf1qa8nmlis08svbcvs99285";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "0prfrvk2ds20sclikizzgg5qf4mfcyaymp9r272d5nj35293622n";
+      sha256 = "0vbcmwg91hzcxiwq9dj550bw24k8r7lk61j06nwcnwmjg9a3g449";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/servers/adguardhome/default.nix b/pkgs/servers/adguardhome/default.nix
index 34f64edc6ba3e..848e259256b96 100644
--- a/pkgs/servers/adguardhome/default.nix
+++ b/pkgs/servers/adguardhome/default.nix
@@ -1,10 +1,10 @@
-{ lib, stdenv, fetchurl, fetchzip, system ? stdenv.targetPlatform }:
+{ lib, stdenv, fetchurl, fetchzip }:
 
 stdenv.mkDerivation rec {
   pname = "adguardhome";
   version = "0.106.3";
 
-  src = (import ./bins.nix { inherit fetchurl fetchzip; }).${system};
+  src = (import ./bins.nix { inherit fetchurl fetchzip; }).${stdenv.hostPlatform.system};
 
   installPhase = ''
     install -m755 -D ./AdGuardHome $out/bin/adguardhome
diff --git a/pkgs/servers/http/nginx/quic.nix b/pkgs/servers/http/nginx/quic.nix
index a6efda3bed7ad..5874d3dd6794d 100644
--- a/pkgs/servers/http/nginx/quic.nix
+++ b/pkgs/servers/http/nginx/quic.nix
@@ -6,8 +6,8 @@
 callPackage ./generic.nix args {
   src = fetchhg {
     url = "https://hg.nginx.org/nginx-quic";
-    rev = "404de224517e"; # branch=quic
-    sha256 = "00x8djp3hqnq60jzpddfrj0v23j2fbl27jyw609ha3wqkkbxrip9";
+    rev = "6d1488b62dc5"; # branch=quic
+    sha256 = "18xrkzzi4cxl4zi7clikwww9ad9l7vilrfs67hhzx7898jkws5fi";
   };
 
   preConfigure = ''
diff --git a/pkgs/servers/misc/navidrome/default.nix b/pkgs/servers/misc/navidrome/default.nix
index f81a2c4d9ab67..19a89bbbf1cba 100644
--- a/pkgs/servers/misc/navidrome/default.nix
+++ b/pkgs/servers/misc/navidrome/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, pkgs, fetchurl, ffmpeg, ffmpegSupport ? true, makeWrapper, nixosTests }:
+{ lib, stdenv, fetchurl, ffmpeg, ffmpegSupport ? true, makeWrapper, nixosTests }:
 
 with lib;
 
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "0.45.1";
 
 
-  src = fetchurl (if pkgs.system == "x86_64-linux"
+  src = fetchurl (if stdenv.hostPlatform.system == "x86_64-linux"
   then {
     url = "https://github.com/deluan/navidrome/releases/download/v${version}/navidrome_${version}_Linux_x86_64.tar.gz";
     sha256 = "sha256-TZcXq51sKoeLPmcRpv4VILDmS6dsS7lxlJzTDH0tEWM=";
diff --git a/pkgs/servers/nsq/default.nix b/pkgs/servers/nsq/default.nix
index 19352984712a1..dd948b8b1c482 100644
--- a/pkgs/servers/nsq/default.nix
+++ b/pkgs/servers/nsq/default.nix
@@ -1,18 +1,26 @@
-{ buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "nsq";
-  version = "0.3.5";
-  rev = "v${version}";
-
-  goPackagePath = "github.com/bitly/nsq";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
-    inherit rev;
-    owner = "bitly";
+    owner = "nsqio";
     repo = "nsq";
-    sha256 = "1r7jgplzn6bgwhd4vn8045n6cmm4iqbzssbjgj7j1c28zbficy2f";
+    rev = "v${version}";
+    sha256 = "0ajqjwfn06zsmz21z9mkl4cblarypaf20228pqcd1293zl6y3ry8";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "11sx96zshaciqrm8rqmhz1sf6nd4lczqwiha031xyyifvmpp2hsa";
+
+  excludedPackages = [ "bench" ];
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = with lib; {
+    homepage = "https://nsq.io/";
+    description = "A realtime distributed messaging platform";
+    changelog = "https://github.com/nsqio/nsq/raw/v${version}/ChangeLog.md";
+    license = licenses.mit;
+  };
 }
diff --git a/pkgs/servers/nsq/deps.nix b/pkgs/servers/nsq/deps.nix
deleted file mode 100644
index 751a18ca92d7d..0000000000000
--- a/pkgs/servers/nsq/deps.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/mreiferson/go-snappystream";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mreiferson/go-snappystream";
-      rev = "028eae7ab5c4c9e2d1cb4c4ca1e53259bbe7e504";
-      sha256 = "0jdd5whp74nvg35d9hzydsi3shnb1vrnd7shi9qz4wxap7gcrid6";
-    };
-  }
-  {
-    goPackagePath = "github.com/bitly/go-nsq";
-    fetch = {
-      type = "git";
-      url = "https://github.com/bitly/go-nsq";
-      rev = "22a8bd48c443ec23bb559675b6df8284bbbdab29";
-      sha256 = "06hrkwk84w8rshkanvfgmgbiml7n06ybv192dvibhwgk2wz2dl46";
-    };
-  }
-  {
-    goPackagePath = "github.com/bitly/go-simplejson";
-    fetch = {
-      type = "git";
-      url = "https://github.com/bitly/go-simplejson";
-      rev = "18db6e68d8fd9cbf2e8ebe4c81a78b96fd9bf05a";
-      sha256 = "0lj9cxyncchlw6p35j0yym5q5waiz0giw6ri41qdwm8y3dghwwiy";
-    };
-  }
-  {
-    goPackagePath = "github.com/blang/semver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/blang/semver";
-      rev = "9bf7bff48b0388cb75991e58c6df7d13e982f1f2";
-      sha256 = "11sinbf942dpyc9wdpidkhmqn438cfp5n8x3xqnmq9aszkld9hy7";
-    };
-  }
-  {
-    goPackagePath = "github.com/bmizerany/perks";
-    fetch = {
-      type = "git";
-      url = "https://github.com/bmizerany/perks";
-      rev = "6cb9d9d729303ee2628580d9aec5db968da3a607";
-      sha256 = "0cdh84hmn21is6hvv6dy9qjdcg9w3l2k8avlk0881a8cqm09s90j";
-    };
-  }
-  {
-    goPackagePath = "github.com/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "056c9bc7be7190eaa7715723883caffa5f8fa3e4";
-      sha256 = "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw";
-    };
-  }
-  {
-    goPackagePath = "github.com/bitly/go-hostpool";
-    fetch = {
-      type = "git";
-      url = "https://github.com/bitly/go-hostpool";
-      rev = "d0e59c22a56e8dadfed24f74f452cea5a52722d2";
-      sha256 = "14ph12krn5zlg00vh9g6g08lkfjxnpw46nzadrfb718yl1hgyk3g";
-    };
-  }
-  {
-    goPackagePath = "github.com/bitly/timer_metrics";
-    fetch = {
-      type = "git";
-      url = "https://github.com/bitly/timer_metrics";
-      rev = "afad1794bb13e2a094720aeb27c088aa64564895";
-      sha256 = "1b717vkwj63qb5kan4b92kx4rg6253l5mdb3lxpxrspy56a6rl0c";
-    };
-  }
-  {
-    goPackagePath = "github.com/mreiferson/go-options";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mreiferson/go-options";
-      rev = "7c174072188d0cfbe6f01bb457626abb22bdff52";
-      sha256 = "0ksyi2cb4k6r2fxamljg42qbz5hdcb9kv5i7y6cx4ajjy0xznwgm";
-    };
-  }
-]
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index 47198243cbce7..fae6366994ee8 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -12,16 +12,16 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.24.4.5081-e362dc1ee";
+  version = "1.24.5.5173-8dcc73a59";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
-    sha256 = "0q3s1qcr65rx2jbf9k0i38w5xvnzw1wcy13gvm0150ad2hqw358b";
+    sha256 = "0yjnqvy2maym7dmfabj0zjd1gwjnnjwqxzk7j24a1vhwyy0dmjcf";
   } else fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
-    sha256 = "17igy0lq7mjmrw5xq92b57np422x8hj6m8qzjri493yc6fw1cl1m";
+    sha256 = "1k2plcqlklch2k8akj8m411i3cm0jvzj02f5x43yhjgjpmwww95z";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/pkgs/servers/web-apps/bookstack/default.nix b/pkgs/servers/web-apps/bookstack/default.nix
index f7a02b5c13dd1..724ff4c95c65c 100644
--- a/pkgs/servers/web-apps/bookstack/default.nix
+++ b/pkgs/servers/web-apps/bookstack/default.nix
@@ -1,8 +1,9 @@
-{ pkgs, system, lib, fetchFromGitHub, dataDir ? "/var/lib/bookstack" }:
+{ pkgs, stdenv, lib, fetchFromGitHub, dataDir ? "/var/lib/bookstack" }:
 
 let
   package = (import ./composition.nix {
-    inherit pkgs system;
+    inherit pkgs;
+    inherit (stdenv.hostPlatform) system;
     noDev = true; # Disable development dependencies
   }).overrideAttrs (attrs : {
     installPhase = attrs.installPhase + ''
diff --git a/pkgs/servers/zigbee2mqtt/default.nix b/pkgs/servers/zigbee2mqtt/default.nix
index 2a7c31a47a0f5..7f561c493e663 100644
--- a/pkgs/servers/zigbee2mqtt/default.nix
+++ b/pkgs/servers/zigbee2mqtt/default.nix
@@ -1,6 +1,6 @@
-{ pkgs, system, dataDir ? "/opt/zigbee2mqtt/data", nixosTests }:
+{ pkgs, stdenv, dataDir ? "/opt/zigbee2mqtt/data", nixosTests }:
 let
-  package = (import ./node.nix { inherit pkgs system; }).package;
+  package = (import ./node.nix { inherit pkgs; inherit (stdenv.hostPlatform) system; }).package;
 in
 package.override rec {
   # don't upgrade! Newer versions cause stack overflows and fail trunk-combined
diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix
index 9193e18d116ad..96788f8c73197 100644
--- a/pkgs/tools/misc/broot/default.nix
+++ b/pkgs/tools/misc/broot/default.nix
@@ -14,14 +14,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "1.6.2";
+  version = "1.6.6";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-SjfTMBGby2jzmeNEtBVYqumLExhXW8nqxpbaeeaRM3w=";
+    sha256 = "sha256-Aezi005CKhGwCRZ2HwxFRRORBvVoZEzljTcKQZ8b8XI=";
   };
 
-  cargoHash = "sha256-BdSqTzXu7Glhr0fQGmnkg5BXYgdQS6jgfH3A9hPpECY=";
+  cargoHash = "sha256-d06lvS5ajXPY/AwmE2rkya82mAOeEv04EtBElDvX2+I=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/misc/fx_cast/default.nix b/pkgs/tools/misc/fx_cast/default.nix
index e3458ccfe5cfc..b94b16d7bf545 100644
--- a/pkgs/tools/misc/fx_cast/default.nix
+++ b/pkgs/tools/misc/fx_cast/default.nix
@@ -8,7 +8,7 @@
 # nix run nixpkgs.nodePackages.node2nix -c node2nix -l package-lock.json -d
 # cp -v node-*.nix package*.json ~/p/nixpkgs/pkgs/tools/misc/fx_cast/app
 # ```
-{ pkgs, stdenv, system }: let
+{ pkgs, stdenv }: let
   nodeEnv = import ./node-env.nix {
     inherit (pkgs) nodejs stdenv lib python2 runCommand writeTextFile;
     inherit pkgs;
diff --git a/pkgs/tools/networking/gping/default.nix b/pkgs/tools/networking/gping/default.nix
index a6ace183df677..a08c02806e7dc 100644
--- a/pkgs/tools/networking/gping/default.nix
+++ b/pkgs/tools/networking/gping/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gping";
-  version = "1.2.1";
+  version = "1.2.6";
 
   src = fetchFromGitHub {
     owner = "orf";
     repo = "gping";
-    rev = "v${version}";
-    sha256 = "sha256-lApm1JLXNjDKLj6zj25OaZDVp7lLW3qyrDsvJrudl8I=";
+    rev = "gping-v${version}";
+    sha256 = "sha256-Sxmwuf+iTBTlpfMFCEUp6JyEaoHgmLIKB/gws2KY/xc=";
   };
 
-  cargoSha256 = "sha256-d1NjPwT3YDp1U9JWeUejpWDbJonFlt5lYbUf7p3jVT0=";
+  cargoSha256 = "sha256-xEASs6r5zxYJXS+at6aX5n0whGp5qwuNwq6Jh0GM+/4=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 2302e14b1aaaf..db9b2c9465fab 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -208,7 +208,7 @@ common =
     patches = (drv.patches or []) ++ [
       # Part of the GC solution in https://github.com/NixOS/nix/pull/4944
       (fetchpatch {
-        url = https://github.com/hercules-ci/nix/raw/5c58d84a76d96f269e3ff1e72c9c9ba5f68576af/boehmgc-coroutine-sp-fallback.diff;
+        url = "https://github.com/hercules-ci/nix/raw/5c58d84a76d96f269e3ff1e72c9c9ba5f68576af/boehmgc-coroutine-sp-fallback.diff";
         sha256 = "sha256-JvnWVTlkltmQUs/0qApv/LPZ690UX1/2hEP+LYRwKbI=";
       })
     ];
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 76de35caac941..f2a275ecc1887 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -1214,4 +1214,6 @@ mapAliases ({
     targetLlvmLibraries = targetPackages.llvmPackages_git.libraries;
   });
 
+  inherit (stdenv.hostPlatform) system; # added 2021-10-22
+
 })
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 58dff9d86caf0..48ec6a745ceb1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -153,6 +153,12 @@ with pkgs;
 
   appindicator-sharp = callPackage ../development/libraries/appindicator-sharp { };
 
+  canonicalize-jar = callPackage ../build-support/java/canonicalize-jar.nix { };
+  canonicalize-jars-hook = makeSetupHook {
+    name = "canonicalize-jars-hook";
+    substitutions = { canonicalize_jar = canonicalize-jar; };
+  } ../build-support/setup-hooks/canonicalize-jars.sh;
+
   ensureNewerSourcesHook = { year }: makeSetupHook {}
     (writeScript "ensure-newer-sources-hook.sh" ''
       postUnpackHooks+=(_ensureNewerSources)
@@ -20156,10 +20162,6 @@ with pkgs;
 
   jflex = callPackage ../development/libraries/java/jflex { };
 
-  junit = callPackage ../development/libraries/java/junit { antBuild = releaseTools.antBuild; };
-
-  junixsocket = callPackage ../development/libraries/java/junixsocket { };
-
   lombok = callPackage ../development/libraries/java/lombok { };
 
   lucene = callPackage ../development/libraries/java/lucene { };
@@ -24562,6 +24564,11 @@ with pkgs;
 
   evilpixie = libsForQt5.callPackage ../applications/graphics/evilpixie { };
 
+  eww = callPackage ../applications/window-managers/eww { };
+  eww-wayland = callPackage ../applications/window-managers/eww {
+    withWayland = true;
+  };
+
   exaile = callPackage ../applications/audio/exaile { };
 
   exercism = callPackage ../applications/misc/exercism { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 2cc19753271af..99d2e16d434ff 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -229,7 +229,7 @@ let
     buildInputs = [ Test2Suite ];
     propagatedBuildInputs = [ AlienBuild ArchiveExtract CaptureTiny Filechdir PathTiny ShellConfigGenerate ShellGuess SortVersions URI ];
     meta = {
-      homepage = https://metacpan.org/pod/Alien::Base::ModuleBuild;
+      homepage = "https://metacpan.org/pod/Alien::Base::ModuleBuild";
       description = "A Module::Build subclass for building Alien:: modules and their libraries";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -9987,7 +9987,7 @@ let
     };
     propagatedBuildInputs = [ IPCRun URI constant-defer ];
     meta = {
-      homepage = http://user42.tuxfamily.org/html-formatexternal/index.html;
+      homepage = "http://user42.tuxfamily.org/html-formatexternal/index.html";
       description = "HTML to text formatting using external programs";
       license = lib.licenses.gpl3Plus;
     };
@@ -15032,7 +15032,7 @@ let
     makeMakerFlags = "POSTGRES_HOME=${pkgs.postgresql}";
 
     meta = {
-      homepage = https://github.com/TJC/Test-postgresql;
+      homepage = "https://github.com/TJC/Test-postgresql";
       description = "PostgreSQL runner for tests";
       license = with lib.licenses; [ artistic2 ];
     };
@@ -17378,7 +17378,7 @@ let
     buildInputs = [ ModuleBuildTiny TestFatal ];
     propagatedBuildInputs = [ Moo MooXTypeTiny TryTiny TypeTiny ];
     meta = {
-      homepage = https://github.com/karenetheridge/Path-Dispatcher;
+      homepage = "https://github.com/karenetheridge/Path-Dispatcher";
       description = "Flexible and extensible dispatch";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -20093,7 +20093,7 @@ let
     buildInputs = [ Test2Suite ];
     propagatedBuildInputs = [ ShellGuess ];
     meta = {
-      homepage = https://metacpan.org/pod/Shell::Config::Generate;
+      homepage = "https://metacpan.org/pod/Shell::Config::Generate";
       description = "Portably generate config for any shell";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -20107,7 +20107,7 @@ let
       sha256 = "4069fa2637e443118ed956d710231d166823d23b2a64eb87b8a46872e865a12b";
     };
     meta = {
-      homepage = https://metacpan.org/pod/Shell::Guess;
+      homepage = "https://metacpan.org/pod/Shell::Guess";
       description = "Make an educated guess about the shell in use";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -23366,7 +23366,7 @@ let
     };
     propagatedBuildInputs = [ AlgorithmDiff HTMLParser ];
     meta = {
-      homepage = https://metacpan.org/release/Text-WordDiff;
+      homepage = "https://metacpan.org/release/Text-WordDiff";
       description = "Track changes between documents";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -25121,7 +25121,7 @@ let
     buildInputs = [ NetHTTP TestFailWarnings TestFatal ];
     propagatedBuildInputs = [ HTTPHeadersActionPack HTTPMessage HashMultiValue IOHandleUtil ModuleRuntime Plack SubExporter TryTiny ];
     meta = {
-      homepage = http://metacpan.org/release/Web-Machine;
+      homepage = "http://metacpan.org/release/Web-Machine";
       description = "A Perl port of Webmachine";
       license = with lib.licenses; [ artistic1 gpl1Plus ];
     };
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index a990c5ed70cb9..7db79276d8997 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -116,7 +116,6 @@ let
     inherit (super.stdenv) buildPlatform hostPlatform targetPlatform;
   in {
     inherit buildPlatform hostPlatform targetPlatform;
-    inherit (hostPlatform) system;
   };
 
   splice = self: super: import ./splice.nix lib self (adjacentPackages != null);