about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/options.nix7
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--nixos/modules/services/audio/ympd.nix40
-rw-r--r--pkgs/applications/audio/flac2all/default.nix45
-rw-r--r--pkgs/applications/misc/keepass/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix13
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json14
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix6
-rw-r--r--pkgs/development/compilers/picat/default.nix6
-rw-r--r--pkgs/development/interpreters/trealla/default.nix7
-rw-r--r--pkgs/development/libraries/libpgf/default.nix22
-rw-r--r--pkgs/games/simutrans/default.nix2
-rw-r--r--pkgs/os-specific/linux/kernel-headers/default.nix7
-rw-r--r--pkgs/servers/filtron/default.nix26
-rw-r--r--pkgs/servers/filtron/deps.nix41
-rw-r--r--pkgs/servers/nosql/ferretdb/default.nix15
-rw-r--r--pkgs/servers/tailscale/default.nix6
-rw-r--r--pkgs/tools/graphics/pgf/default.nix39
-rw-r--r--pkgs/tools/system/netdata/go.d.plugin.nix11
-rw-r--r--pkgs/tools/system/rex/default.nix15
-rw-r--r--pkgs/tools/text/epubcheck/default.nix4
-rw-r--r--pkgs/tools/text/mawk/default.nix4
-rw-r--r--pkgs/tools/virtualization/cloud-init/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix2
24 files changed, 214 insertions, 130 deletions
diff --git a/lib/options.nix b/lib/options.nix
index d14d209a83471..5e8f4ca4bb950 100644
--- a/lib/options.nix
+++ b/lib/options.nix
@@ -36,6 +36,9 @@ let
   inherit (lib.types)
     mkOptionType
     ;
+  prioritySuggestion = ''
+   Use `lib.mkForce value` or `lib.mkDefault value` to change the priority on any of these definitions.
+  '';
 in
 rec {
 
@@ -184,7 +187,7 @@ rec {
     if length defs == 1
     then (head defs).value
     else assert length defs > 1;
-      throw "The option `${showOption loc}' is defined multiple times.\n${message}\nDefinition values:${showDefs defs}";
+      throw "The option `${showOption loc}' is defined multiple times while it's expected to be unique.\n${message}\nDefinition values:${showDefs defs}\n${prioritySuggestion}";
 
   /* "Merge" option definitions by checking that they all have the same value. */
   mergeEqualOption = loc: defs:
@@ -195,7 +198,7 @@ rec {
     else if length defs == 1 then (head defs).value
     else (foldl' (first: def:
       if def.value != first.value then
-        throw "The option `${showOption loc}' has conflicting definition values:${showDefs [ first def ]}"
+        throw "The option `${showOption loc}' has conflicting definition values:${showDefs [ first def ]}\n${prioritySuggestion}"
       else
         first) (head defs) (tail defs)).value;
 
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 25f454596fdbd..81e5f29df33a3 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -14428,6 +14428,12 @@
     githubId = 139251;
     name = "Tom Hunger";
   };
+  tehmatt = {
+    name = "tehmatt";
+    email = "nix@programsareproofs.com";
+    github = "tehmatt";
+    githubId = 3358866;
+  };
   tejasag = {
     name = "Tejas Agarwal";
     email = "tejasagarwalbly@gmail.com";
diff --git a/nixos/modules/services/audio/ympd.nix b/nixos/modules/services/audio/ympd.nix
index 811b81030efcf..b74cc3f9c0b41 100644
--- a/nixos/modules/services/audio/ympd.nix
+++ b/nixos/modules/services/audio/ympd.nix
@@ -48,8 +48,46 @@ in {
 
     systemd.services.ympd = {
       description = "Standalone MPD Web GUI written in C";
+
       wantedBy = [ "multi-user.target" ];
-      serviceConfig.ExecStart = "${pkgs.ympd}/bin/ympd --host ${cfg.mpd.host} --port ${toString cfg.mpd.port} --webport ${toString cfg.webPort} --user nobody";
+      after = [ "network-online.target" ];
+
+      serviceConfig = {
+        ExecStart = ''
+          ${pkgs.ympd}/bin/ympd \
+            --host ${cfg.mpd.host} \
+            --port ${toString cfg.mpd.port} \
+            --webport ${toString cfg.webPort}
+        '';
+
+        DynamicUser = true;
+        NoNewPrivileges = true;
+
+        ProtectProc = "invisible";
+        ProtectSystem = "strict";
+        ProtectHome = "tmpfs";
+
+        PrivateTmp = true;
+        PrivateDevices = true;
+        PrivateIPC = true;
+
+        ProtectHostname = true;
+        ProtectClock = true;
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectKernelLogs = true;
+        ProtectControlGroups = true;
+
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        RestrictRealtime = true;
+        RestrictSUIDSGID = true;
+
+        SystemCallFilter = [
+          "@system-service"
+          "~@process"
+          "~@setuid"
+        ];
+      };
     };
 
   };
diff --git a/pkgs/applications/audio/flac2all/default.nix b/pkgs/applications/audio/flac2all/default.nix
new file mode 100644
index 0000000000000..e0681b94f6837
--- /dev/null
+++ b/pkgs/applications/audio/flac2all/default.nix
@@ -0,0 +1,45 @@
+{ python3Packages, lib, flac, lame, opusTools, vorbis-tools, ffmpeg }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "flac2all";
+  version = "5.1";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "OBjlr7cbSx2WOIfZUNwHy5Hpb2Fmh3vmZdc70JiWsiI=";
+  };
+
+  # Not sure why this is needed, but setup.py expects this to be set
+  postPatch = ''
+    echo ${version} > ./flac2all_pkg/version
+  '';
+
+  propagatedBuildInputs = [
+    python3Packages.pyzmq
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/flac2all \
+      --set PATH ${lib.makeBinPath [
+        # Hard requirements
+        flac
+        lame
+        # Optional deps depending on encoding types
+        opusTools
+        vorbis-tools
+        ffmpeg
+      ]}
+  '';
+
+  # Has no standard tests, so we verify a few imports instead.
+  doCheck = false;
+  pythonImportsCheck = [ "flac2all_pkg.vorbis" "flac2all_pkg.mp3" ];
+
+  meta = with lib; {
+    description = "Multi process, clustered, FLAC to multi codec audio converter with tagging support";
+    homepage = "https://github.com/ZivaVatra/flac2all";
+    license = licenses.gpl3;
+    # TODO: This has only been tested on Linux, but may work on Mac too.
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index d91f03a696a00..022eba1fd6cb8 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -4,11 +4,11 @@ let
   inherit (builtins) add length readFile replaceStrings unsafeDiscardStringContext toString map;
 in buildDotnetPackage rec {
   pname = "keepass";
-  version = "2.53";
+  version = "2.53.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip";
-    hash = "sha256-wpXbLH9VyjJyb+KuQ8xmbik1jq+xqAFRxsxAuLM5MI0=";
+    hash = "sha256-R7KWxlxrhl55nOaDNYwA/cJJl+kd5ZYy6eZVqyrxxnM=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 4a7048010c81b..b79c69275adfd 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -150,10 +150,10 @@ let
       libdrm wayland mesa.drivers libxkbcommon
       curl
       libepoxy
+      libffi
     ] ++ lib.optional systemdSupport systemd
       ++ lib.optionals cupsSupport [ libgcrypt cups ]
-      ++ lib.optional pulseSupport libpulseaudio
-      ++ lib.optional (chromiumVersionAtLeast "110") libffi;
+      ++ lib.optional pulseSupport libpulseaudio;
 
     patches = [
       # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed):
@@ -293,15 +293,6 @@ let
       chrome_pgo_phase = 0;
       clang_base_path = "${llvmPackages.clang}";
       use_qt = false;
-    } // lib.optionalAttrs (!chromiumVersionAtLeast "110") {
-      # The default has changed to false. We'll build with libwayland from
-      # Nixpkgs for now but might want to eventually use the bundled libwayland
-      # as well to avoid incompatibilities (if this continues to be a problem
-      # from time to time):
-      use_system_libwayland = true;
-      # The default value is hardcoded instead of using pkg-config:
-      system_wayland_scanner_path = "${wayland.bin}/bin/wayland-scanner";
-    } // lib.optionalAttrs (chromiumVersionAtLeast "110") {
       # To fix the build as we don't provide libffi_pic.a
       # (ld.lld: error: unable to find library -l:libffi_pic.a):
       use_system_libffi = true;
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 1eeec11742a6b..6200416436763 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -45,19 +45,19 @@
     }
   },
   "ungoogled-chromium": {
-    "version": "109.0.5414.120",
-    "sha256": "1yvfd0a7zfz4x00f83irrs6hy15wn85mrbbm7mk5wy4gjwg5zyrj",
+    "version": "110.0.5481.78",
+    "sha256": "1m67xfdgggaan09xsbppna209b8sm882xq587i0hsnnnzb3fdxdj",
     "sha256bin64": null,
     "deps": {
       "gn": {
-        "version": "2022-11-10",
+        "version": "2022-12-12",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "1c4151ff5c1d6fbf7fa800b8d4bb34d3abc03a41",
-        "sha256": "02621c9nqpr4pwcapy31x36l5kbyd0vdgd0wdaxj5p8hrxk67d6b"
+        "rev": "5e19d2fb166fbd4f6f32147fbb2f497091a54ad8",
+        "sha256": "1b5fwldfmkkbpp5x63n1dxv0nc965hphc8rm8ah7zg44zscm9z30"
       },
       "ungoogled-patches": {
-        "rev": "109.0.5414.120-1",
-        "sha256": "0hq48lsjl7da8rdq129mc7cd0z5ykqbaf1sbhhs1d10dzm5zs4p3"
+        "rev": "110.0.5481.78-1",
+        "sha256": "1ffb2wf1bdmzlxk4ih8qq439jzqz17f8nchvx7na52y48am1qr3c"
       }
     }
   }
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 4865ca4901cb8..81f9159c230a3 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -168,9 +168,9 @@ rec {
   mkTerraform = attrs: pluggable (generic attrs);
 
   terraform_1 = mkTerraform {
-    version = "1.3.7";
-    sha256 = "sha256-z49DXJ9oYObJQWHPeuKvQ6jJtAheYuy0+QmvZ74ZbTQ";
-    vendorSha256 = "sha256-fviukVGBkbxFs2fJpEp/tFMymXex7NRQdcGIIA9W88k=";
+    version = "1.3.8";
+    sha256 = "sha256-AXLk5s3qu3QZ1aXx/FwPNq3hM26skBj0wyn/x8nVMkE=";
+    vendorSha256 = "sha256-CE6jNBvM0980+R0e5brK5lMrkad+91qTt9mp2h3NZyY=";
     patches = [ ./provider-path-0_15.patch ];
     passthru = {
       inherit plugins;
diff --git a/pkgs/development/compilers/picat/default.nix b/pkgs/development/compilers/picat/default.nix
index 159dec05e2939..76d1ebdb4102e 100644
--- a/pkgs/development/compilers/picat/default.nix
+++ b/pkgs/development/compilers/picat/default.nix
@@ -9,11 +9,11 @@ let
 in
 stdenv.mkDerivation {
   pname = "picat";
-  version = "3.0p4";
+  version = "3.3p3";
 
   src = fetchurl {
-    url    = "http://picat-lang.org/download/picat30_4_src.tar.gz";
-    sha256 = "1rwin44m7ni2h2v51sh2r8gj2k6wm6f86zgaylrria9jr57inpqj";
+    url = "http://picat-lang.org/download/picat333_src.tar.gz";
+    hash = "sha256-LMmAHCGKgon/wNbrXTUH9hiHyGVwwSDpB1236xawzXs=";
   };
 
   buildInputs = [ zlib ];
diff --git a/pkgs/development/interpreters/trealla/default.nix b/pkgs/development/interpreters/trealla/default.nix
index 770661c60534a..c1a20a198f3b7 100644
--- a/pkgs/development/interpreters/trealla/default.nix
+++ b/pkgs/development/interpreters/trealla/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, readline, openssl, libffi, withThread ? true, withSSL ? true, xxd }:
+{ lib, stdenv, fetchFromGitHub, readline, openssl, libffi, valgrind, withThread ? true, withSSL ? true, xxd }:
 
 stdenv.mkDerivation rec {
   pname = "trealla";
-  version = "2.2.6";
+  version = "2.8.4";
 
   src = fetchFromGitHub {
     owner = "trealla-prolog";
     repo = "trealla";
     rev = "v${version}";
-    sha256 = "sha256-DxlexijQPcNxlPjo/oIvsN//8nZ0injXFHc2t3n4yjg=";
+    sha256 = "sha256-/jB4jlYotvdU068+zj9Z+G0g75sI9dTmtgN874i0qAE=";
   };
 
   postPatch = ''
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ xxd ];
   buildInputs = [ readline openssl libffi ];
+  checkInputs = [ valgrind ];
   enableParallelBuilding = true;
 
   installPhase = ''
diff --git a/pkgs/development/libraries/libpgf/default.nix b/pkgs/development/libraries/libpgf/default.nix
index 682ff485d65c4..c0d24cb3cdf59 100644
--- a/pkgs/development/libraries/libpgf/default.nix
+++ b/pkgs/development/libraries/libpgf/default.nix
@@ -1,21 +1,29 @@
-{ lib, stdenv, fetchzip, autoreconfHook }:
+{ lib
+, stdenv
+, fetchzip
+, autoreconfHook
+, dos2unix
+}:
 
 stdenv.mkDerivation rec {
   pname = "libpgf";
-  version = "7.21.2";
+  version = "7.21.7";
 
   src = fetchzip {
     url = "mirror://sourceforge/${pname}/${pname}/${version}/${pname}.zip";
-    sha256 = "0l1j5b1d02jn27miggihlppx656i0pc70cn6x89j1rpj33zn0g9r";
+    hash = "sha256-TAWIuikijfyeTRetZWoMMdB/FeGAR7ZjNssVxUevlVg=";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
-
-  autoreconfPhase = ''
+  postPatch = ''
+    find . -type f | xargs dos2unix
     mv README.txt README
-    sh autogen.sh
   '';
 
+  nativeBuildInputs = [
+    autoreconfHook
+    dos2unix
+  ];
+
   meta = {
     homepage = "https://www.libpgf.org/";
     description = "Progressive Graphics Format";
diff --git a/pkgs/games/simutrans/default.nix b/pkgs/games/simutrans/default.nix
index 1f051242ad900..cc8b864c1f3ee 100644
--- a/pkgs/games/simutrans/default.nix
+++ b/pkgs/games/simutrans/default.nix
@@ -163,7 +163,7 @@ let
 
       homepage = "http://www.simutrans.com/";
       license = with licenses; [ artistic1 gpl1Plus ];
-      maintainers = with maintainers; [ phile314 ];
+      maintainers = with maintainers; [ ];
       platforms = with platforms; linux; # TODO: ++ darwin;
     };
   };
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
index 34fbde9d676ac..a64787cac1ebc 100644
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -1,11 +1,8 @@
 { stdenvNoCC, lib, buildPackages, fetchurl, perl, elf-header
-, bison ? null, flex ? null, python ? null, rsync ? null
+, bison, flex, rsync
 , writeTextFile
 }:
 
-assert stdenvNoCC.hostPlatform.isAndroid ->
-  (flex != null && bison != null && python != null && rsync != null);
-
 let
 
   # As part of building a hostPlatform=mips kernel, Linux creates and runs a
@@ -50,7 +47,7 @@ let
     nativeBuildInputs = [
       perl elf-header
     ] ++ lib.optionals stdenvNoCC.hostPlatform.isAndroid [
-      flex bison python rsync
+      bison flex rsync
     ] ++ lib.optionals (stdenvNoCC.buildPlatform.isDarwin &&
                         stdenvNoCC.hostPlatform.isMips) [
       darwin-endian-h
diff --git a/pkgs/servers/filtron/default.nix b/pkgs/servers/filtron/default.nix
index fccc1ba0016b7..f50e3b19583ca 100644
--- a/pkgs/servers/filtron/default.nix
+++ b/pkgs/servers/filtron/default.nix
@@ -1,22 +1,32 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "filtron";
   version = "0.2.0";
 
-  goPackagePath = "github.com/asciimoo/filtron";
-
   src = fetchFromGitHub {
     owner = "asciimoo";
     repo = "filtron";
     rev = "v${version}";
-    sha256 = "18d3h0i2sfqbc0bjx26jm2n9f37zwp8z9z4wd17sw7nvkfa72a26";
+    hash = "sha256-RihxlJvbHq5PaJz89NHl/wyXrKjSiC4XYAs7LSKAo6E=";
   };
 
-  goDeps = ./deps.nix;
+  vendorHash = "sha256-1DRR16WiBGvhOpq12L5njJJRRCIA7ajs1Py9j/3cWPE=";
+
+  patches = [
+    # Update golang version in go.mod
+    (fetchpatch {
+      url = "https://github.com/asciimoo/filtron/commit/365a0131074b3b12aaa65194bfb542182a63413c.patch";
+      hash = "sha256-QGR6YetEzA/b6tC4uD94LBkWv0+9PG7RD72Tpkn2gQU=";
+    })
+    # Add missing go.sum file
+    (fetchpatch {
+      url = "https://github.com/asciimoo/filtron/commit/077769282b4e392e96a194c8ae71ff9f693560ea.patch";
+      hash = "sha256-BhHbXDKiRjSzC6NKhKUiH6rjt/EgJcEprHMMJ1x/wiQ=";
+    })
+  ];
 
-  # The upstream test checks are obsolete/unmaintained.
-  doCheck = false;
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     description = "Reverse HTTP proxy to filter requests by different rules.";
diff --git a/pkgs/servers/filtron/deps.nix b/pkgs/servers/filtron/deps.nix
deleted file mode 100644
index 61320f868d05d..0000000000000
--- a/pkgs/servers/filtron/deps.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/valyala/fasthttp";
-    fetch = {
-      type = "git";
-      url = "https://github.com/valyala/fasthttp";
-      rev = "v1.41.0";
-      sha256 = "sha256-lV9FP7GjnQk/kJACE9l5CZ/8kzORdNpYS5lPokEYrZM=";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/klauspost/compress";
-    fetch = {
-      type = "git";
-      url = "https://github.com/klauspost/compress";
-      rev = "v1.15.12";
-      sha256 = "sha256-D41sCSbaqX9tXIRcTU9TYyjPyZpuKLDeQMXETE2ulbM=";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/valyala/bytebufferpool";
-    fetch = {
-      type = "git";
-      url = "https://github.com/valyala/bytebufferpool";
-      rev = "v1.0.0";
-      sha256 = "sha256-I9FPZ3kCNRB+o0dpMwBnwZ35Fj9+ThvITn8a3Jr8mAY=";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/andybalholm/brotli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/andybalholm/brotli";
-      rev = "v1.0.4";
-      sha256 = "sha256-gAnPRdGP4yna4hiRIEDyBtDOVJqd7RU27wlPu96Rdf8=";
-    };
-  }
-]
diff --git a/pkgs/servers/nosql/ferretdb/default.nix b/pkgs/servers/nosql/ferretdb/default.nix
index 77f4aa5a300e9..41a5d6bca7ce2 100644
--- a/pkgs/servers/nosql/ferretdb/default.nix
+++ b/pkgs/servers/nosql/ferretdb/default.nix
@@ -5,29 +5,32 @@
 
 buildGoModule rec {
   pname = "ferretdb";
-  version = "0.7.1";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "FerretDB";
     repo = "FerretDB";
     rev = "v${version}";
-    sha256 = "sha256-i3XCYVJfZ2sF4XGOxaBZqBOw7nRdzcGKhNNdqQMccPU=";
+    sha256 = "sha256-+tmClWkW3uhBXuQzuSMJnzeA1rrkpLV0QLCzcKhbThw=";
   };
 
   postPatch = ''
-    echo ${version} > internal/util/version/gen/version.txt
+    echo v${version} > build/version/version.txt
+    echo nixpkgs     > build/version/package.txt
   '';
 
-  vendorSha256 = "sha256-qyAc5EVg8QPTnXQjqJGpT3waDrfn8iXz+O1iESCzCIc=";
+  vendorSha256 = "sha256-43FxDRcif8FDHyXdNL/FJEt5ZnCQ8r7d5Red3l9442Q=";
 
   CGO_ENABLED = 0;
 
   subPackages = [ "cmd/ferretdb" ];
 
+  tags = [ "ferretdb_tigris" ];
+
   meta = with lib; {
     description = "A truly Open Source MongoDB alternative";
-    homepage = "https://github.com/FerretDB/FerretDB";
+    homepage = "https://www.ferretdb.io/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ dit7ya ];
+    maintainers = with maintainers; [ dit7ya noisersup ];
   };
 }
diff --git a/pkgs/servers/tailscale/default.nix b/pkgs/servers/tailscale/default.nix
index b936fd316283c..75adec85e5418 100644
--- a/pkgs/servers/tailscale/default.nix
+++ b/pkgs/servers/tailscale/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "tailscale";
-  version = "1.36.0";
+  version = "1.36.1";
 
   src = fetchFromGitHub {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    sha256 = "sha256-hNyEABs/GdfOx6vLTVBgbOzkbFvEDYZ0y1y0a0mIsfA=";
+    sha256 = "sha256-xTfMq8n9Io99qg/cc7SAWelcxXaWr21IQhsICeDCDNU=";
   };
-  vendorSha256 = "sha256-Jy3kjUA8qLhcw9XLw4Xo1zhD+IWZrDNM79TsbnKpx/g=";
+  vendorSha256 = "sha256-xdZlwv/2knOE7xaGeNHYNdztflhLLmirGzPOJpDvk3s=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];
 
diff --git a/pkgs/tools/graphics/pgf/default.nix b/pkgs/tools/graphics/pgf/default.nix
index a2adb7ee61d97..e63875c19cd31 100644
--- a/pkgs/tools/graphics/pgf/default.nix
+++ b/pkgs/tools/graphics/pgf/default.nix
@@ -1,26 +1,37 @@
-{ lib, stdenv, fetchurl, autoconf, automake, libtool, dos2unix, libpgf, freeimage, doxygen }:
+{ lib
+, stdenv
+, fetchzip
+, autoreconfHook
+, dos2unix
+, doxygen
+, freeimage
+, libpgf
+}:
 
 stdenv.mkDerivation rec {
   pname = "pgf";
-  version = "6.14.12";
+  version = "7.21.7";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/libpgf/pgf-console-src-${version}.tar.gz";
-    sha256 = "1vfm12cfq3an3xg0679bcwdmjq2x1bbij1iwsmm60hwmrm3zvab0";
+  src = fetchzip {
+    url = "mirror://sourceforge/libpgf/libpgf/${version}/pgf-console.zip";
+    hash = "sha256-W9eXYhbynLtvZQsn724Uw0SZ5TuyK2MwREwYKGFhJj0=";
   };
 
-  nativeBuildInputs = [ autoconf automake ];
-  buildInputs = [ libtool dos2unix libpgf freeimage doxygen ];
-
-  patchPhase = ''
-      sed 1i'#include <inttypes.h>' -i src/PGF.cpp
-      sed s/__int64/int64_t/g -i src/PGF.cpp
-      rm include/FreeImage.h include/FreeImagePlus.h
+  postPatch = ''
+    find . -type f | xargs dos2unix
+    mv README.txt README
   '';
 
-  preConfigure = "dos2unix configure.ac; sh autogen.sh";
+  nativeBuildInputs = [
+    autoreconfHook
+    dos2unix
+    doxygen
+  ];
 
-# configureFlags = optional static "--enable-static --disable-shared";
+  buildInputs = [
+    freeimage
+    libpgf
+  ];
 
   meta = {
     homepage = "https://www.libpgf.org/";
diff --git a/pkgs/tools/system/netdata/go.d.plugin.nix b/pkgs/tools/system/netdata/go.d.plugin.nix
index ebc552687cf7a..5b45ddbb3ae2c 100644
--- a/pkgs/tools/system/netdata/go.d.plugin.nix
+++ b/pkgs/tools/system/netdata/go.d.plugin.nix
@@ -1,17 +1,16 @@
-{ lib, fetchFromGitHub, buildGoModule }:
-
-buildGoModule rec {
+{ lib, fetchFromGitHub, buildGo119Module }:
+buildGo119Module rec {
   pname = "netdata-go.d.plugin";
-  version = "0.32.3";
+  version = "0.50.0";
 
   src = fetchFromGitHub {
     owner = "netdata";
     repo = "go.d.plugin";
     rev = "v${version}";
-    sha256 = "sha256-SayFqr6n6OLLUXseYiR8iBIf2xeDEHXHD0qBrgHY6+o=";
+    sha256 = "5kDc6zszVuFTDkNMuHBRwrfDnH+AdD6ULzmywtvL8iA=";
   };
 
-  vendorSha256 = "sha256-tIuHWfAjvr5s2nJSnhnMZIjyy77BbobwgQoDOy4gdGI=";
+  vendorSha256 = "sha256-Wv6xqzpQxlZCrVnS+g9t1qiYCkm3NfXfW8XDYA9Txxs=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/system/rex/default.nix b/pkgs/tools/system/rex/default.nix
index 2bb67333121e8..cf59a22cecee2 100644
--- a/pkgs/tools/system/rex/default.nix
+++ b/pkgs/tools/system/rex/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib, fetchurl, perlPackages, rsync, ... }:
+{ pkgs, lib, fetchurl, perlPackages, rsync, installShellFiles, ... }:
 
 perlPackages.buildPerlPackage rec {
   pname = "Rex";
@@ -18,7 +18,7 @@ perlPackages.buildPerlPackage rec {
     rsync
   ];
 
-  nativeBuildInputs = with perlPackages; [ ParallelForkManager ];
+  nativeBuildInputs = with perlPackages; [ installShellFiles ParallelForkManager ];
 
   propagatedBuildInputs = with perlPackages; [
     AWSSignature4
@@ -44,6 +44,17 @@ perlPackages.buildPerlPackage rec {
 
   doCheck = false;
 
+  outputs = [ "out" ];
+
+  fixupPhase = ''
+    for sh in bash zsh; do
+      substituteInPlace ./share/rex-tab-completion.$sh \
+        --replace 'perl' "${pkgs.perl.withPackages (ps: [ ps.YAML ])}/bin/perl"
+    done
+    installShellCompletion --name _rex --zsh ./share/rex-tab-completion.zsh
+    installShellCompletion --name rex --bash ./share/rex-tab-completion.bash
+  '';
+
   meta = {
     homepage = "https://www.rexify.org";
     description = "The friendly automation framework";
diff --git a/pkgs/tools/text/epubcheck/default.nix b/pkgs/tools/text/epubcheck/default.nix
index 796aa0da8f916..8912f3ac2c3f5 100644
--- a/pkgs/tools/text/epubcheck/default.nix
+++ b/pkgs/tools/text/epubcheck/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "epubcheck";
-  version = "4.2.6";
+  version = "5.0.0";
 
   src = fetchzip {
     url = "https://github.com/w3c/epubcheck/releases/download/v${version}/epubcheck-${version}.zip";
-    sha256 = "sha256-f4r0ODKvZrl+YBcP2T9Z+zEuCyvQm9W7GNiLTr4p278=";
+    sha256 = "sha256-Lcd+rLO4G2i5FTq/okjKQ1+EIfuZ8khkCijgeDxxwq8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/text/mawk/default.nix b/pkgs/tools/text/mawk/default.nix
index 62a23318ca2f5..203a79fa381d9 100644
--- a/pkgs/tools/text/mawk/default.nix
+++ b/pkgs/tools/text/mawk/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "mawk";
-  version = "1.3.4-20200120";
+  version = "1.3.4-20230203";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/mawk/mawk-${version}.tgz"
       "https://invisible-mirror.net/archives/mawk/mawk-${version}.tgz"
     ];
-    sha256 = "0dw2icf8bnqd9y0clfd9pkcxz4b2phdihwci13z914mf3wgcvm3z";
+    sha256 = "sha256-bbejKsecURB60xpAfU+SxrhC3eL2inUztOe3sD6JAL4=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/virtualization/cloud-init/default.nix b/pkgs/tools/virtualization/cloud-init/default.nix
index 40e3bfd5c1bd0..97c80ec560cc1 100644
--- a/pkgs/tools/virtualization/cloud-init/default.nix
+++ b/pkgs/tools/virtualization/cloud-init/default.nix
@@ -118,7 +118,7 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://cloudinit.readthedocs.org";
     description = "Provides configuration and customization of cloud instance";
     license = with licenses; [ asl20 gpl3Plus ];
-    maintainers = with maintainers; [ phile314 illustris ];
+    maintainers = with maintainers; [ illustris ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 47fc71df52386..8173ff07ee703 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -39078,6 +39078,8 @@ with pkgs;
 
   alsa-scarlett-gui = callPackage ../applications/audio/alsa-scarlett-gui { };
 
+  flac2all = callPackage ../applications/audio/flac2all {};
+
   tuner = callPackage ../applications/audio/tuner { };
 
   locate-dominating-file = callPackage ../tools/misc/locate-dominating-file { };