about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--nixos/modules/security/acme.nix2
-rw-r--r--nixos/modules/services/networking/nat.nix2
-rw-r--r--nixos/modules/system/boot/networkd.nix65
-rw-r--r--nixos/modules/system/boot/systemd-lib.nix5
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix6
-rw-r--r--nixos/tests/all-tests.nix2
-rw-r--r--nixos/tests/systemd-networkd.nix (renamed from nixos/tests/systemd-networkd-wireguard.nix)35
-rw-r--r--pkgs/applications/audio/lollypop/default.nix12
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix4
-rw-r--r--pkgs/applications/editors/tiled/default.nix6
-rw-r--r--pkgs/applications/editors/vscode/generic.nix6
-rw-r--r--pkgs/applications/graphics/avocode/default.nix6
-rw-r--r--pkgs/applications/graphics/drawing/default.nix69
-rw-r--r--pkgs/applications/graphics/drawpile/default.nix4
-rw-r--r--pkgs/applications/graphics/mandelbulber/default.nix4
-rw-r--r--pkgs/applications/graphics/sane/backends/brscan4/default.nix6
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--pkgs/applications/misc/fetchmail/default.nix6
-rw-r--r--pkgs/applications/misc/hugo/default.nix4
-rw-r--r--pkgs/applications/misc/wtf/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/ephemeral/default.nix4
-rw-r--r--pkgs/applications/networking/cloudflared/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kube3d/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/kubeseal/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix11
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/tribler/default.nix6
-rw-r--r--pkgs/applications/networking/remote/anydesk/default.nix6
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix4
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix6
-rw-r--r--pkgs/applications/science/logic/lean/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/delta/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--pkgs/build-support/appimage/default.nix60
-rw-r--r--pkgs/build-support/fetchpatch/default.nix6
-rw-r--r--pkgs/data/fonts/navilu/default.nix28
-rw-r--r--pkgs/data/icons/papirus-icon-theme/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/apps/glade/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-tour/default.nix81
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-files/default.nix4
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/kwin/scripts/krohnkite.nix4
-rw-r--r--pkgs/development/compilers/kotlin/default.nix6
-rw-r--r--pkgs/development/coq-modules/paco/default.nix6
-rw-r--r--pkgs/development/interpreters/php/default.nix4
-rw-r--r--pkgs/development/libraries/doctest/default.nix4
-rw-r--r--pkgs/development/libraries/enchant/2.x.nix6
-rw-r--r--pkgs/development/libraries/getdns/default.nix26
-rw-r--r--pkgs/development/libraries/howard-hinnant-date/default.nix10
-rw-r--r--pkgs/development/libraries/howard-hinnant-date/make-zoneinfo-available.diff13
-rw-r--r--pkgs/development/libraries/libabigail/default.nix4
-rw-r--r--pkgs/development/libraries/liblouis/default.nix6
-rw-r--r--pkgs/development/libraries/libnotify/default.nix20
-rw-r--r--pkgs/development/libraries/lyra/default.nix4
-rw-r--r--pkgs/development/libraries/pipewire/default.nix54
-rw-r--r--pkgs/development/libraries/talloc/default.nix6
-rw-r--r--pkgs/development/libraries/zimg/default.nix6
-rw-r--r--pkgs/development/node-packages/default-v10.nix9
-rw-r--r--pkgs/development/python-modules/digitalocean/default.nix50
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix11
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix6
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix6
-rw-r--r--pkgs/development/tools/analysis/lcov/default.nix4
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix16
-rw-r--r--pkgs/development/tools/buildah/default.nix4
-rw-r--r--pkgs/development/tools/cmake-format/default.nix4
-rw-r--r--pkgs/development/tools/documentation/mdsh/default.nix8
-rw-r--r--pkgs/development/tools/git-quick-stats/default.nix4
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix6
-rw-r--r--pkgs/development/tools/misc/act/default.nix8
-rw-r--r--pkgs/development/tools/misc/travis/Gemfile.lock14
-rw-r--r--pkgs/development/tools/misc/travis/gemset.nix32
-rw-r--r--pkgs/development/tools/rust/cargo-xbuild/default.nix6
-rw-r--r--pkgs/development/web/nodejs/v13.nix4
-rw-r--r--pkgs/games/alephone/default.nix99
-rw-r--r--pkgs/games/alephone/durandal/default.nix25
-rw-r--r--pkgs/games/alephone/eternal/default.nix21
-rw-r--r--pkgs/games/alephone/evil/default.nix18
-rw-r--r--pkgs/games/alephone/infinity/default.nix25
-rw-r--r--pkgs/games/alephone/marathon/default.nix25
-rw-r--r--pkgs/games/alephone/pathways-into-darkness/default.nix19
-rw-r--r--pkgs/games/alephone/pheonix/default.nix18
-rw-r--r--pkgs/games/alephone/red/default.nix18
-rw-r--r--pkgs/games/alephone/rubicon-x/default.nix23
-rw-r--r--pkgs/games/wesnoth/default.nix6
-rw-r--r--pkgs/misc/emulators/mednafen/default.nix43
-rw-r--r--pkgs/misc/emulators/mednafen/server.nix2
-rw-r--r--pkgs/misc/emulators/mednaffe/default.nix10
-rw-r--r--pkgs/os-specific/linux/forkstat/default.nix4
-rw-r--r--pkgs/servers/adminer/default.nix31
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix8
-rw-r--r--pkgs/servers/mail/rspamd/default.nix4
-rw-r--r--pkgs/tools/filesystems/fuse-overlayfs/default.nix4
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix4
-rw-r--r--pkgs/tools/graphics/netpbm/default.nix6
-rw-r--r--pkgs/tools/graphics/vips/default.nix77
-rw-r--r--pkgs/tools/misc/dust/default.nix16
-rw-r--r--pkgs/tools/misc/fluent-bit/default.nix4
-rw-r--r--pkgs/tools/misc/mutagen/default.nix4
-rw-r--r--pkgs/tools/misc/tealdeer/default.nix26
-rw-r--r--pkgs/tools/networking/stubby/default.nix19
-rw-r--r--pkgs/tools/nix/nixpkgs-fmt/default.nix6
-rw-r--r--pkgs/tools/package-management/nix/default.nix23
-rw-r--r--pkgs/tools/security/nwipe/default.nix6
-rw-r--r--pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--pkgs/tools/text/link-grammar/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix24
-rw-r--r--pkgs/top-level/php-packages.nix12
109 files changed, 1189 insertions, 354 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 655740d0d0e8..598616c3ba91 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -4949,6 +4949,12 @@
     githubId = 118035;
     name = "Corbin Simpson";
   };
+  mothsart = {
+    email = "jerem.ferry@gmail.com";
+    github = "mothsart";
+    githubId = 10601196;
+    name = "Jérémie Ferry";
+  };
   mounium = {
     email = "muoniurn@gmail.com";
     github = "mounium";
diff --git a/nixos/modules/security/acme.nix b/nixos/modules/security/acme.nix
index 211199d148dc..4c7f0ee657ce 100644
--- a/nixos/modules/security/acme.nix
+++ b/nixos/modules/security/acme.nix
@@ -352,7 +352,7 @@ in
                             cp -p ${spath}/certificates/${keyName}.key key.pem
                             cp -p ${spath}/certificates/${keyName}.crt fullchain.pem
                             cp -p ${spath}/certificates/${keyName}.issuer.crt chain.pem
-                            ln -s fullchain.pem cert.pem
+                            ln -sf fullchain.pem cert.pem
                             cat key.pem fullchain.pem > full.pem
                             chmod ${rights} *.pem
                             chown '${data.user}:${data.group}' *.pem
diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix
index 9c658af30f75..21ae9eb8b6d4 100644
--- a/nixos/modules/services/networking/nat.nix
+++ b/nixos/modules/services/networking/nat.nix
@@ -65,7 +65,7 @@ let
         let
           m                = builtins.match "([0-9.]+):([0-9-]+)" fwd.destination;
           destinationIP    = if (m == null) then throw "bad ip:ports `${fwd.destination}'" else elemAt m 0;
-          destinationPorts = if (m == null) then throw "bad ip:ports `${fwd.destination}'" else elemAt m 1;
+          destinationPorts = if (m == null) then throw "bad ip:ports `${fwd.destination}'" else builtins.replaceStrings ["-"] [":"] (elemAt m 1);
         in ''
           # Allow connections to ${loopbackip}:${toString fwd.sourcePort} from the host itself
           iptables -w -t nat -A nixos-nat-out \
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index a77dbc609f46..6dfbe66fc647 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -67,7 +67,12 @@ let
     (assertOnlyFields [
       "PrivateKeyFile" "ListenPort" "FwMark"
     ])
-    (assertRange "FwMark" 1 4294967295)
+    # The following check won't work on nix <= 2.2
+    # see https://github.com/NixOS/nix/pull/2378
+    #
+    # Add this again when we'll have drop the
+    # nix < 2.2 support.
+    # (assertRange "FwMark" 1 4294967295)
   ];
 
   # NOTE The PresharedKey directive is missing on purpose here, please
@@ -181,7 +186,12 @@ let
     (assertOnlyFields [
       "InterfaceId" "Independent"
     ])
-    (assertRange "InterfaceId" 1 4294967295)
+    # The following check won't work on nix <= 2.2
+    # see https://github.com/NixOS/nix/pull/2378
+    #
+    # Add this again when we'll have drop the
+    # nix < 2.2 support.
+    # (assertRange "InterfaceId" 1 4294967295)
     (assertValueOneOf "Independent" boolValues)
   ];
 
@@ -235,6 +245,26 @@ let
     (assertValueOneOf "AutoJoin" boolValues)
   ];
 
+  checkRoutingPolicyRule = checkUnitConfig "RoutingPolicyRule" [
+    (assertOnlyFields [
+      "TypeOfService" "From" "To" "FirewallMark" "Table" "Priority"
+      "IncomingInterface" "OutgoingInterface" "SourcePort" "DestinationPort"
+      "IPProtocol" "InvertRule" "Family"
+    ])
+    (assertRange "TypeOfService" 0 255)
+    # The following check won't work on nix <= 2.2
+    # see https://github.com/NixOS/nix/pull/2378
+    #
+    # Add this again when we'll have drop the
+    # nix < 2.2 support.
+    #  (assertRange "FirewallMark" 1 4294967295)
+    (assertInt "Priority")
+    (assertPort "SourcePort")
+    (assertPort "DestinationPort")
+    (assertValueOneOf "InvertRule" boolValues)
+    (assertValueOneOf "Family" ["ipv4" "ipv6" "both"])
+  ];
+
   checkRoute = checkUnitConfig "Route" [
     (assertOnlyFields [
       "Gateway" "GatewayOnLink" "Destination" "Source" "Metric"
@@ -535,6 +565,22 @@ let
     };
   };
 
+  routingPolicyRulesOptions = {
+    options = {
+      routingPolicyRuleConfig = mkOption {
+        default = { };
+        example = { routingPolicyRuleConfig = { Table = 10; IncomingInterface = "eth1"; Family = "both"; } ;};
+        type = types.addCheck (types.attrsOf unitOption) checkRoutingPolicyRule;
+        description = ''
+          Each attribute in this set specifies an option in the
+          <literal>[RoutingPolicyRule]</literal> section of the unit.  See
+          <citerefentry><refentrytitle>systemd.network</refentrytitle>
+          <manvolnum>5</manvolnum></citerefentry> for details.
+        '';
+      };
+    };
+  };
+
   routeOptions = {
     options = {
       routeConfig = mkOption {
@@ -772,6 +818,16 @@ let
       '';
     };
 
+    routingPolicyRules = mkOption {
+      default = [ ];
+      type = with types; listOf (submodule routingPolicyRulesOptions);
+      description = ''
+        A list of routing policy rules sections to be added to the unit.  See
+        <citerefentry><refentrytitle>systemd.network</refentrytitle>
+        <manvolnum>5</manvolnum></citerefentry> for details.
+      '';
+    };
+
     routes = mkOption {
       default = [ ];
       type = with types; listOf (submodule routeOptions);
@@ -929,6 +985,11 @@ let
             ${attrsToSection x.routeConfig}
 
           '')}
+          ${flip concatMapStrings def.routingPolicyRules (x: ''
+            [RoutingPolicyRule]
+            ${attrsToSection x.routingPolicyRuleConfig}
+
+          '')}
           ${def.extraConfig}
         '';
     };
diff --git a/nixos/modules/system/boot/systemd-lib.nix b/nixos/modules/system/boot/systemd-lib.nix
index fd1a5b9f62c5..a33602915867 100644
--- a/nixos/modules/system/boot/systemd-lib.nix
+++ b/nixos/modules/system/boot/systemd-lib.nix
@@ -59,6 +59,11 @@ in rec {
     optional (attr ? ${name} && ! isMacAddress attr.${name})
       "Systemd ${group} field `${name}' must be a valid mac address.";
 
+  isPort = i: i >= 0 && i <= 65535;
+
+  assertPort = name: group: attr:
+    optional (attr ? ${name} && ! isPort attr.${name})
+      "Error on the systemd ${group} field `${name}': ${attr.name} is not a valid port number.";
 
   assertValueOneOf = name: values: group: attr:
     optional (attr ? ${name} && !elem attr.${name} values)
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index d14ba98ec48b..09c7e074e121 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -623,7 +623,11 @@ in
         after = [ "zfs-import.target" ];
         path = [ packages.zfsUser ];
         startAt = cfgTrim.interval;
-        serviceConfig.ExecStart = "${pkgs.runtimeShell} -c 'zpool list -H -o name | xargs --no-run-if-empty -n1 zpool trim'";
+        # By default we ignore errors returned by the trim command, in case:
+        # - HDDs are mixed with SSDs
+        # - There is a SSDs in a pool that is currently trimmed.
+        # - There are only HDDs and we would set the system in a degraded state
+        serviceConfig.ExecStart = ''${pkgs.runtimeShell} -c 'for pool in $(zpool list -H -o name); do zpool trim $pool;  done || true' '';
       };
     })
   ];
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index d67ded83edb8..7dd0f23df658 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -285,7 +285,7 @@ in
   systemd-confinement = handleTest ./systemd-confinement.nix {};
   systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
   systemd-networkd-vrf = handleTest ./systemd-networkd-vrf.nix {};
-  systemd-networkd-wireguard = handleTest ./systemd-networkd-wireguard.nix {};
+  systemd-networkd = handleTest ./systemd-networkd.nix {};
   systemd-nspawn = handleTest ./systemd-nspawn.nix {};
   pdns-recursor = handleTest ./pdns-recursor.nix {};
   taskserver = handleTest ./taskserver.nix {};
diff --git a/nixos/tests/systemd-networkd-wireguard.nix b/nixos/tests/systemd-networkd.nix
index be5c0da981d2..319e5e94eceb 100644
--- a/nixos/tests/systemd-networkd-wireguard.nix
+++ b/nixos/tests/systemd-networkd.nix
@@ -41,15 +41,25 @@ let generateNodeConf = { lib, pkgs, config, privk, pubk, peerId, nodeId, ...}: {
               { routeConfig = { Gateway = "10.0.0.${nodeId}"; Destination = "10.0.0.0/24"; }; }
             ];
           };
-          "90-eth1" = {
+          "30-eth1" = {
             matchConfig = { Name = "eth1"; };
-            address = [ "192.168.1.${nodeId}/24" ];
+            address = [
+              "192.168.1.${nodeId}/24"
+              "fe80::${nodeId}/64"
+            ];
+            routingPolicyRules = [
+              { routingPolicyRuleConfig = { Table = 10; IncomingInterface = "eth1"; Family = "both"; };}
+              { routingPolicyRuleConfig = { Table = 20; OutgoingInterface = "eth1"; };}
+              { routingPolicyRuleConfig = { Table = 30; From = "192.168.1.1"; To = "192.168.1.2"; SourcePort = 666 ; DestinationPort = 667; };}
+              { routingPolicyRuleConfig = { Table = 40; IPProtocol = "tcp"; InvertRule = true; };}
+              { routingPolicyRuleConfig = { Table = 50; IncomingInterface = "eth1"; Family = "ipv4"; };}
+            ];
           };
         };
       };
     };
 in import ./make-test-python.nix ({pkgs, ... }: {
-  name = "networkd-wireguard";
+  name = "networkd";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ninjatrappeur ];
   };
@@ -76,9 +86,28 @@ testScript = ''
     start_all()
     node1.wait_for_unit("systemd-networkd-wait-online.service")
     node2.wait_for_unit("systemd-networkd-wait-online.service")
+
+    # ================================
+    # Wireguard
+    # ================================
     node1.succeed("ping -c 5 10.0.0.2")
     node2.succeed("ping -c 5 10.0.0.1")
     # Is the fwmark set?
     node2.succeed("wg | grep -q 42")
+
+    # ================================
+    # Routing Policies
+    # ================================
+    # Testing all the routingPolicyRuleConfig members:
+    # Table + IncomingInterface
+    node1.succeed("sudo ip rule | grep 'from all iif eth1 lookup 10'")
+    # OutgoingInterface
+    node1.succeed("sudo ip rule | grep 'from all oif eth1 lookup 20'")
+    # From + To + SourcePort + DestinationPort
+    node1.succeed(
+        "sudo ip rule | grep 'from 192.168.1.1 to 192.168.1.2 sport 666 dport 667 lookup 30'"
+    )
+    # IPProtocol + InvertRule
+    node1.succeed("sudo ip rule | grep 'not from all ipproto tcp lookup 40'")
 '';
 })
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index 2d2062696d77..ddb4646ba54d 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -12,6 +12,10 @@
 , desktop-file-utils
 , totem-pl-parser
 , gobject-introspection
+, glib-networking
+, gdk-pixbuf
+, glib
+, pango
 , wrapGAppsHook
 , lastFMSupport ? true
 , youtubeSupport ? true
@@ -19,7 +23,7 @@
 
 python3.pkgs.buildPythonApplication rec  {
   pname = "lollypop";
-  version = "1.2.16";
+  version = "1.2.23";
 
   format = "other";
   doCheck = false;
@@ -28,7 +32,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "0rl4a5npjh5sm3kih11cs2j7ik894nlygllbw4j5pn9n9v66x51w";
+    sha256 = "059z7ri5qwkmfh2kvv8rq5wp80mz75423wc5hnm33wb9sgdd5x47";
   };
 
   nativeBuildInputs = [
@@ -42,6 +46,9 @@ python3.pkgs.buildPythonApplication rec  {
   ];
 
   buildInputs = with gst_all_1; [
+    gdk-pixbuf
+    glib
+    glib-networking
     gst-libav
     gst-plugins-bad
     gst-plugins-base
@@ -50,6 +57,7 @@ python3.pkgs.buildPythonApplication rec  {
     gstreamer
     gtk3
     libsoup
+    pango
     totem-pl-parser
   ] ++ lib.optional lastFMSupport libsecret;
 
diff --git a/pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix b/pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix
index 0ed4fe0aaad7..b33153138130 100644
--- a/pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevelop-pg-qt.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "kdevelop-pg-qt";
-  version = "2.2.0";
+  version = "2.2.1";
 
 in
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
-    sha256 = "01a4y98hf8zlrdf5l8f4izqh4n3j3xs93j8ny5a3f4z50nb6hxq7";
+    sha256 = "0ay6m6j6zgrbcm48f14bass83bk4w5qnx76xihc05p69i9w32ff1";
   };
 
   nativeBuildInputs = [ cmake pkgconfig extra-cmake-modules ];
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
index aa6fc0a7d240..0e73dffb20a9 100644
--- a/pkgs/applications/editors/tiled/default.nix
+++ b/pkgs/applications/editors/tiled/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "tiled";
-  version = "1.3.2";
+  version = "1.3.3";
 
   src = fetchFromGitHub {
     owner = "bjorn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jfr9ngsbkn9j3yvy3mnx0llfwmk39dj8kfiy9fawkhw0v4bzjbd";
+    sha256 = "0v8imw6zdygs9ymsgk41jclsfr1jwbracjc5balydh15r57rvwjd";
   };
 
   nativeBuildInputs = [ pkgconfig qmake ];
@@ -19,7 +19,7 @@ mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Free, easy to use and flexible tile map editor";
-    homepage = https://www.mapeditor.org/;
+    homepage = "https://www.mapeditor.org/";
     license = with licenses; [
       bsd2	# libtiled and tmxviewer
       gpl2Plus	# all the rest
diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix
index bdcf786f61d2..ace4bbe9cdc7 100644
--- a/pkgs/applications/editors/vscode/generic.nix
+++ b/pkgs/applications/editors/vscode/generic.nix
@@ -62,6 +62,8 @@ in
       else [ gtk2 at-spi2-atk wrapGAppsHook ] ++ atomEnv.packages)
         ++ [ libsecret libXScrnSaver ];
 
+    runtimeDependencies = [ systemd.lib fontconfig.lib ];
+
     nativeBuildInputs = lib.optional (!stdenv.isDarwin) autoPatchelfHook;
 
     dontBuild = true;
@@ -94,9 +96,5 @@ in
         grep -q "VSCODE_PATH='$out/lib/vscode'" $out/bin/${executableName} # check if sed succeeded
       '';
 
-    preFixup = lib.optionalString (system == "i686-linux" || system == "x86_64-linux") ''
-      gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ systemd fontconfig ]})
-    '';
-
     inherit meta;
   }
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
index c5c29459b453..8b1811c645f2 100644
--- a/pkgs/applications/graphics/avocode/default.nix
+++ b/pkgs/applications/graphics/avocode/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "avocode";
-  version = "4.3.0";
+  version = "4.4.3";
 
   src = fetchurl {
     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
-    sha256 = "0ifb4nsh1mw61gb0hqphr1fmdkq1rjbrvvc9hvpclqg7wc7awids";
+    sha256 = "03pq55mdgbaf6c2q57ww2990wr6qz8hk1r6xs1irqy8990m4afvk";
   };
 
   libPath = stdenv.lib.makeLibraryPath (with xorg; [
@@ -93,7 +93,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://avocode.com/;
+    homepage = "https://avocode.com/";
     description = "The bridge between designers and developers";
     license = licenses.unfree;
     platforms = platforms.linux;
diff --git a/pkgs/applications/graphics/drawing/default.nix b/pkgs/applications/graphics/drawing/default.nix
new file mode 100644
index 000000000000..67fa5da398bc
--- /dev/null
+++ b/pkgs/applications/graphics/drawing/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, fetchFromGitHub
+, meson
+, ninja
+, pkgconfig
+, python3
+, gtk3
+, appstream-glib
+, desktop-file-utils
+, gobject-introspection
+, wrapGAppsHook
+, glib
+, gdk-pixbuf
+, pango
+, gettext
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "drawing";
+  version = "0.4.11";
+
+  format = "other";
+  
+  src = fetchFromGitHub {
+    owner = "maoschanz";
+    repo = pname;
+    rev = version;
+    sha256 = "00c1h6jns11rmsg35gy40fb6ahvik80wpbm2133bjcqxfwwnlal6";
+  };
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    wrapGAppsHook
+    glib
+    gettext
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    gdk-pixbuf
+    pango
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pycairo
+    pygobject3
+  ];
+
+  postPatch = ''
+    chmod +x build-aux/meson/postinstall.py # patchShebangs requires executable file
+    patchShebangs build-aux/meson/postinstall.py
+  '';
+
+  strictDeps = false;
+
+  meta = with lib; {
+    description = "A free basic image editor, similar to Microsoft Paint, but aiming at the GNOME desktop";
+    homepage = "https://maoschanz.github.io/drawing/";
+    maintainers = with maintainers; [ mothsart ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/drawpile/default.nix b/pkgs/applications/graphics/drawpile/default.nix
index abe3bd19f744..a8c4e6d14ba9 100644
--- a/pkgs/applications/graphics/drawpile/default.nix
+++ b/pkgs/applications/graphics/drawpile/default.nix
@@ -60,11 +60,11 @@ let
 
 in mkDerivation rec {
   pname = "drawpile";
-  version = "2.1.16";
+  version = "2.1.17";
 
   src = fetchurl {
     url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz";
-    sha256 = "1mz64c1a5x906j2jqq7i16l1q1d97wgm2y0ybmmcyqzg09x9wyaw";
+    sha256 = "11lhn1mymhqk9g5sh384xhj3qw8h9lv88pr768y9q6kg3sl7nzzf";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/mandelbulber/default.nix b/pkgs/applications/graphics/mandelbulber/default.nix
index 0a3368ec2abe..53d1c5c3f732 100644
--- a/pkgs/applications/graphics/mandelbulber/default.nix
+++ b/pkgs/applications/graphics/mandelbulber/default.nix
@@ -19,13 +19,13 @@ assert withOpenCL -> ocl-icd != null;
 
 mkDerivation rec {
   pname = "mandelbulber";
-  version = "2.20";
+  version = "2.21";
 
   src = fetchFromGitHub {
     owner = "buddhi1980";
     repo = "mandelbulber2";
     rev = version;
-    sha256 = "043dks9fimhradyhdzqdc6lb9z0x9lkj3szj10751g424lppp207";
+    sha256 = "1bmk71vbxc1n8cnizlmzfqlvgxjb95cydbzxlvq1s5givxr2jwli";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/sane/backends/brscan4/default.nix b/pkgs/applications/graphics/sane/backends/brscan4/default.nix
index b431cf51b019..cd75088ea53c 100644
--- a/pkgs/applications/graphics/sane/backends/brscan4/default.nix
+++ b/pkgs/applications/graphics/sane/backends/brscan4/default.nix
@@ -10,17 +10,17 @@ let
   udevRules = callPackage ./udev_rules_type1.nix {};
 
 in stdenv.mkDerivation rec {
-  name = "brscan4-0.4.4-4";
+  name = "brscan4-0.4.8-1";
   src = 
     if stdenv.hostPlatform.system == "i686-linux" then
       fetchurl {
         url = "http://download.brother.com/welcome/dlf006646/${name}.i386.deb";
-        sha256 = "13mhjbzf9nvpdzrc2s98684r7likg76zxs1wlz2h8w59fsqgx4k2";
+        sha256 = "15hrf1gpm36lniqi6yf47dvdqjinm644xb752c6rcv8n06wb79ag";
       }
     else if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://download.brother.com/welcome/dlf006645/${name}.amd64.deb";
-        sha256 = "0xy5px96y1saq9l80vwvfn6anr2q42qlxdhm6ci2a0diwib5q9fd";
+        sha256 = "0pyprjl0capg403yp6pp07gd6msx9kn7bzjcdswdbn28fyxrk5l4";
       }
     else throw "${name} is not supported on ${stdenv.hostPlatform.system} (only i686-linux and x86_64 linux are supported)";
 
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index e5590bfe8556..08746ff88789 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dbeaver-ce";
-  version = "6.3.5";
+  version = "7.0.0";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "1ssxgnd23cy6br7sbfszvx283c5vz9hgfhx0vqyvm13wyr67hk45";
+    sha256 = "0ggay9igpqwq016yzfz2dw3cjhlzadaml0hi06iqzhxljr86qm44";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/fetchmail/default.nix b/pkgs/applications/misc/fetchmail/default.nix
index 6c4ecf6fa392..07691b26b75b 100644
--- a/pkgs/applications/misc/fetchmail/default.nix
+++ b/pkgs/applications/misc/fetchmail/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, openssl }:
 
 let
-  version = "6.3.26";
+  version = "6.4.2";
 in
 stdenv.mkDerivation {
   pname = "fetchmail";
   inherit version;
 
   src = fetchurl {
-    url = "mirror://sourceforge/fetchmail.berlios/fetchmail-${version}.tar.bz2";
-    sha256 = "08rafrs1dlr11myr0p99kg4k80qyy0fa63gg3ac88zn49174lwhw";
+    url = "mirror://sourceforge/fetchmail/fetchmail-${version}.tar.xz";
+    sha256 = "0c563if3kribnj771l14aj06irmrlhm61dc68w6dp7zj4qrnn7z2";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index b32004d0cc77..5af7650982ab 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.65.3";
+  version = "0.66.0";
 
   goPackagePath = "github.com/gohugoio/hugo";
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1m0xhzm1w6y778x3fplzr9dif7lcqlkfvk4b7plywrisv3ic8yqs";
+    sha256 = "177vqxzmldpkpaj7giqlbl39091fa2ga2pnshdj6gc393rw52f0a";
   };
 
   modSha256 = "1f320zbqnv2ybsp3qmlgn3rsjgp2zdb24qjd3gcys30mw48cx3na";
diff --git a/pkgs/applications/misc/wtf/default.nix b/pkgs/applications/misc/wtf/default.nix
index 3dee9844c0c9..f12f96871c00 100644
--- a/pkgs/applications/misc/wtf/default.nix
+++ b/pkgs/applications/misc/wtf/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "wtf";
-  version = "0.25.0";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "wtfutil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1g76hzlyi8s8dayd36cs4bhnwgrrr731ybflw3xk5pgkgcbs14sd";
+    sha256 = "0j184s82bnnhrpm7vdsqg7i3xfm2wqz8jmwqxjkfw87ifgvaha5d";
    };
 
-  modSha256 = "186m7s20r59dyh5lpby4sd4vw3rvnkfzslylwin0c3r6150yrx8h";
+  modSha256 = "14qbjv8rnidfqxzqhli7jyj4573s0swwypdj11mpykcrzk9by8xk";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
diff --git a/pkgs/applications/networking/browsers/ephemeral/default.nix b/pkgs/applications/networking/browsers/ephemeral/default.nix
index 20ecbebd6d8e..ea840694bd31 100644
--- a/pkgs/applications/networking/browsers/ephemeral/default.nix
+++ b/pkgs/applications/networking/browsers/ephemeral/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ephemeral";
-  version = "6.2.1";
+  version = "6.3.0";
 
   src = fetchFromGitHub {
     owner = "cassidyjames";
     repo = "ephemeral";
     rev = version;
-    sha256 = "182kzk68l6rr878aaaqx31c6npb65x77qzhbc5rbqlrrdrb69zsg";
+    sha256 = "0h159szljvphs2hvagxwv6nncx46q0mvr4ylhl2nimap9jvss91n";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix
index c5d6e45ac880..d441e539aaa6 100644
--- a/pkgs/applications/networking/cloudflared/default.nix
+++ b/pkgs/applications/networking/cloudflared/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cloudflared";
-  version = "2020.2.0";
+  version = "2020.2.1";
 
   src = fetchFromGitHub {
     owner  = "cloudflare";
     repo   = "cloudflared";
     rev    = version;
-    sha256 = "1fzndqkmfpx15fllxqxbh7n4m13ydlp50dvkdh8n384j09ndmx4r";
+    sha256 = "1wyvf4bilhiwabqgdwmnhifwc845m4g17pz7xmndzvqwmfd7riw5";
   };
 
   modSha256 = "1y5vh8g967rrm9b9hjlr70bs2rm09cpik673brgk3nzqxka10w7p";
diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix
index 7058c009f2dd..c34065bb22cb 100644
--- a/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -2,8 +2,8 @@
 
 buildGoModule rec {
   pname = "kube3d";
-  version = "1.3.1";
-  k3sVersion = "0.9.1";
+  version = "1.6.0";
+  k3sVersion = "1.17.3+k3s1";
 
   goPackagePath = "github.com/rancher/k3d";
 
@@ -11,7 +11,7 @@ buildGoModule rec {
     owner  = "rancher";
     repo   = "k3d";
     rev    = "v${version}";
-    sha256 = "0bdpjnzyxd6mdc1qv0ml89qds6305kn3wmyci2kv6g2y7r7wxvm2";
+    sha256 = "0qjwqqynvgzainq66fpzczgynwk3hv7wzgfy5271fc6mj2k0zz5x";
   };
 
   buildFlagsArray = ''
@@ -21,13 +21,13 @@ buildGoModule rec {
       -X github.com/rancher/k3d/version.K3sVersion=v${k3sVersion}
   '';
 
-  modSha256 = "1qadf3gc2626l4jpad4lzi649nh8if9m6fgs2cf46r1nish16h95";
+  modSha256 = "0c8bfl0hz5cfhi6jzhhylz051jiix6s7s20fn23w7wri4xaqrjn8";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/rancher/k3d";
     description = "A helper to run k3s (Lightweight Kubernetes. 5 less than k8s) in a docker container";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ kuznero jlesquembre ];
+    maintainers = with maintainers; [ kuznero jlesquembre ngerstle ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/kubeseal/default.nix b/pkgs/applications/networking/cluster/kubeseal/default.nix
index ef5f03253979..6d35d233d4f4 100644
--- a/pkgs/applications/networking/cluster/kubeseal/default.nix
+++ b/pkgs/applications/networking/cluster/kubeseal/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubeseal";
-  version = "0.9.8";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "bitnami-labs";
     repo = "sealed-secrets";
     rev = "v${version}";
-    sha256 = "1d3m13pl30w8d7pxjdhspxprk2jm8cm25rc5s867z4a37c5igv7y";
+    sha256 = "14ahb02p1gqcqbjz6mn3axw436b6bi4ygq5ckm85jzs28s4wrfsv";
   };
 
   modSha256 = "04dmjyz3vi2l0dfpyy42lkp2fv1vlfkvblrxh1dvb37phrkd5lbd";
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 1a83a2f7cd96..d47368a9cb25 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -2,8 +2,9 @@
 , fetchFromGitHub
 # Dynamic libraries
 , dbus, glib, libGL, libX11, libXfixes, libuuid, libxcb, qtbase, qtdeclarative
-, qtimageformats, qtlocation, qtquickcontrols, qtquickcontrols2, qtscript, qtsvg
-, qttools, qtwayland, qtwebchannel, qtwebengine
+, qtgraphicaleffects, qtimageformats, qtlocation, qtquickcontrols
+, qtquickcontrols2, qtscript, qtsvg , qttools, qtwayland, qtwebchannel
+, qtwebengine
 # Runtime
 , coreutils, libjpeg_turbo, pciutils, procps, utillinux
 , pulseaudioSupport ? true, libpulseaudio ? null
@@ -39,9 +40,9 @@ in mkDerivation {
   nativeBuildInputs = [ autoPatchelfHook ];
 
   buildInputs = [
-    dbus glib libGL libX11 libXfixes libuuid libxcb libjpeg_turbo
-    qtbase qtdeclarative qtlocation qtquickcontrols qtquickcontrols2 qtscript
-    qtwebchannel qtwebengine qtimageformats qtsvg qttools qtwayland
+    dbus glib libGL libX11 libXfixes libuuid libxcb libjpeg_turbo qtbase
+    qtdeclarative qtgraphicaleffects qtlocation qtquickcontrols qtquickcontrols2
+    qtscript qtwebchannel qtwebengine qtimageformats qtsvg qttools qtwayland
   ];
 
   runtimeDependencies = optional pulseaudioSupport libpulseaudio;
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 53d073caee47..7e096ca94e30 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -17,13 +17,13 @@
 
 mkDerivation rec {
   pname = "nextcloud-client";
-  version = "2.6.3";
+  version = "2.6.4";
 
   src = fetchFromGitHub {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    sha256 = "17w1bx305w656jkiv55lwncxwdly8rf2dsisqw3c9bc7vz19l6p8";
+    sha256 = "1wr57qwcjfzbpb4p0ybfjpw2hhwp91yrk2n3ywrqywcvjj38jg1q";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix
index 8bd536624086..e9c5f2741432 100644
--- a/pkgs/applications/networking/p2p/tribler/default.nix
+++ b/pkgs/applications/networking/p2p/tribler/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tribler";
-  version = "7.4.1";
+  version = "7.4.4";
 
   src = fetchurl {
     url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.xz";
-    sha256 = "1s9hzr0n00d3hb1z2srq75j7mbml6csylb14hzy9psw27q2c0fqs";
+    sha256 = "0hxiyf1k07ngym2p8r1b5mcx1y2crkyz43gi9sgvsvsyijyaff3p";
   };
 
   nativeBuildInputs = [
@@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     maintainers = with maintainers; [ xvapx ];
-    homepage = https://www.tribler.org/;
+    homepage = "https://www.tribler.org/";
     description = "A completely decentralised P2P filesharing client based on the Bittorrent protocol";
     license = licenses.lgpl21;
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/remote/anydesk/default.nix b/pkgs/applications/networking/remote/anydesk/default.nix
index 8b194e53b445..3e639c283493 100644
--- a/pkgs/applications/networking/remote/anydesk/default.nix
+++ b/pkgs/applications/networking/remote/anydesk/default.nix
@@ -5,7 +5,7 @@
 
 let
   sha256 = {
-    x86_64-linux = "0az7n4lhmd4pz0spjvyiwd4w1gnqbh8f1fvr1jinsssyq0j26ldj";
+    x86_64-linux = "1ry21zw5ghba4xjx8dvimlpprgap7n8j9lqhjsciahbvc16vx5ks";
     i386-linux   = "0vjxbg5hwkqkh600rr75xviwy848r1xw9mxwf6bb6l8b0isvlsgg";
   }.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
 
@@ -28,7 +28,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "anydesk";
-  version = "5.5.2";
+  version = "5.5.4";
 
   src = fetchurl {
     urls = [
@@ -81,7 +81,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     inherit description;
-    homepage = https://www.anydesk.com;
+    homepage = "https://www.anydesk.com";
     license = licenses.unfree;
     platforms = platforms.linux;
     maintainers = with maintainers; [ shyim ];
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index 71421eaf1e71..c40b1573e566 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "rclone";
-  version = "1.50.2";
+  version = "1.51.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0yaspkh88q8i58i8g8mm6sqb75hczavz2lvzdd1iif1bqgi6b5fz";
+    sha256 = "0z4kaq6wnj5dgl52g7f86phxlvnk5pbpda7prgh3hahpyhxj0z7d";
   };
 
   goPackagePath = "github.com/rclone/rclone";
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index 42b13a981d9d..93f66810549b 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "picard-tools";
-  version = "2.21.8";
+  version = "2.22.0";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "0wxacfyxqvd39mzmwkwz39g4mf0ig1zcgymwbhsnhmn9j60mdmrf";
+    sha256 = "1qgg8r81xn2z965v78kfj05vycrd2cz48gxk5csr6kvwk3ba286c";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Tools for high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF";
     license = licenses.mit;
-    homepage = https://broadinstitute.github.io/picard/;
+    homepage = "https://broadinstitute.github.io/picard/";
     maintainers = with maintainers; [ jbedo ];
     platforms = platforms.all;
   };
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index d718dd01ed42..ae8b0ada8062 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchFromGitHub {
     owner  = "leanprover-community";
     repo   = "lean";
     rev    = "v${version}";
-    sha256 = "1filkhyqcjglbavbkjra0nk3y7hw8993wyl7r87ikydb2bjishsc";
+    sha256 = "0crcpzbz75mdyi1vi4mygw3mj4lx73vff58fkic1gfxlpwrwgi20";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Automatic and interactive theorem prover";
-    homepage    = https://leanprover.github.io/;
+    homepage    = "https://leanprover.github.io/";
     license     = licenses.asl20;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice gebner ];
diff --git a/pkgs/applications/version-management/git-and-tools/delta/default.nix b/pkgs/applications/version-management/git-and-tools/delta/default.nix
index 91c448e78575..dff06d384dc7 100644
--- a/pkgs/applications/version-management/git-and-tools/delta/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/delta/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "delta";
-  version = "0.0.16";
+  version = "0.0.17";
 
   src = fetchFromGitHub {
     owner = "dandavison";
     repo = pname;
     rev = version;
-    sha256 = "01jiqizg1ywvrrwhqzfqzbaqrzyfaqm66sixas0mpyzmd6cdwmh6";
+    sha256 = "1j01h60snciqp4psyxf67j3gbmi02c1baprsg9frzjacawbx8cz7";
   };
 
-  cargoSha256 = "0hah0qfgnl4w2h0djyh4xx1jks5dkzwin01qw001dqiasl60prn2";
+  cargoSha256 = "176bfd57gc9casvk0p10ilvzw3q3rkkv7qflja778vrwr9zrmkzq";
 
   meta = with lib; {
     homepage = "https://github.com/dandavison/delta";
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 594d2a3abae0..a7e6918b4d8f 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 = "0.5.7";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "14j8210c1dndnhb8l2ifxcljzhajjhil86lvk9y7ndjkq09805q1";
+    sha256 = "0jqr7i67s00gvi6cbww397jnh8qzwr37prd7frbl12j89glshwy1";
   };
 
-  modSha256 = "1qwcl74sg5az9vaivnvn7f40p72ilmkms5rp52sp5imfrql81lxf";
+  modSha256 = "03m193ny5z77yy586cwh099ypi1lmhb5vdj7d4kphxycnvpndr66";
 
   buildFlagsArray = [
     "-ldflags=-X github.com/cli/cli/command.Version=${version}"
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix
index c871df787b7e..c56aae4c599c 100644
--- a/pkgs/build-support/appimage/default.nix
+++ b/pkgs/build-support/appimage/default.nix
@@ -1,37 +1,47 @@
-{ stdenv, libarchive, patchelf, zlib, buildFHSUserEnv, writeScript }:
+{ stdenv, libarchive, radare2, jq, buildFHSUserEnv, squashfsTools, writeScript }:
 
 rec {
-  # Both extraction functions could be unified, but then
-  # it would depend on libmagic to correctly identify ISO 9660s
 
-  extractType1 = { name, src }: stdenv.mkDerivation {
+  extract = { name, src }: stdenv.mkDerivation {
     name = "${name}-extracted";
     inherit src;
-
-    nativeBuildInputs = [ libarchive ];
+    nativeBuildInputs = [ radare2 libarchive jq squashfsTools ];
     buildCommand = ''
-      mkdir $out
-      bsdtar -x -C $out -f $src
+      # https://github.com/AppImage/libappimage/blob/ca8d4b53bed5cbc0f3d0398e30806e0d3adeaaab/src/libappimage/utils/MagicBytesChecker.cpp#L45-L63
+      eval $(r2 $src -nn -Nqc "p8j 3 @ 8" |
+        jq -r '{appimageSignature: (.[:-1]|implode), appimageType: .[-1]}|
+          @sh "appimageSignature=\(.appimageSignature) appimageType=\(.appimageType)"')
+
+      # check AppImage signature
+      if [[ "$appimageSignature" != "AI" ]]; then
+        echo "Not an appimage."
+        exit
+      fi
+
+      case "$appimageType" in
+        1)
+          mkdir $out
+          bsdtar -x -C $out -f $src
+          ;;
+
+        2)
+          # multiarch offset one-liner using same method as AppImage
+          # see https://gist.github.com/probonopd/a490ba3401b5ef7b881d5e603fa20c93
+          offset=$(r2 $src -nn -Nqc "pfj.elf_header @ 0" |\
+            jq 'map({(.name): .value}) | add | .shoff + (.shnum * .shentsize)')
+
+          unsquashfs -q -d $out -o $offset $src
+          chmod go-w $out
+          ;;
+
+        # 3) get ready, https://github.com/TheAssassin/type3-runtime
+        *) echo "Unsupported AppImage Type: $appimageType";;
+      esac
     '';
   };
 
-  extractType2 = { name, src }: stdenv.mkDerivation {
-    name = "${name}-extracted";
-    inherit src;
-
-    nativeBuildInputs = [ patchelf ];
-    buildCommand = ''
-      install $src ./appimage
-      patchelf \
-        --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
-        --replace-needed libz.so.1 ${zlib}/lib/libz.so.1 \
-        ./appimage
-
-      ./appimage --appimage-extract
-
-      cp -rv squashfs-root $out
-    '';
-  };
+  extractType1 = extract;
+  extractType2 = extract;
 
   wrapAppImage = args@{ name, src, extraPkgs, ... }: buildFHSUserEnv (defaultFhsEnvArgs // {
     inherit name;
diff --git a/pkgs/build-support/fetchpatch/default.nix b/pkgs/build-support/fetchpatch/default.nix
index 2fb32b2324f2..71c0d4664983 100644
--- a/pkgs/build-support/fetchpatch/default.nix
+++ b/pkgs/build-support/fetchpatch/default.nix
@@ -11,9 +11,13 @@ let
 in
 { stripLen ? 0, extraPrefix ? null, excludes ? [], includes ? [], revert ? false, ... }@args:
 
+let
+  # Make base-64 encoded SRI hash filename-safe using RFC 4648 §5
+  tmpname = lib.replaceStrings [ "+" "/" "=" ] [ "-" "_" "" ] args.sha256;
+in
 fetchurl ({
   postFetch = ''
-    tmpfile="$TMPDIR/${args.sha256}"
+    tmpfile="$TMPDIR/${tmpname}"
     if [ ! -s "$out" ]; then
       echo "error: Fetched patch file '$out' is empty!" 1>&2
       exit 1
diff --git a/pkgs/data/fonts/navilu/default.nix b/pkgs/data/fonts/navilu/default.nix
new file mode 100644
index 000000000000..0433ad22de53
--- /dev/null
+++ b/pkgs/data/fonts/navilu/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, fontforge }:
+
+stdenv.mkDerivation rec {
+  pname = "navilu-font";
+  version = "1.2";
+
+  src = fetchFromGitHub {
+    owner = "aravindavk";
+    repo = "Navilu";
+    rev = "v${version}";
+    sha256 = "1vm6n04siaa0zf6jzp5s2gzgr2qxs3vdnmcmg4dcy07py2kd2fla";
+  };
+
+  nativeBuildInputs = [ fontforge ];
+
+  dontConfigure = true;
+
+  preBuild = "patchShebangs generate.pe";
+
+  installPhase = "install -Dm444 -t $out/share/fonts/truetype/ Navilu.ttf";
+
+  meta = with stdenv.lib; src.meta // {
+    description = "A Kannada handwriting font";
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ehmry ];
+  };
+}
diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix
index a6751b0938ec..8055b19ad637 100644
--- a/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "papirus-icon-theme";
-  version = "20200201";
+  version = "20200301";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = pname;
     rev = version;
-    sha256 = "06scfncid3mhc99lj7iq99la5ls7gsc9kzzccbvcbfnvpzlmwjfh";
+    sha256 = "1hknprylmd5zciaz4nkysmbb03am41r9dgnzm3r9l8qg2548js9v";
   };
 
   nativeBuildInputs = [ gtk3 ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Papirus icon theme";
-    homepage = https://github.com/PapirusDevelopmentTeam/papirus-icon-theme;
+    homepage = "https://github.com/PapirusDevelopmentTeam/papirus-icon-theme";
     license = licenses.lgpl3;
     # darwin gives hash mismatch in source, probably because of file names differing only in case
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/apps/glade/default.nix b/pkgs/desktops/gnome-3/apps/glade/default.nix
index 84d1a8a76ba3..367bcdef4723 100644
--- a/pkgs/desktops/gnome-3/apps/glade/default.nix
+++ b/pkgs/desktops/gnome-3/apps/glade/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "glade";
-  version = "3.22.1";
+  version = "3.22.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glade/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z";
+    sha256 = "08bayb1rrpblxf6jhhbw2n3c425w170is4l94pampldl4kmsdvzd";
   };
 
   passthru = {
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Glade;
+    homepage = "https://wiki.gnome.org/Apps/Glade";
     description = "User interface designer for GTK applications";
     maintainers = gnome3.maintainers;
     license = licenses.lgpl2;
diff --git a/pkgs/desktops/gnome-3/core/gnome-tour/default.nix b/pkgs/desktops/gnome-3/core/gnome-tour/default.nix
new file mode 100644
index 000000000000..108ff9afca70
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-tour/default.nix
@@ -0,0 +1,81 @@
+{ stdenv
+, rustPlatform
+, gettext
+, meson
+, ninja
+, fetchFromGitLab
+, pkg-config
+, gtk3
+, glib
+, gdk-pixbuf
+, desktop-file-utils
+, appstream-glib
+, wrapGAppsHook
+, python3
+, gnome3
+, config
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "gnome-tour";
+  version = "0.0.1";
+
+  # We don't use the uploaded tar.xz because it comes pre-vendored
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "GNOME";
+    repo = "gnome-tour";
+    rev = version;
+    sha256 = "0lbkspnlziq3z177071w3jpghmdwflzra1krdwchzmkfmrhy50ch";
+  };
+
+  cargoSha256 = "0k1wp9wswr57fv2d9bysxn97fchd4vz29n5r8gfyp0gcm8rclmij";
+
+  mesonFlags = [
+    "-Ddistro_name=NixOS"
+    "-Ddistro_icon_name=nix-snowflake"
+    "-Ddistro_version=20.09"
+  ];
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    gettext
+    meson
+    ninja
+    pkg-config
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gdk-pixbuf
+    glib
+    gtk3
+  ];
+
+  # Don't use buildRustPackage phases, only use it for rust deps setup
+  configurePhase = null;
+  buildPhase = null;
+  checkPhase = null;
+  installPhase = null;
+
+  postPatch = ''
+    chmod +x build-aux/meson_post_install.py
+    patchShebangs build-aux/meson_post_install.py
+  '';
+
+  # passthru = {
+  #   updateScript = gnome3.updateScript {
+  #     packageName = pname;
+  #   };
+  # };
+
+  meta = with stdenv.lib; {
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-tour";
+    description = "GNOME Greeter & Tour";
+    maintainers = gnome3.maintainers;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix
index 858e49900c5a..d83510c49f67 100644
--- a/pkgs/desktops/pantheon/apps/elementary-files/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-files/default.nix
@@ -30,7 +30,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-files";
-  version = "4.4.0";
+  version = "4.4.1";
 
   repoName = "files";
 
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1l5ki203agy3wkhnxf89ziy4xfmn7m3q0qz1hyrzy7a7qaslq3bg";
+    sha256 = "0s874qnqbx20vyp2z2rhz3z8py0dm21v26xc0h6hyc2gfz4s3jcg";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
index 9d2669821de6..5a9a28382ca9 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-nightlight";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0kw83ws91688xg96k9034dnz15szx2kva9smh1nb7xmdbpzn3qph";
+    sha256 = "1ihg5iz69jgcbyzdkcc2fqmr5l34h2d1jjsx7y86ag1jvhljb82r";
   };
 
   passthru = {
diff --git a/pkgs/desktops/plasma-5/kwin/scripts/krohnkite.nix b/pkgs/desktops/plasma-5/kwin/scripts/krohnkite.nix
index 569ba1571f80..abd655db3753 100644
--- a/pkgs/desktops/plasma-5/kwin/scripts/krohnkite.nix
+++ b/pkgs/desktops/plasma-5/kwin/scripts/krohnkite.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "krohnkite";
-  version = "0.6.1";
+  version = "0.7";
 
   src = fetchFromGitHub {
     owner = "esjeon";
     repo = "krohnkite";
     rev = "v${version}";
-    sha256 = "1rjmpnd5fc5dmxwq9pr0l858185h4580fhicgaywx9l3nppam72a";
+    sha256 = "0j3rm1w6d545qlmx02xs72b5zsigm48hp7lp7yh30z3cjqm00aap";
   };
 
   buildInputs = [
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index 6ad3f96bf59d..9a124ad84771 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, makeWrapper, jre, unzip }:
 
 let
-  version = "1.3.61";
+  version = "1.3.70";
 in stdenv.mkDerivation {
   inherit version;
   pname = "kotlin";
 
   src = fetchurl {
     url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
-    sha256 = "073vb402b03llscgr298iih5lc3y1dn1qxyid2i9hiyrsld1a09r";
+    sha256 = "1iw9pjacjdhhvriaz2kzf677csq2nfx66k5cickk79h7ywppi7bh";
   };
 
   propagatedBuildInputs = [ jre ] ;
@@ -37,7 +37,7 @@ in stdenv.mkDerivation {
       It is developed by a team at JetBrains although it is an OSS language
       and has external contributors.
     '';
-    homepage = https://kotlinlang.org/;
+    homepage = "https://kotlinlang.org/";
     license = stdenv.lib.licenses.asl20;
     maintainers = with stdenv.lib.maintainers;
       [ nequissimus ];
diff --git a/pkgs/development/coq-modules/paco/default.nix b/pkgs/development/coq-modules/paco/default.nix
index fee6de7b35bf..4c0ca4673005 100644
--- a/pkgs/development/coq-modules/paco/default.nix
+++ b/pkgs/development/coq-modules/paco/default.nix
@@ -19,13 +19,15 @@ let
     "8.7" = versions.post_8_6;
     "8.8" = versions.post_8_6;
     "8.9" = versions.post_8_6;
+    "8.10" = versions.post_8_6;
+    "8.11" = versions.post_8_6;
   };
   param = params.${coq.coq-version};
 in
 
 stdenv.mkDerivation rec {
   inherit (param) version;
-  name = "coq-paco-${coq.coq-version}-${version}";
+  name = "coq${coq.coq-version}-paco-${version}";
 
   src = fetchFromGitHub {
     inherit (param) rev sha256;
@@ -52,7 +54,7 @@ stdenv.mkDerivation rec {
   };
 
   passthru = {
-    compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" ];
+    compatibleCoqVersions = stdenv.lib.flip builtins.hasAttr params;
   };
 
 }
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index 0e4d83c1352e..a31bbe73caee 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -286,7 +286,7 @@ in {
   };
 
   php74 = generic {
-    version = "7.4.2";
-    sha256 = "05p8z0ld058yjanxaphy3ka20hn7x7d6nak5sm782w4wprs9k402";
+    version = "7.4.3";
+    sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ=";
   };
 }
diff --git a/pkgs/development/libraries/doctest/default.nix b/pkgs/development/libraries/doctest/default.nix
index e55313bc9fe4..ae7eca92712c 100644
--- a/pkgs/development/libraries/doctest/default.nix
+++ b/pkgs/development/libraries/doctest/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "doctest";
-  version = "2.3.5";
+  version = "2.3.7";
 
   src = fetchFromGitHub {
     owner = "onqtam";
     repo = "doctest";
     rev = version;
-    sha256 = "0rddlzhnv0f5036q0m0p019pismka7sx6x8cnzk65sk77b1dsbhg";
+    sha256 = "134lx7pjnglrl4wdmyr9dz3rjb6d4ir6rvapg00gp52n44dbhnrq";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/enchant/2.x.nix b/pkgs/development/libraries/enchant/2.x.nix
index c92afee6dc94..65d85eddbe40 100644
--- a/pkgs/development/libraries/enchant/2.x.nix
+++ b/pkgs/development/libraries/enchant/2.x.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "enchant";
-  version = "2.2.7";
+  version = "2.2.8";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://github.com/AbiWord/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "029smcna98hllgkm2gy94qa7qphxs4xaa8cdbg5kaaw16mhrf8hv";
+    sha256 = "0m9m564qqwbssvvf7y3dlz1yxzqsjiqy1yd2zsmb3l0d7y2y5df7";
   };
 
   nativeBuildInputs = [
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Generic spell checking library";
-    homepage = https://abiword.github.io/enchant/;
+    homepage = "https://abiword.github.io/enchant/";
     license = licenses.lgpl21Plus; # with extra provision for non-free checkers
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/getdns/default.nix b/pkgs/development/libraries/getdns/default.nix
index 721245ceb6d7..c0268c161aeb 100644
--- a/pkgs/development/libraries/getdns/default.nix
+++ b/pkgs/development/libraries/getdns/default.nix
@@ -1,24 +1,20 @@
-{ stdenv, fetchurl, libtool, unbound, libidn, m4, file
-, openssl, doxygen, autoreconfHook, automake }:
+{ stdenv, fetchurl, unbound, libidn2, openssl, doxygen, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "getdns";
-  version = "1.5.2";
+  version = "1.6.0";
   versionRewrite = builtins.splitVersion version;
 
   src = fetchurl {
-    url = "https://getdnsapi.net/releases/${pname}-${builtins.concatStringsSep "-" versionRewrite}/${pname}-${version}.tar.gz";
-    sha256 = "1h4l0sbkpiahpx2pd5lby10yi22mdxgx5xf1y80r77pa46iac9hq";
+    url = "https://getdnsapi.net/releases/${pname}-${
+        builtins.concatStringsSep "-" versionRewrite
+      }/${pname}-${version}.tar.gz";
+    sha256 = "0jhg7258wz287kjymimvdvv04n69lwxdc3sb62l2p453f5s77ra0";
   };
 
-  nativeBuildInputs = [ libtool m4 autoreconfHook automake file ];
+  nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ unbound libidn openssl doxygen ];
-
-  patchPhase = ''
-    substituteInPlace m4/acx_openssl.m4 \
-      --replace /usr/local/ssl ${openssl.dev}
-    '';
+  buildInputs = [ unbound libidn2 openssl doxygen ];
 
   meta = with stdenv.lib; {
     description = "A modern asynchronous DNS API";
@@ -32,9 +28,9 @@ stdenv.mkDerivation rec {
       interface that enables end-to-end trust in the DNS architecture, and which will
       inspire application developers to implement innovative security solutions in
       their applications.
-'';
-    homepage = https://getdnsapi.net;
-    maintainers = with maintainers; [ leenaars ];
+    '';
+    homepage = "https://getdnsapi.net";
+    maintainers = with maintainers; [ leenaars ehmry ];
     license = licenses.bsd3;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/howard-hinnant-date/default.nix b/pkgs/development/libraries/howard-hinnant-date/default.nix
index 30e5c92b8f09..185af3dff319 100644
--- a/pkgs/development/libraries/howard-hinnant-date/default.nix
+++ b/pkgs/development/libraries/howard-hinnant-date/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, curl, fetchpatch }:
+{ stdenv, fetchFromGitHub, cmake, curl, tzdata, fetchpatch, substituteAll }:
 
 stdenv.mkDerivation rec {
   pname = "howard-hinnant-date-unstable";
@@ -16,6 +16,13 @@ stdenv.mkDerivation rec {
       url = "https://github.com/HowardHinnant/date/commit/e56b2dce7e89a92e1b9b35caa13b3e938c4cedea.patch";
       sha256 = "0m3qbhq7kmm9qa3jm6d2px7c1dxdj5k9lffgdvqnrwmhxwj1p9n2";
     })
+    # Without this patch, this library will drop a `tzdata` directory into
+    # `~/Downloads` if it cannot find `/usr/share/zoneinfo`. Make the path it
+    # searches for `zoneinfo` be the one from the `tzdata` package.
+    (substituteAll {
+      src = ./make-zoneinfo-available.diff;
+      inherit tzdata;
+    })
   ];
 
   nativeBuildInputs = [ cmake ];
@@ -24,6 +31,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DBUILD_TZ_LIB=true"
     "-DBUILD_SHARED_LIBS=true"
+    "-DUSE_SYSTEM_TZ_DB=true"
   ];
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/howard-hinnant-date/make-zoneinfo-available.diff b/pkgs/development/libraries/howard-hinnant-date/make-zoneinfo-available.diff
new file mode 100644
index 000000000000..f9e69ff38cbb
--- /dev/null
+++ b/pkgs/development/libraries/howard-hinnant-date/make-zoneinfo-available.diff
@@ -0,0 +1,13 @@
+diff --git a/src/tz.cpp b/src/tz.cpp
+index 68436c3..2bfe19e 100644
+--- a/src/tz.cpp
++++ b/src/tz.cpp
+@@ -349,7 +349,7 @@ discover_tz_dir()
+     struct stat sb;
+     using namespace std;
+ #  ifndef __APPLE__
+-    CONSTDATA auto tz_dir_default = "/usr/share/zoneinfo";
++    CONSTDATA auto tz_dir_default = "@tzdata@/share/zoneinfo";
+     CONSTDATA auto tz_dir_buildroot = "/usr/share/zoneinfo/uclibc";
+ 
+     // Check special path which is valid for buildroot with uclibc builds
diff --git a/pkgs/development/libraries/libabigail/default.nix b/pkgs/development/libraries/libabigail/default.nix
index dc19adfb6a66..168ce0c9e571 100644
--- a/pkgs/development/libraries/libabigail/default.nix
+++ b/pkgs/development/libraries/libabigail/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libabigail";
-  version = "1.6";
+  version = "1.7";
 
   outputs = [ "bin" "out" "dev" ];
 
   src = fetchurl {
     url = "https://mirrors.kernel.org/sourceware/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "04j07lhvwbp6qp8pdwbf7iqnr7kgpabmqylsw4invpmzwnyp6g6g";
+    sha256 = "0bf8w01l6wm7mm4clfg5rqi30m1ws11qqa4bp2vxghfwgi9ai8i7";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/liblouis/default.nix b/pkgs/development/libraries/liblouis/default.nix
index 932edd20e9a6..83d08dc019bf 100644
--- a/pkgs/development/libraries/liblouis/default.nix
+++ b/pkgs/development/libraries/liblouis/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "liblouis";
-  version = "3.12.0";
+  version = "3.13.0";
 
   src = fetchFromGitHub {
     owner = "liblouis";
     repo = "liblouis";
     rev = "v${version}";
-    sha256 = "0sw7iwb9158z7jslxj9jwh2vqbg0q8wq6fbmk9iz7sfkjqhi80hv";
+    sha256 = "1srpafxdw4627lyv92cn8wd9zda3507qpp5s2z66bsln8jnb1mza";
   };
 
   outputs = [ "out" "dev" "man" "info" "doc" ];
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Open-source braille translator and back-translator";
-    homepage = http://liblouis.org/;
+    homepage = "http://liblouis.org/";
     license = licenses.lgpl21;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix
index f51383833417..aacadc5ea0ad 100644
--- a/pkgs/development/libraries/libnotify/default.nix
+++ b/pkgs/development/libraries/libnotify/default.nix
@@ -3,7 +3,8 @@
 , meson
 , ninja
 , pkgconfig
-, fetchpatch
+, libxslt
+, docbook-xsl-ns
 , glib
 , gdk-pixbuf
 , gobject-introspection
@@ -12,24 +13,15 @@
 
 stdenv.mkDerivation rec {
   pname = "libnotify";
-  version = "0.7.8";
+  version = "0.7.9";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "man" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1371csx0n92g60b5dmai4mmzdnx8081mc3kcgc6a0xipcq5rw839";
+    sha256 = "ZsBRftFt968ljoMgj6r1Bpcn39ZplcS7xRwWlU1nR2E=";
   };
 
-  patches = [
-    # Fix darwin build
-    # https://gitlab.gnome.org/GNOME/libnotify/merge_requests/9
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/libnotify/commit/55eb69247fe2b479ea43311503042fc03bf4e67d.patch";
-      sha256 = "1hlb5b7c5axiyir1i5j2pi94bm2gyr1ybkp6yaqy7yk6iiqlvv50";
-    })
-  ];
-
   mesonFlags = [
     # disable tests as we don't need to depend on GTK (2/3)
     "-Dtests=false"
@@ -42,6 +34,8 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkgconfig
+    libxslt
+    docbook-xsl-ns
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/libraries/lyra/default.nix b/pkgs/development/libraries/lyra/default.nix
index 3e73c9266a03..e7227ac63885 100644
--- a/pkgs/development/libraries/lyra/default.nix
+++ b/pkgs/development/libraries/lyra/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lyra";
-  version = "1.1";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "bfgroup";
     repo = "lyra";
     rev = version;
-    sha256 = "1wcwsmg41bmjir6pjrjxrwccqj25d9068ifi9m6xz6q3fhaq6s81";
+    sha256 = "0rpk1hadfcvjps5k307sddv23q73m2918wclfxfi6mj8l7gwkcn9";
   };
 
   nativeBuildInputs = [ meson ninja ];
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index 3efbea97c5e9..094e90fd500d 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -1,16 +1,36 @@
-{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, doxygen, graphviz, valgrind
-, glib, dbus, gst_all_1, alsaLib, ffmpeg, libjack2, udev, libva, xorg
-, sbc, SDL2, makeFontsConf
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkgconfig
+, doxygen
+, graphviz
+, valgrind
+, glib
+, dbus
+, gst_all_1
+, alsaLib
+, ffmpeg
+, libjack2
+, udev
+, libva
+, xorg
+, sbc
+, SDL2
+, makeFontsConf
 }:
 
 let
   fontsConf = makeFontsConf {
-    fontDirectories = [ ];
+    fontDirectories = [];
   };
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "pipewire";
   version = "0.2.7";
 
+  outputs = [ "out" "lib" "dev" "doc" ];
+
   src = fetchFromGitHub {
     owner = "PipeWire";
     repo = "pipewire";
@@ -18,14 +38,28 @@ in stdenv.mkDerivation rec {
     sha256 = "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc";
   };
 
-  outputs = [ "out" "lib" "dev" "doc" ];
-
   nativeBuildInputs = [
-    meson ninja pkgconfig doxygen graphviz valgrind
+    doxygen
+    graphviz
+    meson
+    ninja
+    pkgconfig
+    valgrind
   ];
+
   buildInputs = [
-    glib dbus gst_all_1.gst-plugins-base gst_all_1.gstreamer
-    alsaLib ffmpeg libjack2 udev libva xorg.libX11 sbc SDL2
+    SDL2
+    alsaLib
+    dbus
+    ffmpeg
+    glib
+    gst_all_1.gst-plugins-base
+    gst_all_1.gstreamer
+    libjack2
+    libva
+    sbc
+    udev
+    xorg.libX11
   ];
 
   mesonFlags = [
diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix
index 4c0b16c140b6..9e9bc1c804bb 100644
--- a/pkgs/development/libraries/talloc/default.nix
+++ b/pkgs/development/libraries/talloc/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "talloc";
-  version = "2.1.16";
+  version = "2.3.1";
 
   src = fetchurl {
     url = "mirror://samba/talloc/${pname}-${version}.tar.gz";
-    sha256 = "1aajda08yf7njgvg6r21ccxlvkarb9bwvf4jqh8yn3871a1zcnqr";
+    sha256 = "0xwzgzrqamfdlklwacp9d219pqkah0yfrhxb1j7bxlmgzp924j7g";
   };
 
   nativeBuildInputs = [ pkgconfig fixDarwinDylibNames python wafHook
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Hierarchical pool based memory allocator with destructors";
-    homepage = https://tdb.samba.org/;
+    homepage = "https://tdb.samba.org/";
     license = licenses.gpl3;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/zimg/default.nix b/pkgs/development/libraries/zimg/default.nix
index 75f10f94fb38..f5913137e1c2 100644
--- a/pkgs/development/libraries/zimg/default.nix
+++ b/pkgs/development/libraries/zimg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zimg";
-  version = "2.9.2";
+  version = "2.9.3";
 
   src = fetchFromGitHub {
     owner  = "sekrit-twc";
     repo   = "zimg";
     rev    = "release-${version}";
-    sha256 = "0jlgrlfs9maixd8mx7gk2kfawz8ixnihkxi7vhyzfy1gq49vmxm2";
+    sha256 = "1dqyrq3p8bkgvj4ci50ac342hjnhyz6xxvhiwp7wpi3v3nbj7s02";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Scaling, colorspace conversion and dithering library";
-    homepage    = https://github.com/sekrit-twc/zimg;
+    homepage    = "https://github.com/sekrit-twc/zimg";
     license     = licenses.wtfpl;
     platforms   = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ rnhmjoj ];
diff --git a/pkgs/development/node-packages/default-v10.nix b/pkgs/development/node-packages/default-v10.nix
index 54bd0337fade..5d7e2c7668f2 100644
--- a/pkgs/development/node-packages/default-v10.nix
+++ b/pkgs/development/node-packages/default-v10.nix
@@ -115,12 +115,9 @@ nodePackages // {
   joplin = nodePackages.joplin.override {
     nativeBuildInputs = [ pkgs.pkg-config ];
     buildInputs = with pkgs; [
-      # sharp, dep list:
-      # http://sharp.pixelplumbing.com/en/stable/install/
-      cairo expat fontconfig freetype fribidi gettext giflib
-      glib harfbuzz lcms libcroco libexif libffi libgsf
-      libjpeg_turbo libpng librsvg libtiff vips
-      libwebp libxml2 pango pixman zlib
+      # required by sharp
+      # https://sharp.pixelplumbing.com/install
+      vips
 
       nodePackages.node-pre-gyp
     ];
diff --git a/pkgs/development/python-modules/digitalocean/default.nix b/pkgs/development/python-modules/digitalocean/default.nix
index e81caa66e5f3..404331a49577 100644
--- a/pkgs/development/python-modules/digitalocean/default.nix
+++ b/pkgs/development/python-modules/digitalocean/default.nix
@@ -1,23 +1,53 @@
-{ stdenv, buildPythonPackage, fetchPypi, requests, jsonpickle }:
+{ buildPythonPackage
+, fetchFromGitHub
+, fetchPypi
+, isPy3k
+, jsonpickle
+, mock
+, pytest
+, pytestCheckHook
+, requests
+, responses
+, stdenv
+}:
 
 buildPythonPackage rec {
   pname = "python-digitalocean";
-  version = "1.13.2";
+  version = "1.15.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0h4drpdsmk0b3rlvg6q6cz11k23w0swj1iddk7xdcw4m7r7c52kw";
+  src = fetchFromGitHub {
+    owner = "koalalorenzo";
+    repo = "python-digitalocean";
+    rev = "v${version}";
+    sha256 = "1pz15mh72i992p63grwzqn2bbp6sm37zcp4f0fy1z7rsargwsbcz";
   };
 
-  propagatedBuildInputs = [ requests jsonpickle ];
+  propagatedBuildInputs = [
+    jsonpickle
+    requests
+  ];
 
-  # Package doesn't distribute tests.
-  doCheck = false;
+  dontUseSetuptoolsCheck = true;
+
+  checkInputs = [
+    pytest
+    pytestCheckHook
+    responses
+  ] ++ stdenv.lib.optionals (!isPy3k) [
+    mock
+  ];
+
+  preCheck = ''
+    cd digitalocean
+  '';
 
   meta = with stdenv.lib; {
     description = "digitalocean.com API to manage Droplets and Images";
-    homepage = https://pypi.python.org/pypi/python-digitalocean;
+    homepage = "https://pypi.python.org/pypi/python-digitalocean";
     license = licenses.lgpl3;
-    maintainers = with maintainers; [ teh ];
+    maintainers = with maintainers; [
+      kiwi
+      teh
+    ];
   };
 }
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index f26e33ca2427..65f27f497b7f 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -39,15 +39,6 @@ let
 in
 
 {
-  asciidoctor-diagram = { version, ruby, ... }: {
-    postInstall = ''
-      # Delete vendored JAR files unless using JRuby.
-      if ruby -e 'exit(RUBY_PLATFORM != "java")'; then
-          rm -v $out/${ruby.gemPath}/gems/$gemName-${version}/lib/*.jar
-      fi
-    '';
-  };
-
   atk = attrs: {
     dependencies = attrs.dependencies ++ [ "gobject-introspection" ];
     nativeBuildInputs = [ rake bundler pkgconfig ];
@@ -506,7 +497,7 @@ in
         --replace "gobject-2.0" "${glib.out}/lib/libgobject-2.0${stdenv.hostPlatform.extensions.sharedLibrary}"
 
       substituteInPlace lib/vips.rb \
-        --replace "vips_libname = 'vips'" "vips_libname = '${vips}/lib/libvips${stdenv.hostPlatform.extensions.sharedLibrary}'"
+        --replace "vips_libname = 'vips'" "vips_libname = '${stdenv.lib.getLib vips}/lib/libvips${stdenv.hostPlatform.extensions.sharedLibrary}'"
     '';
   };
 
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 5ac52c71abea..8649c05d73b9 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "8.29";
+  version = "8.30";
   pname = "checkstyle";
 
   src = fetchurl {
     url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
-    sha256 = "1rbipf4031inv34ci0rczz7dipi3b12cpn45h949i095gdh37pgh";
+    sha256 = "1wsgpfdqasfz6chhy0w5pdjm4by6ih2g0l44lxwks9kik2lrs4av";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
       adheres to a coding standard. By default it supports the Sun Code
       Conventions, but is highly configurable.
     '';
-    homepage = http://checkstyle.sourceforge.net/;
+    homepage = "http://checkstyle.sourceforge.net/";
     license = licenses.lgpl21;
     maintainers = with maintainers; [ pSub ];
     platforms = jre.meta.platforms;
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 4772a0e2308e..67ded5bbb4a9 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.119.0";
+  version = "0.119.1";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "0myvhdanhwljqa3irmkkdchd81416xnh9w0mgdajyh4az4safc1k";
+    sha256 = "1p3kjdm4lsbc2lzab3kj1fjvccv8p47bj4s3jnfp2n7qppy7sbbf";
   };
 
   installPhase = ''
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A static type checker for JavaScript";
-    homepage = https://flow.org/;
+    homepage = "https://flow.org/";
     changelog = "https://github.com/facebook/flow/releases/tag/v${version}";
     license = licenses.mit;
     platforms = ocamlPackages.ocaml.meta.platforms;
diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix
index a5e8c81e313a..50bb85eae0d4 100644
--- a/pkgs/development/tools/analysis/lcov/default.nix
+++ b/pkgs/development/tools/analysis/lcov/default.nix
@@ -11,11 +11,11 @@ stdenv.mkDerivation rec {
   patches =
     [ (fetchpatch {
         url = https://github.com/linux-test-project/lcov/commit/ebfeb3e179e450c69c3532f98cd5ea1fbf6ccba7.patch;
-        sha256 = "1z9jfqpj34jnzdvmqr5fs8hl56bvbwd8xhlbg3chcswbjj97vk7l";
+        sha256 = "0dalkqbjb6a4vp1lcsxd39dpn5fzdf7ihsjbiviq285s15nxdj1j";
       })
       (fetchpatch {
         url = https://github.com/linux-test-project/lcov/commit/75fbae1cfc5027f818a0bb865bf6f96fab3202da.patch;
-        sha256 = "1wgd4y7vhvfnxyhdd0z2pi9ys6l0z88f14i69a7prb296m1zwg5j";
+        sha256 = "0v1hn0511dxqbf50ppwasc6vmg0m6rns7ydbdy2rdbn0j7gxw30x";
       })
     ];
 
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 49c749b21237..8fe5f7a0cab1 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -99,7 +99,7 @@ let
 
       meta = {
         description = "unix-like reverse engineering framework and commandline tools";
-        homepage = http://radare.org/;
+        homepage = "http://radare.org/";
         license = stdenv.lib.licenses.gpl2Plus;
         maintainers = with stdenv.lib.maintainers; [ raskin makefu mic92 ];
         platforms = with stdenv.lib.platforms; linux;
@@ -110,17 +110,17 @@ in {
   #<generated>
   # DO NOT EDIT! Automatically generated by ./update.py
   radare2 = generic {
-    version_commit = "23781";
-    gittap = "4.2.1";
-    gittip = "08478fdd29d8ce2a6c61fbd7b207bffc10682938";
-    rev = "4.2.1";
-    version = "4.2.1";
-    sha256 = "14b9433cgc2nabhz836zfgvgh2dwailcmvy05krsa0inmzbvx9fg";
+    version_commit = "23881";
+    gittap = "4.3.0";
+    gittip = "bb78ef34573020a6e92a975d0dafcddff52e6892";
+    rev = "4.3.0";
+    version = "4.3.0";
+    sha256 = "19mj419shphcgsf6ndii5i45dcac0nwiwnzp83wccnivpyfhcpnv";
     cs_ver = "4.0.1";
     cs_sha256 = "0ijwxxk71nr9z91yxw20zfj4bbsbrgvixps5c7cpj163xlzlwba6";
   };
   r2-for-cutter = generic {
-    version_commit = "23781";
+    version_commit = "23881";
     gittap = "4.2.1";
     gittip = "08478fdd29d8ce2a6c61fbd7b207bffc10682938";
     rev = "08478fdd29d8ce2a6c61fbd7b207bffc10682938";
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index 3e758af0a7b5..55e0dc790ed3 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -4,13 +4,13 @@
 
 buildGoPackage rec {
   pname = "buildah";
-  version = "1.14.1";
+  version = "1.14.2";
 
   src = fetchFromGitHub {
     owner  = "containers";
     repo   = "buildah";
     rev    = "v${version}";
-    sha256 = "12x80g83xjcjiafcxyqrhg952nq5w91df35d7lnvc2vz8vvpkyx1";
+    sha256 = "1475k8h1l8rbbs6hyq9gxksh9884l1674z77fmiyr5vzql5yf7ca";
   };
 
   outputs = [ "bin" "man" "out" ];
diff --git a/pkgs/development/tools/cmake-format/default.nix b/pkgs/development/tools/cmake-format/default.nix
index da9dfc9a8193..cdf15f3ad707 100644
--- a/pkgs/development/tools/cmake-format/default.nix
+++ b/pkgs/development/tools/cmake-format/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonApplication rec {
   pname = "cmake-format";
-  version = "0.6.8";
+  version = "0.6.9";
 
   src = fetchPypi {
     inherit version;
     pname = "cmake_format";
-    sha256 = "0zpx7g5j8wv52zj0s7bk7cj5v82icn4il0jfydc1cmg4p5krf5iy";
+    sha256 = "082d7949gsk5v72ap7k4p3vgmc126a0bfm195xpi4lb6khpbzy5j";
   };
 
   propagatedBuildInputs = [ autopep8 flake8 jinja2 pylint pyyaml ];
diff --git a/pkgs/development/tools/documentation/mdsh/default.nix b/pkgs/development/tools/documentation/mdsh/default.nix
index 714ea15cd61e..7e21019ea3f3 100644
--- a/pkgs/development/tools/documentation/mdsh/default.nix
+++ b/pkgs/development/tools/documentation/mdsh/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdsh";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "zimbatm";
     repo = "mdsh";
     rev = "v${version}";
-    sha256 = "1a9i6h8fzrrfzjyfxaps73lxgkz92k0bnmwbjbwdmiwci4qgi9ms";
+    sha256 = "0y0k6rsspvpia4lssals4c3rdz9fgvlrhwd8gw38say02hn5b7ip";
   };
 
-  cargoSha256 = "1fxajh1n0qvcdas6w7dy3g92wilhfldy90pyk3779mrnh57fa6n5";
+  cargoSha256 = "07f2ajg9jpp666915cwsjn5clmi9ghkw25qfqj0lj3kfj79n5ash";
 
   meta = with stdenv.lib; {
     description = "Markdown shell pre-processor";
-    homepage = https://github.com/zimbatm/mdsh;
+    homepage = "https://github.com/zimbatm/mdsh";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ zimbatm ];
     platforms = platforms.all;
diff --git a/pkgs/development/tools/git-quick-stats/default.nix b/pkgs/development/tools/git-quick-stats/default.nix
index a779f753d9b4..2681b2705ef4 100644
--- a/pkgs/development/tools/git-quick-stats/default.nix
+++ b/pkgs/development/tools/git-quick-stats/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub }:
 stdenv.mkDerivation rec {
   pname = "git-quick-stats";
-  version = "2.0.13";
+  version = "2.0.15";
   src = fetchFromGitHub {
     repo = "git-quick-stats";
     owner = "arzzen";
     rev = version;
-    sha256 = "0j0a4y50wlwban40lj8y89ch4xnmm1ag8klkl8smbrn972d5d0cy";
+    sha256 = "1m8b0bskhpwjbs0qjp0rdzrjj613639pn92isv1cg0srj8grjcai";
   };
   PREFIX = builtins.placeholder "out";
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index 75bb50f25a49..89d21b5cb5ae 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.23.6";
+  version = "1.23.7";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "0y5kjlqbz9xxlxd8kagrsyz9wvjqf7i28i6zb2m8x9c9zg82kvsn";
+    sha256 = "1dcayxblim97hlgdx0wdlbj2jxvdqfk8912hz7ylb1007x7y5da5";
   };
 
   modSha256 = "0sckz298bvkf4p4fdmsmza0zrj2s2pvc86qwg6i76vdh9yzvq5gx";
@@ -16,7 +16,7 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Linters Runner for Go. 5x faster than gometalinter. Nice colored output.";
-    homepage = https://golangci.com/;
+    homepage = "https://golangci.com/";
     license = licenses.agpl3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ anpryl manveru ];
diff --git a/pkgs/development/tools/misc/act/default.nix b/pkgs/development/tools/misc/act/default.nix
index 227fb27051a2..03bd2696cce5 100644
--- a/pkgs/development/tools/misc/act/default.nix
+++ b/pkgs/development/tools/misc/act/default.nix
@@ -2,20 +2,22 @@
 
 buildGoModule rec {
   pname = "act";
-  version = "0.2.4";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "nektos";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1sn36686nfmqvhmippdapk0pxqx3x1q4dwdyhjr8j8scyfrk68iv";
+    sha256 = "00clafq3izvfwxkb85hf6s40yfw2hpsfz3xg4da28pgh1wlqb9ps";
   };
 
   modSha256 = "0ghp61m8fxg1iwq2ypmp99cqv3n16c06v2xzg9v34299vmd89gi2";
 
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+
   meta = with lib; {
     description = "Run your GitHub Actions locally";
-    homepage = "https://circleci.com/";
+    homepage = "https://github.com/nektos/act";
     license = licenses.mit;
     maintainers = with maintainers; [ filalex77 ];
   };
diff --git a/pkgs/development/tools/misc/travis/Gemfile.lock b/pkgs/development/tools/misc/travis/Gemfile.lock
index a29f329ca8af..c13c9646393a 100644
--- a/pkgs/development/tools/misc/travis/Gemfile.lock
+++ b/pkgs/development/tools/misc/travis/Gemfile.lock
@@ -2,15 +2,15 @@ GEM
   remote: https://rubygems.org/
   specs:
     addressable (2.4.0)
-    backports (3.15.0)
+    backports (3.16.1)
     coderay (1.1.2)
     ethon (0.12.0)
       ffi (>= 1.3.0)
-    faraday (0.17.0)
+    faraday (0.17.3)
       multipart-post (>= 1.2, < 3)
-    faraday_middleware (0.13.1)
+    faraday_middleware (0.14.0)
       faraday (>= 0.7.4, < 1.0)
-    ffi (1.11.2)
+    ffi (1.12.2)
     gh (0.15.1)
       addressable (~> 2.4.0)
       backports
@@ -19,7 +19,7 @@ GEM
       net-http-persistent (~> 2.9)
       net-http-pipeline
     highline (1.7.10)
-    json (2.2.0)
+    json (2.3.0)
     launchy (2.4.3)
       addressable (~> 2.3)
     method_source (0.9.2)
@@ -33,7 +33,7 @@ GEM
     pusher-client (0.6.2)
       json
       websocket (~> 1.0)
-    travis (1.8.10)
+    travis (1.8.11)
       backports
       faraday (~> 0.9)
       faraday_middleware (~> 0.9, >= 0.9.1)
@@ -54,4 +54,4 @@ DEPENDENCIES
   travis
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/development/tools/misc/travis/gemset.nix b/pkgs/development/tools/misc/travis/gemset.nix
index a12a891b3e78..da2f5e8e7ac8 100644
--- a/pkgs/development/tools/misc/travis/gemset.nix
+++ b/pkgs/development/tools/misc/travis/gemset.nix
@@ -8,12 +8,14 @@
     version = "2.4.0";
   };
   backports = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cczfi1yp7a68bg7ipzi4lvrmi4xsi36n9a19krr4yb3nfwd8fn2";
+      sha256 = "0sp3l5wa77klj34sqib95ppxyam53x3p57xk0y6gy2c3z29z6hs5";
       type = "gem";
     };
-    version = "3.15.0";
+    version = "3.16.1";
   };
   coderay = {
     groups = ["default"];
@@ -40,29 +42,31 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jk2bar4x6miq2cr73lv0lsbmw4cymiljvp29xb85jifsb3ba6az";
+      sha256 = "13aghksmni2sl15y7wfpx6k5l3lfd8j9gdyqi6cbw6jgc7bqyyn2";
       type = "gem";
     };
-    version = "0.17.0";
+    version = "0.17.3";
   };
   faraday_middleware = {
     dependencies = ["faraday"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a93rs58bakqck7bcihasz66a1riy22h2zpwrpmb13gp8mw3wkmr";
+      sha256 = "1x7jgvpzl1nm7hqcnc8carq6yj1lijq74jv8pph4sb3bcpfpvcsc";
       type = "gem";
     };
-    version = "0.13.1";
+    version = "0.14.0";
   };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
+      sha256 = "10lfhahnnc91v63xpvk65apn61pib086zha3z5sp1xk9acfx12h4";
       type = "gem";
     };
-    version = "1.11.2";
+    version = "1.12.2";
   };
   gh = {
     dependencies = ["addressable" "backports" "faraday" "multi_json" "net-http-persistent" "net-http-pipeline"];
@@ -82,12 +86,14 @@
     version = "1.7.10";
   };
   json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
+      sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.3.0";
   };
   launchy = {
     dependencies = ["addressable"];
@@ -164,12 +170,14 @@
   };
   travis = {
     dependencies = ["backports" "faraday" "faraday_middleware" "gh" "highline" "launchy" "pusher-client" "typhoeus"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ggdksipvnkl7s0g84l4wfpm9v70x9id8xvb9jmn3l0hhlk54dsk";
+      sha256 = "18zbi46as4d2wn83safawciyny0g2sk7yz5fvjvqmfk4ywpfrwrr";
       type = "gem";
     };
-    version = "1.8.10";
+    version = "1.8.11";
   };
   typhoeus = {
     dependencies = ["ethon"];
diff --git a/pkgs/development/tools/rust/cargo-xbuild/default.nix b/pkgs/development/tools/rust/cargo-xbuild/default.nix
index b92a65842cc3..4ae2b55f015f 100644
--- a/pkgs/development/tools/rust/cargo-xbuild/default.nix
+++ b/pkgs/development/tools/rust/cargo-xbuild/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-xbuild";
-  version = "0.5.24";
+  version = "0.5.28";
 
   src = fetchFromGitHub {
     owner = "rust-osdev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1haq8gv4k6qgihyjplf76589d2hbb1720g6yvwk88aksjxmqj4jm";
+    sha256 = "1rczflf6fllxkag5nah195shwqvqmlna9a1gkcwp9ljlgxlr9zvq";
   };
 
-  cargoSha256 = "08y64yqvar1ph1pcbh6lhqf4kj85zw74dfg0ii9lycvzxvkwvhqp";
+  cargoSha256 = "0xr8wpcw3x0343hm6clygsbikhrp6gcqb8vh7g7h9nijjrbnzxxb";
 
   meta = with stdenv.lib; {
     description = "Automatically cross-compiles the sysroot crates core, compiler_builtins, and alloc";
diff --git a/pkgs/development/web/nodejs/v13.nix b/pkgs/development/web/nodejs/v13.nix
index 89ef27c8c5e2..6b332da79be6 100644
--- a/pkgs/development/web/nodejs/v13.nix
+++ b/pkgs/development/web/nodejs/v13.nix
@@ -5,6 +5,6 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "13.9.0";
-    sha256 = "0z68hj3z2y8aj4bc14h77mj5l99jb4ljjc10gp0dpg8s4g1x5xzw";
+    version = "13.10.0";
+    sha256 = "11m8sisi3dmr70fpnb7xi6nljil3rm36liz0wfzd7kgxmv6p9mhj";
   }
diff --git a/pkgs/games/alephone/default.nix b/pkgs/games/alephone/default.nix
new file mode 100644
index 000000000000..1936c93ab843
--- /dev/null
+++ b/pkgs/games/alephone/default.nix
@@ -0,0 +1,99 @@
+{ stdenv, fetchurl, boost, curl, ffmpeg, icoutils, libmad, libogg, libpng
+, libsndfile, libvorbis, lua, pkgconfig, SDL, SDL_image, SDL_net, SDL_ttf, smpeg
+, speex, zziplib, zlib, makeWrapper, makeDesktopItem, unzip, alephone }:
+
+let
+  self = stdenv.mkDerivation rec {
+    outputs = [ "out" "icons" ];
+    pname = "alephone";
+    version = "20150620";
+
+    src = fetchurl {
+      url =
+        "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/AlephOne-${version}.tar.bz2";
+      sha256 = "0cz18fa3gx8mz5j09ywz8gq0r4q082kh6l9pbpwn8qjanzgn1wy0";
+    };
+
+    nativeBuildInputs = [ pkgconfig icoutils ];
+
+    buildInputs = [
+      boost
+      curl
+      ffmpeg
+      libmad
+      libsndfile
+      libogg
+      libpng
+      libvorbis
+      lua
+      SDL
+      SDL_image
+      SDL_net
+      SDL_ttf
+      smpeg
+      speex
+      zziplib
+      zlib
+    ];
+
+    configureFlags = [ "--with-boost=${boost}" ];
+
+    enableParallelBuilding = true;
+
+    postInstall = ''
+      mkdir $icons
+      icotool -x -i 5 -o $icons Resources/Windows/*.ico
+      pushd $icons
+      for x in *_5_48x48x32.png; do
+        mv $x ''${x%_5_48x48x32.png}.png
+      done
+      popd
+    '';
+
+    meta = with stdenv.lib; {
+      description =
+        "Aleph One is the open source continuation of Bungie’s Marathon 2 game engine";
+      homepage = "https://alephone.lhowon.org/";
+      license = with licenses; [ gpl3 ];
+      maintainers = with maintainers; [ ehmry ];
+      platforms = platforms.linux;
+    };
+  };
+
+in self // {
+  makeWrapper = { pname, desktopName, version, zip, meta
+    , icon ? alephone.icons + "/alephone.png", ... }@extraArgs:
+    stdenv.mkDerivation ({
+      inherit pname version;
+
+      desktopItem = makeDesktopItem {
+        name = desktopName;
+        exec = pname;
+        genericName = pname;
+        categories = "Game;";
+        comment = meta.description;
+        inherit desktopName icon;
+      };
+
+      src = zip;
+
+      nativeBuildInputs = [ makeWrapper unzip ];
+
+      dontConfigure = true;
+      dontBuild = true;
+
+      installPhase = ''
+        mkdir -p $out/bin $out/data/$pname $out/share/applications
+        cp -a * $out/data/$pname
+        cp $desktopItem/share/applications/* $out/share/applications
+        makeWrapper ${alephone}/bin/alephone $out/bin/$pname \
+          --add-flags $out/data/$pname
+      '';
+
+      meta = with stdenv.lib;
+        {
+          maintainers = with maintainers; [ ehmry ];
+          inherit (alephone.meta) platforms;
+        } // meta;
+    } // extraArgs);
+}
diff --git a/pkgs/games/alephone/durandal/default.nix b/pkgs/games/alephone/durandal/default.nix
new file mode 100644
index 000000000000..cd5450d1c2e4
--- /dev/null
+++ b/pkgs/games/alephone/durandal/default.nix
@@ -0,0 +1,25 @@
+{ alephone, fetchurl }:
+
+alephone.makeWrapper rec {
+  pname = "durandal";
+  desktopName = "Marathon-Durandal";
+  version = "20150620";
+  icon = alephone.icons + "/marathon2.png";
+
+  zip = fetchurl {
+    url =
+      "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon2-${version}-Data.zip";
+    sha256 = "1gpg0dk3z8irvdkm4nj71v14lqx77109chqr2ly594jqf6j9wwqv";
+  };
+
+  meta = {
+    description = "Second chapter of the Marathon trilogy";
+    longDescription = ''
+      Fresh from your triumph on the starship Marathon, you are seized by the rogue computer Durandal to do his bidding in a distant part of the galaxy. Within the ruins of an ancient civilization, you must seek the remnants of a lost clan and uncover their long-buried secrets. Battle opponents ancient and terrible, with sophisticated weapons and devious strategies, all the while struggling to escape the alien nightmare…
+
+      This release of Marathon 2: Durandal includes the classic graphics, and revamped high-definition textures and monsters from the Xbox Live Arcade edition.
+          '';
+    homepage = "https://alephone.lhowon.org/games/marathon2.html";
+  };
+
+}
diff --git a/pkgs/games/alephone/eternal/default.nix b/pkgs/games/alephone/eternal/default.nix
new file mode 100644
index 000000000000..c21284150618
--- /dev/null
+++ b/pkgs/games/alephone/eternal/default.nix
@@ -0,0 +1,21 @@
+{ alephone, fetchurl, unrar }:
+
+alephone.makeWrapper rec {
+  pname = "marathon-eternal";
+  version = "1.2.0";
+  desktopName = "Marathon-Eternal";
+
+  zip = fetchurl {
+    url = "http://eternal.bungie.org/files/_releases/EternalXv120.zip";
+    sha256 = "1qrvx0sp9xc8zbpp5yz8jdz458ajzmyv2si7hrppiyawc8dpcwck";
+  };
+
+  sourceRoot = "Eternal 1.2.0";
+
+  meta = {
+    description =
+      "Picking up from the end of the Marathon trilogy, you find yourself suddenly ninety-four years in the future, in the year 2905";
+    homepage = "http://eternal.bungie.org/";
+  };
+
+}
diff --git a/pkgs/games/alephone/evil/default.nix b/pkgs/games/alephone/evil/default.nix
new file mode 100644
index 000000000000..a0120348c14e
--- /dev/null
+++ b/pkgs/games/alephone/evil/default.nix
@@ -0,0 +1,18 @@
+{ alephone, fetchurl, unrar }:
+
+alephone.makeWrapper rec {
+  pname = "marathon-evil";
+  version = "0";
+  desktopName = "Marathon-Evil";
+
+  zip = fetchurl {
+    url = "http://files3.bungie.org/trilogy/MarathonEvil.zip";
+    sha256 = "08nizbjp2rx10bpqrbhb76as0j2zynmy2c0qa5b482lz1szf9b95";
+  };
+
+  meta = {
+    description = "The first conversion for Marathon Infinity";
+    homepage = "https://alephone.lhowon.org/scenarios.html";
+  };
+
+}
diff --git a/pkgs/games/alephone/infinity/default.nix b/pkgs/games/alephone/infinity/default.nix
new file mode 100644
index 000000000000..f4cea6c73435
--- /dev/null
+++ b/pkgs/games/alephone/infinity/default.nix
@@ -0,0 +1,25 @@
+{ alephone, fetchurl }:
+
+alephone.makeWrapper rec {
+  pname = "marathon-infinity";
+  desktopName = "Marathon-Infinity";
+  version = "20150620";
+  icon = alephone.icons + "/marathon-infinity.png";
+
+  zip = fetchurl {
+    url =
+      "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/MarathonInfinity-${version}-Data.zip";
+    sha256 = "0sgfahppanp9c0p115dg0makrdzghzmbz3iggl6x28fh62j03q64";
+  };
+
+  meta = {
+    description = "Third chapter of the Marathon trilogy";
+    longDescription = ''
+      Marathon Infinity takes the closed universe of the Marathon series and blows it wide open. The solo/co-op campaign, “Blood Tides of Lh’owon,” is a 20-level scenario sporting new textures, weapons, and aliens. More than that, the scenario sheds a surprising new light on the story’s characters and the meaning of events. Having defeated the Pfhor and reawakened the ancient remnants of the S’pht, the player now faces a world where friends become enemies and all is not what it seems…
+
+      Marathon Infinity is the most popular Marathon game in online play, and is compatible with hundreds of community-made maps. This release includes the classic graphics, and revamped high-definition textures and weapons.
+    '';
+    homepage = "https://alephone.lhowon.org/games/infinity.html";
+  };
+
+}
diff --git a/pkgs/games/alephone/marathon/default.nix b/pkgs/games/alephone/marathon/default.nix
new file mode 100644
index 000000000000..84831b6a2691
--- /dev/null
+++ b/pkgs/games/alephone/marathon/default.nix
@@ -0,0 +1,25 @@
+{ alephone, fetchurl }:
+
+alephone.makeWrapper rec {
+  pname = "marathon";
+  desktopName = "Marathon";
+  version = "20150620";
+  icon = alephone.icons + "/marathon.png";
+
+  zip = fetchurl {
+    url =
+      "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon-${version}-Data.zip";
+    sha256 = "0cagsigsjlsr8jqfaqjdxv8fs0f079cjzs26679aacyykc6b8k3p";
+  };
+
+  meta = {
+    description = "First chapter of the Marathon trilogy";
+    longDescription = ''
+      Alien forces have boarded the interstellar colony ship Marathon. The situation is dire. As a security officer onboard, it is your duty to defend the ship and its crew.
+
+      Experience the start of Bungie’s iconic trilogy with Marathon. This release uses the original Marathon data files for the most authentic experience outside of a classic Mac or emulator.
+    '';
+    homepage = "https://alephone.lhowon.org/games/marathon.html";
+  };
+
+}
diff --git a/pkgs/games/alephone/pathways-into-darkness/default.nix b/pkgs/games/alephone/pathways-into-darkness/default.nix
new file mode 100644
index 000000000000..6c6de4b88e8f
--- /dev/null
+++ b/pkgs/games/alephone/pathways-into-darkness/default.nix
@@ -0,0 +1,19 @@
+{ alephone, fetchurl }:
+
+alephone.makeWrapper rec {
+  pname = "pathways-into-darkness";
+  desktopName = "Pathways-Into-Darkness";
+  version = "1.1.1";
+
+  zip = fetchurl {
+    url = "http://simplici7y.com/version/file/1185/AOPID_v1.1.1.zip";
+    sha256 = "0x83xjcw5n5s7sw8z6rb6zzhihjkjgk7x7ynnqq917dcklr7bz4g";
+  };
+
+  meta = {
+    description = ''
+      Port of the 1993 mac game "Pathways Into Darkness" by Bungie to the Aleph One engine'';
+    homepage = "http://simplici7y.com/items/aleph-one-pathways-into-darkness";
+  };
+
+}
diff --git a/pkgs/games/alephone/pheonix/default.nix b/pkgs/games/alephone/pheonix/default.nix
new file mode 100644
index 000000000000..90db1aa7c73d
--- /dev/null
+++ b/pkgs/games/alephone/pheonix/default.nix
@@ -0,0 +1,18 @@
+{ alephone, fetchurl }:
+
+alephone.makeWrapper rec {
+  pname = "marathon-pheonix";
+  desktopName = "Marathon-Pheonix";
+  version = "1.3";
+
+  zip = fetchurl {
+    url = "http://simplici7y.com/version/file/998/Marathon_Phoenix_1.3.zip";
+    sha256 = "1r06k0z8km7l9d3njinsrci4jhk8hrnjdcmjd8n5z2qxkqvhn9qj";
+  };
+
+  meta = {
+    description = "A 35-level single player major Marathon conversion";
+    homepage = "http://www.simplici7y.com/items/marathon-phoenix-2";
+  };
+
+}
diff --git a/pkgs/games/alephone/red/default.nix b/pkgs/games/alephone/red/default.nix
new file mode 100644
index 000000000000..f24c9010cd63
--- /dev/null
+++ b/pkgs/games/alephone/red/default.nix
@@ -0,0 +1,18 @@
+{ alephone, fetchurl, unrar }:
+
+alephone.makeWrapper rec {
+  pname = "marathon-red";
+  version = "0";
+  desktopName = "Marathon-Red";
+
+  zip = fetchurl {
+    url = "http://files3.bungie.org/trilogy/MarathonRED.zip";
+    sha256 = "1p13snlrvn39znvfkxql67crhysn71db2bwsfrkhjkq58wzs6qgw";
+  };
+
+  meta = {
+    description = "Survival horror-esque Marathon conversion";
+    homepage = "https://alephone.lhowon.org/scenarios.html";
+  };
+
+}
diff --git a/pkgs/games/alephone/rubicon-x/default.nix b/pkgs/games/alephone/rubicon-x/default.nix
new file mode 100644
index 000000000000..b59fa4cfeb62
--- /dev/null
+++ b/pkgs/games/alephone/rubicon-x/default.nix
@@ -0,0 +1,23 @@
+{ alephone, fetchurl }:
+
+alephone.makeWrapper rec {
+  pname = "rubicon-x";
+  version = "20150620";
+  desktopName = "Marathon-Rubicon-X";
+
+  zip = fetchurl {
+    url = "http://files5.bungie.org/marathon/marathonRubiconX.zip";
+    sha256 = "095si89wap76pvkvk90zqw7djhrhwb1anjm2s8i503jbcn5n4ipm";
+  };
+
+  sourceRoot = "Rubicon X ƒ";
+
+  meta = {
+    description = "Unofficial forth chapter of the Marathon series";
+    longDescription = ''
+      Rubicon X is a free, cross platform, first person shooter that continues the story of Bungie’s Marathon trilogy. First released as Marathon:Rubicon in 2001, Rubicon X is a complete overhaul of the original. It features all new high-resolution artwork, new and updated maps, and enough surprises to feel like a whole new game.
+    '';
+    homepage = "http://www.marathonrubicon.com/";
+  };
+
+}
diff --git a/pkgs/games/wesnoth/default.nix b/pkgs/games/wesnoth/default.nix
index 2ef85ecee53f..20ec0a978f5b 100644
--- a/pkgs/games/wesnoth/default.nix
+++ b/pkgs/games/wesnoth/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wesnoth";
-  version = "1.14.10";
+  version = "1.14.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "0xnfbz7nin56ms929i5f8rv4mpifbvr64r4ryfhrqmba0vkk9sz7";
+    sha256 = "1i8mz6gw3qar09bscczhki0g4scj8pl58v85rp0g55r4bcq41l5v";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       adventures.
     '';
 
-    homepage = http://www.wesnoth.org/;
+    homepage = "http://www.wesnoth.org/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ abbradar ];
     platforms = platforms.unix;
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix
index 337d19804fc4..777c9f043f40 100644
--- a/pkgs/misc/emulators/mednafen/default.nix
+++ b/pkgs/misc/emulators/mednafen/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pkgconfig, freeglut, libGLU, libGL, libcdio, libjack2
-, libsamplerate, libsndfile, libX11, SDL, SDL_net, zlib }:
+, libsamplerate, libsndfile, libX11, SDL2, SDL2_net, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "mednafen";
-  version = "0.9.48";
+  version = "1.22.2";
 
   src = fetchurl {
     url = "https://mednafen.github.io/releases/files/${pname}-${version}.tar.xz";
-    sha256 = "00i12mywhp43274aq466fwavglk5b7d8z8bfdna12ra9iy1hrk6k";
+    sha256 = "159gvzrf4as1fp74czzc14vamhd6s3hlnvwglfgdd5j6d6n37m7s";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
     libsamplerate
     libsndfile
     libX11
-    SDL
-    SDL_net
+    SDL2
+    SDL2_net
     zlib
   ];
 
@@ -34,7 +34,38 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A portable, CLI-driven, SDL+OpenGL-based, multi-system emulator";
-    homepage = https://mednafen.github.io/;
+    longDescription = ''
+      Mednafen is a portable, utilizing OpenGL and SDL,
+      argument(command-line)-driven multi-system emulator. Mednafen has the
+      ability to remap hotkey functions and virtual system inputs to a keyboard,
+      a joystick, or both simultaneously. Save states are supported, as is
+      real-time game rewinding. Screen snapshots may be taken, in the PNG file
+      format, at the press of a button. Mednafen can record audiovisual movies
+      in the QuickTime file format, with several different lossless codecs
+      supported.
+
+      The following systems are supported (refer to the emulation module
+      documentation for more details):
+
+      - Apple II/II+
+      - Atari Lynx
+      - Neo Geo Pocket (Color)
+      - WonderSwan
+      - GameBoy (Color)
+      - GameBoy Advance
+      - Nintendo Entertainment System
+      - Super Nintendo Entertainment System/Super Famicom
+      - Virtual Boy
+      - PC Engine/TurboGrafx 16 (CD)
+      - SuperGrafx
+      - PC-FX
+      - Sega Game Gear
+      - Sega Genesis/Megadrive
+      - Sega Master System
+      - Sega Saturn (experimental, x86_64 only)
+      - Sony PlayStation
+    '';
+    homepage = "https://mednafen.github.io/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.linux;
diff --git a/pkgs/misc/emulators/mednafen/server.nix b/pkgs/misc/emulators/mednafen/server.nix
index 146d53202614..9a1edc00452d 100644
--- a/pkgs/misc/emulators/mednafen/server.nix
+++ b/pkgs/misc/emulators/mednafen/server.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Netplay server for Mednafen";
-    homepage = https://mednafen.github.io/;
+    homepage = "https://mednafen.github.io/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.linux;
diff --git a/pkgs/misc/emulators/mednaffe/default.nix b/pkgs/misc/emulators/mednaffe/default.nix
index 40390068e7be..7e231c5edd3a 100644
--- a/pkgs/misc/emulators/mednaffe/default.nix
+++ b/pkgs/misc/emulators/mednaffe/default.nix
@@ -5,13 +5,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mednaffe";
-  version = "0.8.6";
+  version = "0.8.8";
 
   src = fetchFromGitHub {
     owner = "AmatCoder";
     repo = "mednaffe";
-    rev = "v${version}";
-    sha256 = "13l7gls430dcslpan39k0ymdnib2v6crdsmn6bs9k9g30nfnqi6m";
+    rev = "${version}";
+    sha256 = "15qk3a3l1phr8bap2ayh3c0vyvw2jwhny1iz1ajq2adyjpm9fhr7";
   };
 
   nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig wrapGAppsHook ];
@@ -22,9 +22,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "GTK-based frontend for mednafen emulator";
-    homepage = https://github.com/AmatCoder/mednaffe;
+    homepage = "https://github.com/AmatCoder/mednaffe";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ sheenobu yegortimoshenko ];
+    maintainers = with maintainers; [ sheenobu yegortimoshenko AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/forkstat/default.nix b/pkgs/os-specific/linux/forkstat/default.nix
index 78ecded20cf7..eee4691aeb30 100644
--- a/pkgs/os-specific/linux/forkstat/default.nix
+++ b/pkgs/os-specific/linux/forkstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "forkstat";
-  version = "0.02.13";
+  version = "0.02.14";
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/forkstat/forkstat-${version}.tar.xz";
-    sha256 = "01ih89yw9gi6j3l40q5m26la1y0p1jidkxs3yffbdiqm6gwz0xbx";
+    sha256 = "10kibb5psb5gqdmq9lfb7qw566diwg54gdb49b5zd71qwpybk3dl";
   };
   installFlags = [ "DESTDIR=$(out)" ];
   postInstall = ''
diff --git a/pkgs/servers/adminer/default.nix b/pkgs/servers/adminer/default.nix
new file mode 100644
index 000000000000..6d7b12df56d4
--- /dev/null
+++ b/pkgs/servers/adminer/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, libbsd, fetchurl, phpPackages, php }:
+
+stdenv.mkDerivation rec {
+  version = "4.7.6";
+  pname = "adminer";
+
+  # not using fetchFromGitHub as the git repo relies on submodules that are included in the tar file
+  src = fetchurl {
+    url = "https://github.com/vrana/adminer/releases/download/v${version}/adminer-${version}.tar.gz";
+    sha256 = "1zgvscz7jk32qga8hp2dg89h7y72v05vz4yh4lq2ahhwwkbnsxpi";
+  };
+
+  nativeBuildInputs = with phpPackages; [ php composer ];
+
+  buildPhase = ''
+    composer --no-cache run compile
+  '';
+
+  installPhase = ''
+    mkdir $out
+    cp adminer-${version}.php $out/adminer.php
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Database management in a single PHP file";
+    homepage = "https://www.adminer.org";
+    license = with licenses; [ asl20 gpl2 ];
+    maintainers = with maintainers; [ sstef ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index c1c826b78129..ccb9a8590590 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -23,6 +23,14 @@ unwrapped = stdenv.mkDerivation rec {
     sha256 = "4a93264ad0cda7ea2252d1ba057e474722f77848165f2893e0c76e21ae406415";
   };
 
+  patches = [
+    (fetchpatch { # merged to upstream master, remove on update
+      name = "zfs-cpu-usage.diff";
+      url = "https://gitlab.labs.nic.cz/knot/knot-resolver/merge_requests/946.diff";
+      sha256 = "0mcvx4pfnl19h6zrv2fcgxdjarqzczn2dz85sylcczsfvdmn6i5m";
+    })
+  ];
+
   outputs = [ "out" "dev" ];
 
   # Path fixups for the NixOS service.
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index 15a651d8a321..79020ce78488 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -10,13 +10,13 @@ assert withHyperscan -> stdenv.isx86_64;
 
 stdenv.mkDerivation rec {
   pname = "rspamd";
-  version = "2.3";
+  version = "2.4";
 
   src = fetchFromGitHub {
     owner = "rspamd";
     repo = "rspamd";
     rev = version;
-    sha256 = "1v4kbvj9r0hs8jaisq3fr0rg0qndpbhc5h8cbpfpprmkbw4nj6pf";
+    sha256 = "15rdxcvnfn3fzjpjz6z2ljrzhlmhn2y4sxz09z2789k442n4m1qv";
   };
 
   nativeBuildInputs = [ cmake pkgconfig perl ];
diff --git a/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index 2beb33857eb9..6debd333c41c 100644
--- a/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "0.7.6";
+  version = "0.7.7";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1sgl6npbhg49aqlxmm3bnk3cmi9xpg8i5m4hickqfk1ni1z070ij";
+    sha256 = "0fifqa4f79lhklajsf1aiipc4cyykscqlns9pzbcq5hdphi9fbsb";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index 6246a5733405..b3b03892fcb3 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -9,14 +9,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.62";
+  version = "2.63";
   pname = "asymptote";
 
   src = fetchFromGitHub {
     owner = "vectorgraphics";
     repo = pname;
     rev = version;
-    sha256 = "1lb3a8r2gv0437viwy25s34g05x5v81gk0nxlgx7hzwv7b9zkv5s";
+    sha256 = "1szy0hmh8fx73ngpfn5p934snv148kf1amdnbcjc0n5zb4x9vzck";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix
index 8f3a5ea274ec..b2452be7339e 100644
--- a/pkgs/tools/graphics/netpbm/default.nix
+++ b/pkgs/tools/graphics/netpbm/default.nix
@@ -84,13 +84,13 @@ stdenv.mkDerivation {
     mkdir -p $out/share/netpbm
     mv $out/misc $out/share/netpbm/
 
+    moveToOutput bin "''${!outputBin}"
+
     # wrap any scripts that expect other programs in the package to be in their PATH
     for prog in ppmquant; do
-        wrapProgram "$out/bin/$prog" --prefix PATH : "$out/bin"
+        wrapProgram "''${!outputBin}/bin/$prog" --prefix PATH : "''${!outputBin}/bin"
     done
 
-    moveToOutput bin "''${!outputBin}"
-
     runHook postInstall
   '';
 
diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix
index 15cecf3d71e9..8546c4e8182a 100644
--- a/pkgs/tools/graphics/vips/default.nix
+++ b/pkgs/tools/graphics/vips/default.nix
@@ -1,17 +1,34 @@
-{ stdenv, pkgconfig, glib, libxml2, expat,
-  fftw, orc, lcms, imagemagick, openexr, libtiff, libjpeg, libgsf, libexif,
-  ApplicationServices,
-  python27, libpng ? null,
-  fetchFromGitHub,
-  autoreconfHook,
-  gtk-doc,
-  gobject-introspection,
+{ stdenv
+, pkgconfig
+, glib
+, libxml2
+, expat
+, fftw
+, orc
+, lcms
+, imagemagick
+, openexr
+, libtiff
+, libjpeg
+, libgsf
+, libexif
+, ApplicationServices
+, python27
+, libpng ? null
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, gtk-doc
+, gobject-introspection
+,
 }:
 
 stdenv.mkDerivation rec {
   pname = "vips";
   version = "8.9.1";
 
+  outputs = [ "bin" "out" "man" "dev" ];
+
   src = fetchFromGitHub {
     owner = "libvips";
     repo = "libvips";
@@ -24,14 +41,46 @@ stdenv.mkDerivation rec {
     '';
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook gtk-doc gobject-introspection ];
-  buildInputs = [ glib libxml2 fftw orc lcms
-    imagemagick openexr libtiff libjpeg
-    libgsf libexif python27 libpng expat ]
-    ++ stdenv.lib.optional stdenv.isDarwin ApplicationServices;
+  patches = [
+    # autogen.sh should not run configure
+    # https://github.com/libvips/libvips/pull/1566
+    (fetchpatch {
+      url = "https://github.com/libvips/libvips/commit/97a92e0e6abab652fdf99313b138bfd77d70deb4.patch";
+      sha256 = "0w1sm5wmvfp8svdpk8mz57c1n6zzy3snq0g2f8yxjamv0d2gw2dp";
+    })
+  ];
+
+  nativeBuildInputs = [
+    pkgconfig
+    autoreconfHook
+    gtk-doc
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    glib
+    libxml2
+    fftw
+    orc
+    lcms
+    imagemagick
+    openexr
+    libtiff
+    libjpeg
+    libgsf
+    libexif
+    python27
+    libpng
+    expat
+  ] ++ stdenv.lib.optional stdenv.isDarwin ApplicationServices;
+
+  # Required by .pc file
+  propagatedBuildInputs = [
+    glib
+  ];
 
   autoreconfPhase = ''
-    ./autogen.sh
+    NOCONFIGURE=1 ./autogen.sh
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/dust/default.nix b/pkgs/tools/misc/dust/default.nix
index c0aa9180aedb..7fa9ac9c9712 100644
--- a/pkgs/tools/misc/dust/default.nix
+++ b/pkgs/tools/misc/dust/default.nix
@@ -2,25 +2,27 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dust";
-  version = "0.4.4";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "bootandy";
     repo = "dust";
     rev = "v${version}";
-    sha256 = "1qbh9vgdh0xmh4c78fm0rd1sgb01n656p3cr4my7ymsy81ypx9y7";
+    sha256 = "1l5fh7yl8mbgahvzfa251cyp8j5awqdl66jblz565b1wb536kig7";
+    # Remove unicode file names which leads to different checksums on HFS+
+    # vs. other filesystems because of unicode normalisation.
+    extraPostFetch = ''
+      rm -rf $out/src/test_dir3/
+    '';
   };
 
-  # Delete this on next update; see #79975 for details
-  legacyCargoFetcher = true;
-
-  cargoSha256 = "07ynz6y1z3rz84662d4rfl2sw1sx46a3k48z8dckr0b3fqs2zj6a";
+  cargoSha256 = "1sjzcawyg1xsi4xrx2zwnj8yavzph8k1wgxsffgp55wghzypafwl";
 
   doCheck = false;
 
   meta = with stdenv.lib; {
     description = "du + rust = dust. Like du but more intuitive";
-    homepage = https://github.com/bootandy/dust;
+    homepage = "https://github.com/bootandy/dust";
     license = licenses.asl20;
     maintainers = [ maintainers.infinisil ];
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix
index f25c095dade9..a593805b651e 100644
--- a/pkgs/tools/misc/fluent-bit/default.nix
+++ b/pkgs/tools/misc/fluent-bit/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fluent-bit";
-  version = "1.3.8";
+  version = "1.3.9";
 
   src = fetchFromGitHub {
     owner = "fluent";
     repo = "fluent-bit";
     rev = "v${version}";
-    sha256 = "1b14hm809zy4idg8p2ah1sg4pgzqyy459mlf7rfc2msvf716sicr";
+    sha256 = "1ly6afq4badmvs1rsqcai5kyka66n0rzi8857893wjcscppja55a";
   };
 
   nativeBuildInputs = [ cmake flex bison ];
diff --git a/pkgs/tools/misc/mutagen/default.nix b/pkgs/tools/misc/mutagen/default.nix
index 9514ca18b9d9..8940fef2a0dd 100644
--- a/pkgs/tools/misc/mutagen/default.nix
+++ b/pkgs/tools/misc/mutagen/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "mutagen";
-  version = "0.11.0";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "mutagen-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19rr2q7kfkivjj23vv3s249jifx9hipi3zwzr2550v9jb4372x1r";
+    sha256 = "0ykzrxlllip4wvhd9rja5bcr2m72695fjj2q1scwn8ri6jcgfa19";
   };
 
   modSha256 = "1r6b4y6civk75if6nljl66pgv5qm7x05qqby1anf7s7cz7d1rc3g";
diff --git a/pkgs/tools/misc/tealdeer/default.nix b/pkgs/tools/misc/tealdeer/default.nix
index 5e4b1bec1e6e..aa8f9be38b6d 100644
--- a/pkgs/tools/misc/tealdeer/default.nix
+++ b/pkgs/tools/misc/tealdeer/default.nix
@@ -1,25 +1,37 @@
-{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, openssl, cacert, curl
+{ stdenv
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, installShellFiles
+, openssl
+, cacert
 , Security
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "tealdeer";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "dbrgn";
     repo = "tealdeer";
     rev = "v${version}";
-    sha256 = "1v9wq4k7k4lmdz6xy6kabchjpbx9lds20yh6va87shypdh9iva29";
+    sha256 = "0l16qqkrya22nnm4j3dxyq4gb85i3c07p10s00bpqcvki6n6v6r8";
   };
 
-  cargoSha256 = "0rr9mqylcs3nb7wgilp810qia0rv2pnalyhh28q0wnqyz0kqfrzr";
+  cargoSha256 = "0jvgcf493rmkrh85j0fkf8ffanva80syyxclzkvkrzvvwwj78b5l";
 
-  buildInputs = [ openssl cacert curl ]
+  buildInputs = [ openssl cacert ]
     ++ (stdenv.lib.optional stdenv.isDarwin Security);
 
-  nativeBuildInputs = [ pkgconfig ];
-  
+  nativeBuildInputs = [ installShellFiles pkg-config ];
+
+  postInstall = ''
+    installShellCompletion --bash --name tealdeer.bash bash_tealdeer
+    installShellCompletion --fish --name tealdeer.fish fish_tealdeer
+    installShellCompletion --zsh --name _tealdeer zsh_tealdeer
+  '';
+
   NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
 
   # disable tests for now since one needs network
diff --git a/pkgs/tools/networking/stubby/default.nix b/pkgs/tools/networking/stubby/default.nix
index 9b1ee7a9f799..b560f2768ad7 100644
--- a/pkgs/tools/networking/stubby/default.nix
+++ b/pkgs/tools/networking/stubby/default.nix
@@ -1,20 +1,19 @@
-{ stdenv, fetchFromGitHub, getdns, libtool, m4, file , doxygen
-, autoreconfHook, automake, check, libbsd, libyaml, darwin }:
+{ stdenv, fetchFromGitHub, getdns, doxygen, libyaml, darwin, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "stubby";
-  version = "0.2.6";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "getdnsapi";
     repo = pname;
     rev = "v${version}";
-    sha256 = "164gm5cbnq785s78bqmbsgxrxkq8hw930xwkxxzi1f6jgz928dnf";
+    sha256 = "04izd1v4fv9l7r75aafkrp6svczbx4cvv1vnfyx5n9105pin11mx";
   };
 
-  nativeBuildInputs = [ libtool m4 libbsd libyaml autoreconfHook ];
+  nativeBuildInputs = [ cmake libyaml ];
 
-  buildInputs = [ doxygen getdns automake file check ]
+  buildInputs = [ doxygen getdns ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.Security ];
 
   meta = with stdenv.lib; {
@@ -25,10 +24,10 @@ stdenv.mkDerivation rec {
       queries sent from a client machine (desktop or laptop) to a DNS
       Privacy resolver increasing end user privacy. Stubby is developed by
       the getdns team.
-'';
-    homepage = https://dnsprivacy.org/wiki/x/JYAT;
+    '';
+    homepage = "https://dnsprivacy.org/wiki/x/JYAT";
     downloadPage = "https://github.com/getdnsapi/stubby";
-    maintainers = with maintainers; [ leenaars ];
+    maintainers = with maintainers; [ leenaars ehmry ];
     license = licenses.bsd3; platforms = platforms.all;
-    };
+  };
 }
diff --git a/pkgs/tools/nix/nixpkgs-fmt/default.nix b/pkgs/tools/nix/nixpkgs-fmt/default.nix
index 1088884dca65..dfd7eb63b12d 100644
--- a/pkgs/tools/nix/nixpkgs-fmt/default.nix
+++ b/pkgs/tools/nix/nixpkgs-fmt/default.nix
@@ -1,16 +1,16 @@
 { lib, rustPlatform, fetchFromGitHub }:
 rustPlatform.buildRustPackage rec {
   pname = "nixpkgs-fmt";
-  version = "0.6.1";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1iylldgyvrcarfigpbhicg6j6qyipfiqn7gybza7qajfzyprjqfa";
+    sha256 = "0b9wwv77bpq24yxky44ndgvxsx2zgsl15lvl6wklbkr41mwz3xis";
   };
 
-  cargoSha256 = "1jxvy4w9jxv898wgqyj9bpkhnc7pkj9dxg5x0b39xsnkzl2lr239";
+  cargoSha256 = "1vv2gypbmgd9lksrk5h2z3agcs1269p1i3im9529nhcsl62ckj7n";
 
   meta = with lib; {
     description = "Nix code formatter for nixpkgs";
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index eed14a129785..29af4a90cb90 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -10,6 +10,7 @@ let
 
 common =
   { lib, stdenv, fetchpatch, perl, curl, bzip2, sqlite, openssl ? null, xz
+  , bash, coreutils, gzip, gnutar
   , pkgconfig, boehmgc, perlPackages, libsodium, brotli, boost, editline, nlohmann_json
   , jq, libarchive, rustc, cargo
   , busybox-sandbox-shell
@@ -30,6 +31,7 @@ common =
 
       is20 = lib.versionAtLeast version "2.0pre";
       is24 = lib.versionAtLeast version "2.4pre";
+      isExactly23 = lib.versionAtLeast version "2.3" && lib.versionOlder version "2.4";
 
       VERSION_SUFFIX = suffix;
 
@@ -64,7 +66,7 @@ common =
       preConfigure =
         # Copy libboost_context so we don't get all of Boost in our closure.
         # https://github.com/NixOS/nixpkgs/issues/45462
-        if is20 then ''
+        lib.optionalString is20 ''
           mkdir -p $out/lib
           cp -pd ${boost}/lib/{libboost_context*,libboost_thread*,libboost_system*} $out/lib
           rm -f $out/lib/*.a
@@ -72,9 +74,21 @@ common =
             chmod u+w $out/lib/*.so.*
             patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib $out/lib/libboost_thread.so.*
           ''}
-        '' else ''
-          configureFlagsArray+=(BDW_GC_LIBS="-lgc -lgccpp")
-        '';
+        '' +
+        # For Nix-2.3, patch around an issue where the Nix configure step pulls in the
+        # build system's bash and other utilities when cross-compiling
+        lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform && isExactly23) ''
+          mkdir tmp/
+          substitute corepkgs/config.nix.in tmp/config.nix.in \
+            --subst-var-by bash ${bash}/bin/bash \
+            --subst-var-by coreutils ${coreutils}/bin \
+            --subst-var-by bzip2 ${bzip2}/bin/bzip2 \
+            --subst-var-by gzip ${gzip}/bin/gzip \
+            --subst-var-by xz ${xz}/bin/xz \
+            --subst-var-by tar ${gnutar}/bin/tar \
+            --subst-var-by tr ${coreutils}/bin/tr
+          mv tmp/config.nix.in corepkgs/config.nix.in
+          '';
 
       configureFlags =
         [ "--with-store-dir=${storeDir}"
@@ -87,6 +101,7 @@ common =
           "--with-dbi=${perlPackages.DBI}/${perl.libPrefix}"
           "--with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}"
           "--with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}"
+          "BDW_GC_LIBS=\"-lgc -lgccpp\""
         ] ++ lib.optionals (is20 && stdenv.isLinux) [
           "--with-sandbox-shell=${sh}/bin/busybox"
         ]
diff --git a/pkgs/tools/security/nwipe/default.nix b/pkgs/tools/security/nwipe/default.nix
index 62d7fb3b34a3..b2ead19a2011 100644
--- a/pkgs/tools/security/nwipe/default.nix
+++ b/pkgs/tools/security/nwipe/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchFromGitHub, ncurses, parted, automake, autoconf, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "0.26";
+  version = "0.27";
   pname = "nwipe";
   src = fetchFromGitHub {
     owner = "martijnvanbrummelen";
     repo = "nwipe";
     rev = "v${version}";
-    sha256 = "072gg7hafq4vncpgm62yswshg6qgbi9mg2hl0p22c7if908p4vaa";
+    sha256 = "1rfqv5nxb20g7rfcmqaxwkbz5v294ak0kfsndncx3m4m1791fw04";
   };
   nativeBuildInputs = [ automake autoconf pkgconfig ];
   buildInputs = [ ncurses parted ];
   preConfigure = "sh init.sh || :";
   meta = with stdenv.lib; {
     description = "Securely erase disks";
-    homepage = https://github.com/martijnvanbrummelen/nwipe;
+    homepage = "https://github.com/martijnvanbrummelen/nwipe";
     license = licenses.gpl2;
     maintainers = [ maintainers.woffs ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index 29a838e49143..b1d04d992eae 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.10.19";
+  version = "0.11.01";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0v85q5sch1rx68cr69s1wrr79ny9gv99awgqkailk76z2cjva38g";
+    sha256 = "152lyqv7g6jl4xsvg639n6y8h6v2qag3afxynaws38bsr149bqcz";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/text/link-grammar/default.nix b/pkgs/tools/text/link-grammar/default.nix
index ce9b0bfa8838..25a5d129c81b 100644
--- a/pkgs/tools/text/link-grammar/default.nix
+++ b/pkgs/tools/text/link-grammar/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, python3, sqlite, libedit, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "5.7.0";
+  version = "5.8.0";
   pname = "link-grammar";
 
   outputs = [ "bin" "out" "dev" "man" ];
 
   src = fetchurl {
     url = "http://www.abisource.com/downloads/${pname}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0ak1v469k56v3511kxxkxvx1nw6zcxcl0f1kcvc82ffacqbr4y96";
+    sha256 = "1v8ngx77nachxln68xpvyw2lh7z59pzsi99h8j0mnrm0gjsacrdd";
   };
 
   nativeBuildInputs = [ pkgconfig python3 ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A Grammar Checking library";
-    homepage = https://www.abisource.com/projects/link-grammar/;
+    homepage = "https://www.abisource.com/projects/link-grammar/";
     license = licenses.lgpl21;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.unix;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 34367904190b..3b864a2b57f0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -539,6 +539,8 @@ in
     pname = "OPNplug";
   };
 
+  adminer = callPackage ../servers/adminer { };
+
   advancecomp = callPackage ../tools/compression/advancecomp {};
 
   aefs = callPackage ../tools/filesystems/aefs { };
@@ -5216,6 +5218,8 @@ in
 
   nat-traverse = callPackage ../tools/networking/nat-traverse { };
 
+  navilu-font = callPackage ../data/fonts/navilu { stdenv = stdenvNoCC; };
+
   nawk = callPackage ../tools/text/nawk { };
 
   nbd = callPackage ../tools/networking/nbd { };
@@ -18800,6 +18804,8 @@ in
 
   dragonfly-reverb = callPackage ../applications/audio/dragonfly-reverb { };
 
+  drawing = callPackage ../applications/graphics/drawing { };
+
   drawio = callPackage ../applications/graphics/drawio {};
 
   drawpile = libsForQt5.callPackage ../applications/graphics/drawpile { };
@@ -19048,9 +19054,7 @@ in
 
   fehlstart = callPackage ../applications/misc/fehlstart { };
 
-  fetchmail = callPackage ../applications/misc/fetchmail {
-    openssl = openssl_1_0_2;
-  };
+  fetchmail = callPackage ../applications/misc/fetchmail { };
 
   fff = callPackage ../applications/misc/fff { };
 
@@ -22899,6 +22903,18 @@ in
 
   airstrike = callPackage ../games/airstrike { };
 
+  alephone = callPackage ../games/alephone { ffmpeg = ffmpeg_2; };
+  alephone-durandal = callPackage ../games/alephone/durandal { };
+  alephone-eternal = callPackage ../games/alephone/eternal { };
+  alephone-evil = callPackage ../games/alephone/evil { };
+  alephone-infinity = callPackage ../games/alephone/infinity { };
+  alephone-marathon = callPackage ../games/alephone/marathon { };
+  alephone-pheonix = callPackage ../games/alephone/pheonix { };
+  alephone-red = callPackage ../games/alephone/red { };
+  alephone-rubicon-x = callPackage ../games/alephone/rubicon-x { };
+  alephone-pathways-into-darkness =
+    callPackage ../games/alephone/pathways-into-darkness { };
+
   alienarena = callPackage ../games/alienarena { };
 
   amoeba = callPackage ../games/amoeba { };
@@ -23841,6 +23857,8 @@ in
     mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md";
   };
 
+  gnome-tour = callPackage ../desktops/gnome-3/core/gnome-tour { };
+
   hsetroot = callPackage ../tools/X11/hsetroot { };
 
   imwheel = callPackage ../tools/X11/imwheel { };
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 5903b535f602..50bf1ae5dbfc 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -74,12 +74,12 @@ let
   };
 
   composer = mkDerivation rec {
-    version = "1.9.1";
+    version = "1.9.3";
     pname = "composer";
 
     src = pkgs.fetchurl {
       url = "https://getcomposer.org/download/${version}/composer.phar";
-      sha256 = "04a1fqxhxrckgxw9xbx7mplkzw808k2dz4jqsxq2dy7w6y80n88z";
+      sha256 = "VRZVwvyB9BBlCPQrvEsk6r00sCKxO8Hn2WQr9IPQp9Q=";
     };
 
     dontUnpack = true;
@@ -441,12 +441,12 @@ let
   };
 
   phpstan = mkDerivation rec {
-    version = "0.12.4";
+    version = "0.12.14";
     pname = "phpstan";
 
     src = pkgs.fetchurl {
       url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-      sha256 = "1h386zsbfw9f1r00pjbvj749q1fg5q22sgrnx7rqjrnwmbl5mh36";
+      sha256 = "JAq1/+bVhTgKRR7oFusqZ/yBOYewaOM38ZoiCjirsTg=";
     };
 
     phases = [ "installPhase" ];
@@ -536,12 +536,12 @@ let
   };
 
   psalm = mkDerivation rec {
-    version = "3.7.2";
+    version = "3.9.3";
     pname = "psalm";
 
     src = pkgs.fetchurl {
       url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar";
-      sha256 = "0mcxlckycvpxxc6h0x0kdidbq2l4m3xws1v3kdf797js234x0vjx";
+      sha256 = "KHm2n06y/yxN5B2rCVxT5ja7HxkyxAMsjZ5HLb3xr4M=";
     };
 
     phases = [ "installPhase" ];