about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers')
-rw-r--r--nixpkgs/pkgs/servers/bazarr/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/geospatial/geoserver/default.nix74
-rw-r--r--nixpkgs/pkgs/servers/geospatial/geoserver/extensions.nix353
-rwxr-xr-xnixpkgs/pkgs/servers/geospatial/geoserver/update.sh41
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/component-packages.nix4
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/custom-components/gpio/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/default.nix51
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.json39
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/homepage-dashboard/default.nix33
-rw-r--r--nixpkgs/pkgs/servers/http/lighttpd/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/invidious/default.nix28
-rw-r--r--nixpkgs/pkgs/servers/invidious/lsquic.nix133
-rw-r--r--nixpkgs/pkgs/servers/invidious/shards.nix54
-rwxr-xr-xnixpkgs/pkgs/servers/invidious/update.sh36
-rw-r--r--nixpkgs/pkgs/servers/invidious/versions.json16
-rw-r--r--nixpkgs/pkgs/servers/invidious/videojs.nix2
-rw-r--r--nixpkgs/pkgs/servers/keycloak/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix2
-rw-r--r--nixpkgs/pkgs/servers/mail/mailman/package.nix6
-rw-r--r--nixpkgs/pkgs/servers/mail/rspamd/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mastodon/gemset.nix80
-rw-r--r--nixpkgs/pkgs/servers/mastodon/source.nix4
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/package.json4
-rw-r--r--nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json8
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/package.json17
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix5
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/fastly-exporter.nix19
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/statsd-exporter.nix12
-rw-r--r--nixpkgs/pkgs/servers/monitoring/thanos/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/zabbix/agent.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/zabbix/agent2.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/zabbix/proxy.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/zabbix/server.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix15
-rw-r--r--nixpkgs/pkgs/servers/monitoring/zabbix/web.nix4
-rw-r--r--nixpkgs/pkgs/servers/nextcloud/notify_push.nix4
-rw-r--r--nixpkgs/pkgs/servers/nosql/ferretdb/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/nosql/mongodb/5.0.nix4
-rw-r--r--nixpkgs/pkgs/servers/nosql/mongodb/6.0.nix4
-rw-r--r--nixpkgs/pkgs/servers/nosql/neo4j/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/nosql/questdb/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/pleroma/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/redpanda/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/search/opensearch/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/search/weaviate/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/default.nix31
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/lantern.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/pg_net.nix6
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/patches/libxml2.12-15.patch22
-rw-r--r--nixpkgs/pkgs/servers/sql/rqlite/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/tang/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/changedetection-io/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/web-apps/dolibarr/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/matomo/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/outline/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/default.nix79
-rwxr-xr-xnixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl6
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/overrides.nix17
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/tarballs.list22
64 files changed, 859 insertions, 512 deletions
diff --git a/nixpkgs/pkgs/servers/bazarr/default.nix b/nixpkgs/pkgs/servers/bazarr/default.nix
index 4c8569698f59..04c5954e1863 100644
--- a/nixpkgs/pkgs/servers/bazarr/default.nix
+++ b/nixpkgs/pkgs/servers/bazarr/default.nix
@@ -8,13 +8,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bazarr";
-  version = "1.4.1";
+  version = "1.4.2";
 
   sourceRoot = ".";
 
   src = fetchurl {
     url = "https://github.com/morpheus65535/bazarr/releases/download/v${version}/bazarr.zip";
-    sha256 = "sha256-qkOvodOHeV+jo/+c6RiVEmjorXF+PIJ4C+S9/hDBW98=";
+    sha256 = "sha256-1OqbCyQmA33ZvyCE11ZSyVwEgyym0Y0EX6qx3g71lnQ=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/geospatial/geoserver/default.nix b/nixpkgs/pkgs/servers/geospatial/geoserver/default.nix
index a58a3bb717e1..1ad28bfd5d1e 100644
--- a/nixpkgs/pkgs/servers/geospatial/geoserver/default.nix
+++ b/nixpkgs/pkgs/servers/geospatial/geoserver/default.nix
@@ -1,14 +1,13 @@
 { lib
+, callPackage
 , fetchurl
 , makeWrapper
 , nixosTests
 , stdenv
-
 , jre
 , unzip
 }:
-
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: rec {
   pname = "geoserver";
   version = "2.24.2";
 
@@ -25,24 +24,55 @@ stdenv.mkDerivation rec {
   sourceRoot = ".";
   nativeBuildInputs = [ unzip makeWrapper ];
 
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/share/geoserver
-    cp -r . $out/share/geoserver
-    rm -fr $out/share/geoserver/bin/*.bat
-
-    makeWrapper $out/share/geoserver/bin/startup.sh $out/bin/geoserver-startup \
-      --set JAVA_HOME "${jre}" \
-      --set GEOSERVER_HOME "$out/share/geoserver"
-    makeWrapper $out/share/geoserver/bin/shutdown.sh $out/bin/geoserver-shutdown \
-      --set JAVA_HOME "${jre}" \
-      --set GEOSERVER_HOME "$out/share/geoserver"
-    runHook postInstall
-  '';
-
-  passthru = {
-    tests.geoserver = nixosTests.geoserver;
-  };
+  installPhase =
+    let
+      inputs = finalAttrs.buildInputs or [ ];
+      ldLibraryPathEnvName = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
+    in
+    ''
+      runHook preInstall
+      mkdir -p $out/share/geoserver
+      cp -r . $out/share/geoserver
+      rm -fr $out/share/geoserver/bin/*.bat
+
+      makeWrapper $out/share/geoserver/bin/startup.sh $out/bin/geoserver-startup \
+        --prefix PATH : "${lib.makeBinPath inputs}" \
+        --prefix ${ldLibraryPathEnvName} : "${lib.makeLibraryPath inputs}" \
+        --set JAVA_HOME "${jre}" \
+        --set GEOSERVER_HOME "$out/share/geoserver"
+      makeWrapper $out/share/geoserver/bin/shutdown.sh $out/bin/geoserver-shutdown \
+        --prefix PATH : "${lib.makeBinPath inputs}" \
+        --prefix ${ldLibraryPathEnvName} : "${lib.makeLibraryPath inputs}" \
+        --set JAVA_HOME "${jre}" \
+        --set GEOSERVER_HOME "$out/share/geoserver"
+      runHook postInstall
+    '';
+
+
+  passthru =
+    let
+      geoserver = finalAttrs.finalPackage;
+      extensions = lib.attrsets.filterAttrs (n: v: lib.isDerivation v) (callPackage ./extensions.nix { });
+    in
+    {
+      withExtensions = selector:
+        let
+          selectedExtensions = selector extensions;
+        in
+        geoserver.overrideAttrs (finalAttrs: previousAttrs: {
+          pname = previousAttrs.pname + "-with-extensions";
+          buildInputs = lib.lists.unique ((previousAttrs.buildInputs or [ ]) ++ lib.lists.concatMap (drv: drv.buildInputs) selectedExtensions);
+          postInstall = (previousAttrs.postInstall or "") + ''
+            for extension in ${builtins.toString selectedExtensions} ; do
+              cp -r $extension/* $out
+              # Some files are the same for all/several extensions. We allow overwriting them again.
+              chmod -R +w $out
+            done
+          '';
+        });
+      tests.geoserver = nixosTests.geoserver;
+      passthru.updateScript = ./update.sh;
+    };
 
   meta = with lib; {
     description = "Open source server for sharing geospatial data";
@@ -52,4 +82,4 @@ stdenv.mkDerivation rec {
     maintainers = teams.geospatial.members;
     platforms = platforms.all;
   };
-}
+})
diff --git a/nixpkgs/pkgs/servers/geospatial/geoserver/extensions.nix b/nixpkgs/pkgs/servers/geospatial/geoserver/extensions.nix
new file mode 100644
index 000000000000..d3e2da57ef6e
--- /dev/null
+++ b/nixpkgs/pkgs/servers/geospatial/geoserver/extensions.nix
@@ -0,0 +1,353 @@
+# DO *NOT* MODIFY THE LINES CONTAINING "hash = ..." OR "version = ...".
+# THEY ARE GENERATED. SEE ./update.sh.
+{ fetchzip, libjpeg, netcdf, pkgs, stdenv }:
+
+let
+  mkGeoserverExtension = { name, version, hash, buildInputs ? [ ] }: stdenv.mkDerivation {
+    pname = "geoserver-${name}-extension";
+    inherit buildInputs version;
+
+    src = fetchzip {
+      url = "mirror://sourceforge/geoserver/GeoServer/${version}/extensions/geoserver-${version}-${name}-plugin.zip";
+      inherit hash;
+      # We expect several files.
+      stripRoot = false;
+    };
+
+    installPhase = ''
+      runHook preInstall
+
+      DIR=$out/share/geoserver/webapps/geoserver/WEB-INF/lib
+      mkdir -p $DIR
+      cp -r $src/* $DIR
+
+      runHook postInstall
+    '';
+  };
+in
+
+{
+  app-schema = mkGeoserverExtension {
+    name = "app-schema";
+    version = "2.24.2"; # app-schema
+    hash = "sha256-nwZ+gZZ38nrKmIqe2Wjg8rkh9cq6TFaxjkwS/lw8720="; # app-schema
+  };
+
+  authkey = mkGeoserverExtension {
+    name = "authkey";
+    version = "2.24.2"; # authkey
+    hash = "sha256-R2dL1xAw7PZTAp7asoulfOPWodRD7TnOu8mnSrwxL8I="; # authkey
+  };
+
+  cas = mkGeoserverExtension {
+    name = "cas";
+    version = "2.24.2"; # cas
+    hash = "sha256-oTM+ipYuIefxVFUG7ifNE08GkYbuHkt83PtrOHRw40w="; # cas
+  };
+
+  charts = mkGeoserverExtension {
+    name = "charts";
+    version = "2.24.2"; # charts
+    hash = "sha256-w9e8Ra0iuhtQ45De1T3wztis6ZLey5LuhpmCadbpCp4="; # charts
+  };
+
+  control-flow = mkGeoserverExtension {
+    name = "control-flow";
+    version = "2.24.2"; # control-flow
+    hash = "sha256-XY9YwiMgEay/GhLt6IJQ0gdiVxA0abg/qrnYNW3wiO8="; # control-flow
+  };
+
+  css = mkGeoserverExtension {
+    name = "css";
+    version = "2.24.2"; # css
+    hash = "sha256-GDoRcM8Nx3fZuWgzIHM1vSXLMaCJO3j7/cDmRl7BS2U="; # css
+  };
+
+  csw = mkGeoserverExtension {
+    name = "csw";
+    version = "2.24.2"; # csw
+    hash = "sha256-Ir/ebw87DV1zSLJIN3sMEwMAqfD9rZ3oKvAM62BNWcE="; # csw
+  };
+
+  csw-iso = mkGeoserverExtension {
+    name = "csw-iso";
+    version = "2.24.2"; # csw-iso
+    hash = "sha256-j0rVy5JRwGTs+8esOpMPc79ICccwwtD47vOFsunZAkE="; # csw-iso
+  };
+
+  db2 = mkGeoserverExtension {
+    name = "db2";
+    version = "2.24.2"; # db2
+    hash = "sha256-LKOAdKU+0TJdaxUbluXcxzgJw2fvhkqVjYs+d2c84uk="; # db2
+  };
+
+  # Needs wps extension.
+  dxf = mkGeoserverExtension {
+    name = "dxf";
+    version = "2.24.2"; # dxf
+    hash = "sha256-Et4nCPH6xUChfKRZ35u3/VduEQwCOKeKQXVZZcgJRWc="; # dxf
+  };
+
+  excel = mkGeoserverExtension {
+    name = "excel";
+    version = "2.24.2"; # excel
+    hash = "sha256-Nm4mayt8ofwpiRD5FDbsubrHIzfaOBW+Nv8wUVaIPws="; # excel
+  };
+
+  feature-pregeneralized = mkGeoserverExtension {
+    name = "feature-pregeneralized";
+    version = "2.24.2"; # feature-pregeneralized
+    hash = "sha256-56HA4L1Vfh5Q45lRhjsYfq816YYNkJLmovngF0+3Vbk="; # feature-pregeneralized
+  };
+
+  # Note: The extension name ("gdal") clashes with pkgs.gdal.
+  gdal = mkGeoserverExtension {
+    name = "gdal";
+    version = "2.24.2"; # gdal
+    buildInputs = [ pkgs.gdal ];
+    hash = "sha256-KLIlEUmYUIXAikW+y3iQzGZPpW0N+9FuPTst23Nf9Y4="; # gdal
+  };
+
+  # Throws "java.io.FileNotFoundException: URL [jar:file:/nix/store/.../WEB-INF/lib/gs-geofence-server-2.24.1.jar!/geofence-default-override.properties] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/nix/store/.../WEB-INF/lib/gs-geofence-server-2.24.1.jar!/geofence-default-override.properties" but seems to work out of the box.
+  #geofence = mkGeoserverExtension {
+  #  name = "geofence";
+  #  version = "2.24.2"; # geofence
+  #  hash = "sha256-5MRUKiC23/XlFr7X4zpsAoDR4JGtZujFnUmtcRlG+9w="; # geofence
+  #};
+
+  #geofence-server = mkGeoserverExtension {
+  #  name = "geofence-server";
+  #  version = "2.24.2"; # geofence-server
+  #  hash = "sha256-MyDQSb7IZ8cTpO9+rV0PdZNHRvIDIr04+HNhyMpx81I="; # geofence-server
+  #};
+
+  #geofence-wps = mkGeoserverExtension {
+  #  name = "geofence-wps";
+  #  version = "2.24.2"; # geofence-wps
+  #  hash = "sha256-uLii8U3UAiF/MQjABBAfHbnXTlf+iYsEOy4kadqc6+k="; # geofence-wps
+  #};
+
+  geopkg-output = mkGeoserverExtension {
+    name = "geopkg-output";
+    version = "2.24.2"; # geopkg-output
+    hash = "sha256-NzsozGYoGOoekX+wY0d5d8I0JefHgSDb/HuEPzwX+YE="; # geopkg-output
+  };
+
+  grib = mkGeoserverExtension {
+    name = "grib";
+    version = "2.24.2"; # grib
+    hash = "sha256-9i+aqQM4GnRXfIjg2R2/NkkQAF9YxNRfbMp7mGO4BgE="; # grib
+    buildInputs = [ netcdf ];
+  };
+
+  gwc-s3 = mkGeoserverExtension {
+    name = "gwc-s3";
+    version = "2.24.2"; # gwc-s3
+    hash = "sha256-fesKzbSnNHxgjwuXghLBJhUkvM2HeCOZY9V0AAiZVWk="; # gwc-s3
+  };
+
+  h2 = mkGeoserverExtension {
+    name = "h2";
+    version = "2.24.2"; # h2
+    hash = "sha256-cMPdNh7Bp7aiAAiuB5E8dDWCuUkd89xQXJbvoYN5Oyk="; # h2
+  };
+
+  iau = mkGeoserverExtension {
+    name = "iau";
+    version = "2.24.2"; # iau
+    hash = "sha256-yIqw1ur2e3haPMXGOFgFdNLguzhMMytcg9aweaBFq5U="; # iau
+  };
+
+  importer = mkGeoserverExtension {
+    name = "importer";
+    version = "2.24.2"; # importer
+    hash = "sha256-/u5m4ljr7kEnRl9sOuYcS8913uPzJjDCXmRiWh7YS2c="; # importer
+  };
+
+  inspire = mkGeoserverExtension {
+    name = "inspire";
+    version = "2.24.2"; # inspire
+    hash = "sha256-3N1LUEu2q3Vy2verkJd9Fiem8V9W0KvsnSTwooO0M6E="; # inspire
+  };
+
+  # Needs Kakadu plugin from
+  # https://github.com/geosolutions-it/imageio-ext
+  #jp2k = mkGeoserverExtension {
+  #  name = "jp2k";
+  #  version = "2.24.2"; # jp2k
+  #  hash = "sha256-ZjPDCMzaXegrzmbI9vwjTt0Osbjjl/31sffU65PPJ3k="; # jp2k
+  #};
+
+  libjpeg-turbo = mkGeoserverExtension {
+    name = "libjpeg-turbo";
+    version = "2.24.2"; # libjpeg-turbo
+    hash = "sha256-aPKXE8STYG0h5OtxrOoTvXagUCBmb7nmEV8ckLRq6GM="; # libjpeg-turbo
+    buildInputs = [ libjpeg.out ];
+  };
+
+  mapml = mkGeoserverExtension {
+    name = "mapml";
+    version = "2.24.2"; # mapml
+    hash = "sha256-vjNoLZEM2CMmxL2JPO0r9PColReWmFdVjMkDxbyrSGg="; # mapml
+  };
+
+  mbstyle = mkGeoserverExtension {
+    name = "mbstyle";
+    version = "2.24.2"; # mbstyle
+    hash = "sha256-zvfoAoVT8hXUETn/GkceP8vLSA8iNUXivXjQUyIJDEs="; # mbstyle
+  };
+
+  metadata = mkGeoserverExtension {
+    name = "metadata";
+    version = "2.24.2"; # metadata
+    hash = "sha256-A6Gai/ExL9FSUQOuUwxqpRcaVtn4H1VwBaAKXMNm6Fg="; # metadata
+  };
+
+  mongodb = mkGeoserverExtension {
+    name = "mongodb";
+    version = "2.24.2"; # mongodb
+    hash = "sha256-R9dp/uOIX7KBp4c2676NXQupqoRahxKkufjCr6sQaA0="; # mongodb
+  };
+
+  monitor = mkGeoserverExtension {
+    name = "monitor";
+    version = "2.24.2"; # monitor
+    hash = "sha256-IB9/4755ePtL/CWIOd28dOyBG6cmddQnhZKVQMQFeIE="; # monitor
+  };
+
+  mysql = mkGeoserverExtension {
+    name = "mysql";
+    version = "2.24.2"; # mysql
+    hash = "sha256-8y3N7+KgA9R5JIw1YuHmTmzK6H2c56469KUTrRpqP4g="; # mysql
+  };
+
+  netcdf = mkGeoserverExtension {
+    name = "netcdf";
+    version = "2.24.2"; # netcdf
+    hash = "sha256-uAhJTCKn/00zDUGtgyYd1v8KxXj1N+vAAosBjQG3rBk="; # netcdf
+    buildInputs = [ netcdf ];
+  };
+
+  netcdf-out = mkGeoserverExtension {
+    name = "netcdf-out";
+    version = "2.24.2"; # netcdf-out
+    hash = "sha256-wMFx+BnEcLy1x9j0K+du7hG9wC+EzA4E4AVjIsyXO3A="; # netcdf-out
+    buildInputs = [ netcdf ];
+  };
+
+  ogr-wfs = mkGeoserverExtension {
+    name = "ogr-wfs";
+    version = "2.24.2"; # ogr-wfs
+    buildInputs = [ pkgs.gdal ];
+    hash = "sha256-jMnc0OnrKHFegEIPtyAG92fC8cLa/X1UUdTmeDyUxSI="; # ogr-wfs
+  };
+
+  # Needs ogr-wfs extension.
+  ogr-wps = mkGeoserverExtension {
+    name = "ogr-wps";
+    version = "2.24.2"; # ogr-wps
+    # buildInputs = [ pkgs.gdal ];
+    hash = "sha256-O0MKOCEV5AjYUg4LL0UAV0KBHg1alOK7WEdEyikqpTs="; # ogr-wps
+  };
+
+  oracle = mkGeoserverExtension {
+    name = "oracle";
+    version = "2.24.2"; # oracle
+    hash = "sha256-OIvwpGt/9jtKAeP7LK/hTZDVbKQnjVGTXDy5q/zVU2k="; # oracle
+  };
+
+  params-extractor = mkGeoserverExtension {
+    name = "params-extractor";
+    version = "2.24.2"; # params-extractor
+    hash = "sha256-z6hMGCHB0I3DS05NvdSmVMfPKNA/1jhx8Mmb6odL6RU="; # params-extractor
+  };
+
+  printing = mkGeoserverExtension {
+    name = "printing";
+    version = "2.24.2"; # printing
+    hash = "sha256-nDkT9x6Va5SNSf8x7OEu7NqQ6qFSJhPavg6eUo5D4HA="; # printing
+  };
+
+  pyramid = mkGeoserverExtension {
+    name = "pyramid";
+    version = "2.24.2"; # pyramid
+    hash = "sha256-HM2ItB34+CHNzhoH3X3Kh1iVNMb+AimvdHrgHHh5SJc="; # pyramid
+  };
+
+  querylayer = mkGeoserverExtension {
+    name = "querylayer";
+    version = "2.24.2"; # querylayer
+    hash = "sha256-7WtAsisMJBpRZqU0nfr4orp36uBmnvat2+DlbnGCjVg="; # querylayer
+  };
+
+  sldservice = mkGeoserverExtension {
+    name = "sldservice";
+    version = "2.24.2"; # sldservice
+    hash = "sha256-m3QJP/u6HZmO0p8d++8EKXXxtkbMDmBFFCzBPctPV5A="; # sldservice
+  };
+
+  sqlserver = mkGeoserverExtension {
+    name = "sqlserver";
+    version = "2.24.2"; # sqlserver
+    hash = "sha256-ZwsO1Yxb3OWCLtYI30l3jnMrAbPI7v0XTGcasJPN1Y8="; # sqlserver
+  };
+
+  vectortiles = mkGeoserverExtension {
+    name = "vectortiles";
+    version = "2.24.2"; # vectortiles
+    hash = "sha256-fQ9qSIHplxt57n45w4MN4e5AFdU8nmtvQ/vTeL/cdzQ="; # vectortiles
+  };
+
+  wcs2_0-eo = mkGeoserverExtension {
+    name = "wcs2_0-eo";
+    version = "2.24.2"; # wcs2_0-eo
+    hash = "sha256-q0cXVjOBmX4vYwzf+3LjsYf9rPAIeCxnOZZadfNlLF0="; # wcs2_0-eo
+  };
+
+  web-resource = mkGeoserverExtension {
+    name = "web-resource";
+    version = "2.24.2"; # web-resource
+    hash = "sha256-v/SnNV6JnWPoYUSFowXFDDuhjZC8b1iPtDeMG8mWqG4="; # web-resource
+  };
+
+  wmts-multi-dimensional = mkGeoserverExtension {
+    name = "wmts-multi-dimensional";
+    version = "2.24.2"; # wmts-multi-dimensional
+    hash = "sha256-ASSGBqTpq9Tk1R3oBTBoi6L1tsXIJpJyez3LXBPmjd8="; # wmts-multi-dimensional
+  };
+
+  wps = mkGeoserverExtension {
+    name = "wps";
+    version = "2.24.2"; # wps
+    hash = "sha256-KJa0yWqO/qyY59U9NMK5/V4EskIqEbe9XnSvGRvODHU="; # wps
+  };
+
+  # Needs hazelcast (https://github.com/hazelcast/hazelcast (?)) which is not
+  # available in nixpgs as of 2024/01.
+  #wps-cluster-hazelcast = mkGeoserverExtension {
+  #  name = "wps-cluster-hazelcast";
+  #  version = "2.24.2"; # wps-cluster-hazelcast
+  #  hash = "sha256-PQcX3AVJy3DluAL4b5vcWvLl0fYLBq+F8cKsvJ/WOyE="; # wps-cluster-hazelcast
+  #};
+
+  wps-download = mkGeoserverExtension {
+    name = "wps-download";
+    version = "2.24.2"; # wps-download
+    hash = "sha256-cjVbQ1R2uit/29axZsu88ZiMuwY7mmR5x8XNb9qX8aM="; # wps-download
+  };
+
+  # Needs Postrgres configuration or similar.
+  # See https://docs.geoserver.org/main/en/user/extensions/wps-jdbc/index.html
+  wps-jdbc = mkGeoserverExtension {
+    name = "wps-jdbc";
+    version = "2.24.2"; # wps-jdbc
+    hash = "sha256-dJUnh8HZmlu5aqVeFxyR3A8fbXYqbgIqPxIENq4rhfs="; # wps-jdbc
+  };
+
+  ysld = mkGeoserverExtension {
+    name = "ysld";
+    version = "2.24.2"; # ysld
+    hash = "sha256-GLUioofwqoGUw7JQeEhzBG1SRwGUzwqjKvhkOt4TUVw="; # ysld
+  };
+
+}
diff --git a/nixpkgs/pkgs/servers/geospatial/geoserver/update.sh b/nixpkgs/pkgs/servers/geospatial/geoserver/update.sh
new file mode 100755
index 000000000000..e3b2f25fbaa4
--- /dev/null
+++ b/nixpkgs/pkgs/servers/geospatial/geoserver/update.sh
@@ -0,0 +1,41 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I ./. -i bash -p common-updater-scripts jq
+
+set -eEuo pipefail
+test ${DEBUG:-0} -eq 1 && set -x
+
+# Current version.
+LATEST_NIXPKGS_VERSION=$(nix eval --raw .#geoserver.version 2>/dev/null)
+UPDATE_NIX_OLD_VERSION=${UPDATE_NIX_OLD_VERSION:-$LATEST_NIXPKGS_VERSION}
+
+# Maybe future version.
+LATEST_GITHUB_VERSION=$(curl -s "https://api.github.com/repos/geoserver/geoserver/releases/latest" | jq -r '.tag_name')
+UPDATE_NIX_NEW_VERSION=${UPDATE_NIX_NEW_VERSION:-$LATEST_GITHUB_VERSION}
+
+SMALLEST_VERSION=$(printf "$UPDATE_NIX_OLD_VERSION\n$UPDATE_NIX_NEW_VERSION" | sort --version-sort | head -n 1)
+
+if [[ "$SMALLEST_VERSION" == "$UPDATE_NIX_NEW_VERSION" ]]; then
+  echo "geoserver is up-to-date: $SMALLEST_VERSION"
+  exit 0
+fi
+
+echo "Updating geoserver..."
+update-source-version geoserver "$UPDATE_NIX_NEW_VERSION"
+
+cd "$(dirname "$(readlink -f "$0")")"
+
+EXT_NAMES=($(grep -o -E "hash = .*?; # .*$" ./extensions.nix | sed 's/.* # //' | sort))
+
+if [[ $# -gt 0 ]] ; then
+    EXT_NAMES=(${@:1})
+fi
+
+for EXT_NAME in "${EXT_NAMES[@]}" ; do
+    echo "Updating extension $EXT_NAME..."
+    URL="mirror://sourceforge/geoserver/GeoServer/${UPDATE_NIX_NEW_VERSION}/extensions/geoserver-${UPDATE_NIX_NEW_VERSION}-${EXT_NAME}-plugin.zip"
+    HASH=$(nix-hash --to-sri --type sha256 $(nix-prefetch-url --unpack "$URL"))
+    sed -i "s@version = \".*\"; # $EXT_NAME@version = \"$UPDATE_NIX_NEW_VERSION\"; # $EXT_NAME@" ./extensions.nix
+    sed -i "s@hash = \".*\"; # $EXT_NAME@hash = \"$HASH\"; # $EXT_NAME@" ./extensions.nix
+done
+
+cd -
diff --git a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
index 69820ea320de..5e4754d36d18 100644
--- a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
@@ -4887,8 +4887,9 @@
       ifaddr
       psutil-home-assistant
       sqlalchemy
+      systembridgeconnector
       zeroconf
-    ]; # missing inputs: systembridgeconnector
+    ];
     "system_health" = ps: with ps; [
       aiohttp-cors
       aiohttp-fast-url-dispatcher
@@ -6490,6 +6491,7 @@
     "syncthing"
     "syncthru"
     "synology_dsm"
+    "system_bridge"
     "system_health"
     "system_log"
     "systemmonitor"
diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/gpio/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/gpio/default.nix
index 98cf56a3b52a..ff06822d664a 100644
--- a/nixpkgs/pkgs/servers/home-assistant/custom-components/gpio/default.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/gpio/default.nix
@@ -7,14 +7,14 @@
 buildHomeAssistantComponent rec {
   owner = "raboof";
   domain = "gpio";
-  version = "0.0.2";
+  version = "0.0.4";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "raboof";
     repo = "ha-gpio";
     rev = "v${version}";
-    hash = "sha256-oito5W7uQYgxUQFIynW9G7jbIpmFONWC8FslRdX3gsE=";
+    hash = "sha256-JyyJPI0lbZLJj+016WgS1KXU5rnxUmRMafel4/wKsYk=";
   };
 
   propagatedBuildInputs = [ libgpiod ];
diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix
index 49bdb62ad85e..f7dbc32c8e93 100644
--- a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix
@@ -8,6 +8,8 @@
 
   mini-media-player = callPackage ./mini-media-player {};
 
+  multiple-entity-row = callPackage ./multiple-entity-row { };
+
   mushroom = callPackage ./mushroom { };
 
   zigbee2mqtt-networkmap = callPackage ./zigbee2mqtt-networkmap { };
diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/default.nix
new file mode 100644
index 000000000000..0ba1bcec0cc6
--- /dev/null
+++ b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, mkYarnPackage
+, fetchFromGitHub
+, fetchYarnDeps
+}:
+
+mkYarnPackage rec {
+  pname = "multiple-entity-row";
+  version = "4.5.1";
+
+  src = fetchFromGitHub {
+    owner = "benct";
+    repo = "lovelace-multiple-entity-row";
+    rev = "v${version}";
+    hash = "sha256-CXRgXyH1NUg7ssQhenqP0tXr1m2qOkHna3Rf30K3SjI=";
+  };
+
+  packageJSON = ./package.json;
+
+  offlineCache = fetchYarnDeps {
+    yarnLock = "${src}/yarn.lock";
+    hash = "sha256-8YIcQhbYf0e2xO620zVHEk/0sssBmzF/jCq+2za+D6E=";
+  };
+
+  buildPhase = ''
+    runHook preBuild
+
+    yarn --offline build
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir $out
+    install -m0644 ./deps/multiple-entity-row/multiple-entity-row.js $out
+
+    runHook postInstall
+  '';
+
+  doDist = false;
+
+  meta = with lib; {
+    description = "Show multiple entity states and attributes on entity rows in Home Assistant's Lovelace UI";
+    homepage = "https://github.com/benct/lovelace-multiple-entity-row";
+    changelog = "https://github.com/benct/lovelace-multiple-entity-row/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.json b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.json
new file mode 100644
index 000000000000..28a6d7b3bb86
--- /dev/null
+++ b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/multiple-entity-row/package.json
@@ -0,0 +1,39 @@
+{
+  "name": "multiple-entity-row",
+  "version": "4.5.1",
+  "description": "Show multiple entity states, attributes and icons on entity rows in Home Assistant's Lovelace UI",
+  "keywords": [
+    "home-assistant",
+    "homeassistant",
+    "lovelace",
+    "custom-cards",
+    "multiple",
+    "entity",
+    "row"
+  ],
+  "module": "multiple-entity-row.js",
+  "repository": "https://github.com/benct/lovelace-multiple-entity-row.git",
+  "author": "benct <ben@tomlin.no>",
+  "license": "MIT",
+  "dependencies": {
+    "custom-card-helpers": "1.8.0",
+    "lit": "^2.7.4",
+    "memoize-one": "^6.0.0"
+  },
+  "devDependencies": {
+    "@babel/core": "^7.22.1",
+    "@babel/preset-env": "^7.22.4",
+    "babel-loader": "^9.1.2",
+    "eslint": "^8.41.0",
+    "eslint-config-prettier": "^8.8.0",
+    "eslint-plugin-prettier": "^4.2.1",
+    "prettier": "^2.8.8",
+    "webpack": "^5.84.1",
+    "webpack-cli": "^5.1.1"
+  },
+  "scripts": {
+    "lint": "eslint src/**/*.js",
+    "dev": "webpack -c webpack.config.js",
+    "build": "yarn lint && webpack -c webpack.config.js"
+  }
+}
diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix
index 9c1df1db27db..9515fac0792d 100644
--- a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix
+++ b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix
@@ -5,16 +5,16 @@
 
 buildNpmPackage rec {
   pname = "mushroom";
-  version = "3.4.0";
+  version = "3.4.2";
 
   src = fetchFromGitHub {
     owner = "piitaya";
     repo = "lovelace-mushroom";
     rev = "v${version}";
-    hash = "sha256-XVi+VPOVHfYBlIY9xN7x9Qe1bVw/qS9p8bcRZb0ksE0=";
+    hash = "sha256-OUcOCBLEU8V+eadHuyA6F0uT8fJLRe1Xd9/X5ULCZVc=";
   };
 
-  npmDepsHash = "sha256-XtSeO5+RaBCBLmq6paRX9KipkhcEdJhzrQeEDdysZE0=";
+  npmDepsHash = "sha256-oIee6iJ18EBztje1aw4xzWa1wSIbgau4q0MyVx0T41I=";
 
   installPhase = ''
     runHook preInstall
diff --git a/nixpkgs/pkgs/servers/homepage-dashboard/default.nix b/nixpkgs/pkgs/servers/homepage-dashboard/default.nix
index fe1575000a2f..7a28803df611 100644
--- a/nixpkgs/pkgs/servers/homepage-dashboard/default.nix
+++ b/nixpkgs/pkgs/servers/homepage-dashboard/default.nix
@@ -9,8 +9,23 @@
 , fetchpatch
 , makeBinaryWrapper
 , nixosTests
+, enableLocalIcons ? false
 }:
+let
+  dashboardIcons = fetchFromGitHub {
+    owner = "walkxcode";
+    repo = "dashboard-icons";
+    rev = "a02a5999fe56948671721da8b0830cdd5b609ed7"; # Until 2024-02-25
+    hash = "sha256-s0Doh4j6CH66fZoQKMt4yc7aLStNFGMVoDp5dvs7+pk=";
+  };
 
+  installLocalIcons = ''
+    mkdir -p $out/share/homepage/public/icons
+    cp ${dashboardIcons}/png/* $out/share/homepage/public/icons
+    cp ${dashboardIcons}/svg/* $out/share/homepage/public/icons
+    cp ${dashboardIcons}/LICENSE $out/share/homepage/public/icons/
+  '';
+in
 buildNpmPackage rec {
   pname = "homepage-dashboard";
   version = "0.8.8";
@@ -49,20 +64,22 @@ buildNpmPackage rec {
   installPhase = ''
     runHook preInstall
 
-    mkdir -p $out
-    cp -r .next/standalone $out/bin
-    cp -r public $out/bin/public
+    mkdir -p $out/{share,bin}
 
-    mkdir -p $out/bin/.next
-    cp -r .next/static $out/bin/.next/static
+    cp -r .next/standalone $out/share/homepage/
+    cp -r public $out/share/homepage/public
 
-    mv $out/bin/server.js $out/bin/homepage
-    chmod +x $out/bin/homepage
+    mkdir -p $out/share/homepage/.next
+    cp -r .next/static $out/share/homepage/.next/static
 
-    wrapProgram $out/bin/homepage \
+    chmod +x $out/share/homepage/server.js
+
+    makeWrapper $out/share/homepage/server.js $out/bin/homepage \
       --set-default PORT 3000 \
       --set-default HOMEPAGE_CONFIG_DIR /var/lib/homepage-dashboard
 
+    ${if enableLocalIcons then installLocalIcons else ""}
+
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/servers/http/lighttpd/default.nix b/nixpkgs/pkgs/servers/http/lighttpd/default.nix
index 7f457108f8e6..45dadae35567 100644
--- a/nixpkgs/pkgs/servers/http/lighttpd/default.nix
+++ b/nixpkgs/pkgs/servers/http/lighttpd/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lighttpd";
-  version = "1.4.73";
+  version = "1.4.74";
 
   src = fetchurl {
     url = "https://download.lighttpd.net/lighttpd/releases-${lib.versions.majorMinor version}.x/${pname}-${version}.tar.xz";
-    sha256 = "sha256-gYgW0LMUsKqHKKcHZRNDX21esifzthMjRo4fENvoTKg=";
+    sha256 = "sha256-XAhzboMIj34Bl5cVnzBuiOxymr6XbcmPs77XG50+U7U=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/servers/invidious/default.nix b/nixpkgs/pkgs/servers/invidious/default.nix
index 0b1cea5fd689..3f5bb42a48f2 100644
--- a/nixpkgs/pkgs/servers/invidious/default.nix
+++ b/nixpkgs/pkgs/servers/invidious/default.nix
@@ -1,11 +1,11 @@
-{ lib, stdenv, crystal, fetchFromGitea, librsvg, pkg-config, libxml2, openssl, shards, sqlite, lsquic, videojs, nixosTests }:
+{ lib, stdenv, crystal, fetchFromGitea, librsvg, pkg-config, libxml2, openssl, shards, sqlite, videojs, nixosTests }:
 let
   # All versions, revisions, and checksums are stored in ./versions.json.
   # The update process is the following:
   #   * pick the latest commit
-  #   * update .invidious.rev, .invidious.version, and .invidious.sha256
+  #   * update .invidious.rev, .invidious.version, and .invidious.hash
   #   * prefetch the videojs dependencies with scripts/fetch-player-dependencies.cr
-  #     and update .videojs.sha256 (they are normally fetched during build
+  #     and update .videojs.hash (they are normally fetched during build
   #     but nix's sandboxing does not allow that)
   #   * if shard.lock changed
   #     * recreate shards.nix by running crystal2nix
@@ -23,7 +23,7 @@ crystal.buildCrystalPackage rec {
     owner = "iv-org";
     repo = pname;
     fetchSubmodules = true;
-    inherit (versions.invidious) rev sha256;
+    inherit (versions.invidious) rev hash;
   };
 
   postPatch =
@@ -45,7 +45,7 @@ crystal.buildCrystalPackage rec {
       substituteInPlace src/invidious.cr \
           --replace ${lib.escapeShellArg branchTemplate} '"master"' \
           --replace ${lib.escapeShellArg commitTemplate} '"${lib.substring 0 7 versions.invidious.rev}"' \
-          --replace ${lib.escapeShellArg versionTemplate} '"${lib.replaceStrings ["-"] ["."] (lib.substring 9 10 version)}"' \
+          --replace ${lib.escapeShellArg versionTemplate} '"${lib.concatStringsSep "." (lib.drop 2 (lib.splitString "-" version))}"' \
           --replace ${lib.escapeShellArg assetCommitTemplate} '"${lib.substring 0 7 versions.invidious.rev}"'
 
       # Patch the assets and locales paths to be absolute
@@ -75,20 +75,9 @@ crystal.buildCrystalPackage rec {
       "--verbose"
       "--no-debug"
       "-Dskip_videojs_download"
-      "-Ddisable_quic"
     ];
   };
 
-  postConfigure = ''
-    # lib includes nix store paths which can’t be patched, so the links have to
-    # be dereferenced first.
-    cp -rL lib lib2
-    rm -r lib
-    mv lib2 lib
-    chmod +w -R lib
-    cp ${lsquic}/lib/liblsquic.a lib/lsquic/src/lsquic/ext
-  '';
-
   postInstall = ''
     mkdir -p $out/share/invidious/config
 
@@ -102,15 +91,16 @@ crystal.buildCrystalPackage rec {
   # environment variable. Even though the database and hmac_key are
   # bogus, --help still works.
   installCheckPhase = ''
-    INVIDIOUS_CONFIG="$(cat <<EOF
+    export INVIDIOUS_CONFIG="$(cat <<EOF
     database_url: sqlite3:///dev/null
     hmac_key: "this-is-required"
     EOF
-    )" $out/bin/invidious --help
+    )"
+    $out/bin/invidious --help
+    $out/bin/invidious --version
   '';
 
   passthru = {
-    inherit lsquic;
     tests = { inherit (nixosTests) invidious; };
     updateScript = ./update.sh;
   };
diff --git a/nixpkgs/pkgs/servers/invidious/lsquic.nix b/nixpkgs/pkgs/servers/invidious/lsquic.nix
deleted file mode 100644
index 9c88ae004aab..000000000000
--- a/nixpkgs/pkgs/servers/invidious/lsquic.nix
+++ /dev/null
@@ -1,133 +0,0 @@
-{ lib, boringssl, stdenv, fetchgit, fetchFromGitHub, fetchurl, cmake, zlib, perl, libevent }:
-let
-  versions = lib.importJSON ./versions.json;
-
-  fetchGitilesPatch = { name, url, sha256 }:
-    fetchurl {
-      url = "${url}%5E%21?format=TEXT";
-      inherit name sha256;
-      downloadToTemp = true;
-      postFetch = ''
-        base64 -d < $downloadedFile > $out
-      '';
-    };
-
-  # lsquic requires a specific boringssl version (noted in its README)
-  boringssl' = boringssl.overrideAttrs ({ preBuild, ... }: {
-    version = versions.boringssl.rev;
-    src = fetchgit {
-      url = "https://boringssl.googlesource.com/boringssl";
-      inherit (versions.boringssl) rev sha256;
-    };
-
-    patches = [
-      # Use /etc/ssl/certs/ca-certificates.crt instead of /etc/ssl/cert.pem
-      ./use-etc-ssl-certs.patch
-
-      # because lsquic requires that specific boringssl version and that
-      # version does not yet include fixes for gcc11 build errors, they
-      # must be backported
-      (fetchGitilesPatch {
-        name = "fix-mismatch-between-header-and-implementation-of-bn_sqr_comba8.patch";
-        url = "https://boringssl.googlesource.com/boringssl/+/139adff9b27eaf0bdaac664ec4c9a7db2fe3f920";
-        sha256 = "05sp602dvh50v46jkzmh4sf4wqnq5bwy553596g2rhxg75bailjj";
-      })
-      (fetchGitilesPatch {
-        name = "use-an-unsized-helper-for-truncated-SHA-512-variants.patch";
-        url = "https://boringssl.googlesource.com/boringssl/+/a24ab549e6ae246b391155d7bed3790ac0e07de2";
-        sha256 = "0483jkpg4g64v23ln2blb74xnmzdjcn3r7w4zk7nfg8j3q5f9lxm";
-      })
-/*
-      # the following patch is too complex, so we will modify the build flags
-      # of crypto/fipsmodule/CMakeFiles/fipsmodule.dir/bcm.c.o in preBuild
-      # and turn off -Werror=stringop-overflow
-      (fetchGitilesPatch {
-        name = "make-md32_common.h-single-included-and-use-an-unsized-helper-for-SHA-256.patch";
-        url = "https://boringssl.googlesource.com/boringssl/+/597ffef971dd980b7de5e97a0c9b7ca26eec94bc";
-        sha256 = "1y0bkkdf1ccd6crx326agp01q22clm4ai4p982y7r6dkmxmh52qr";
-      })
-*/
-      (fetchGitilesPatch {
-        name = "fix-array-parameter-warnings.patch";
-        url = "https://boringssl.googlesource.com/boringssl/+/92c6fbfc4c44dc8462d260d836020d2b793e7804";
-        sha256 = "0h4sl95i8b0dj0na4ngf50wg54raxyjxl1zzwdc810abglp10vnv";
-      })
-    ];
-
-    preBuild = preBuild + lib.optionalString stdenv.isLinux ''
-      sed -e '/^build crypto\/fipsmodule\/CMakeFiles\/fipsmodule\.dir\/bcm\.c\.o:/,/^ *FLAGS =/ s/^ *FLAGS = -Werror/& -Wno-error=stringop-overflow/' \
-          -i build.ninja
-    '' + lib.optionalString stdenv.cc.isGNU ''
-      # Silence warning that causes build failures with GCC.
-      sed -e '/^build ssl\/test\/CMakeFiles\/bssl_shim\.dir\/settings_writer\.cc\.o:/,/^ *FLAGS =/ s/^ *FLAGS = -Werror/& -Wno-error=ignored-attributes/' \
-          -e '/^build ssl\/test\/CMakeFiles\/handshaker\.dir\/settings_writer\.cc\.o:/,/^ *FLAGS =/ s/^ *FLAGS = -Werror/& -Wno-error=ignored-attributes/' \
-          -i build.ninja
-    '' + lib.optionalString stdenv.cc.isClang (
-      # Silence warnings that cause build failures with newer versions of clang.
-      let
-        clangVersion = lib.getVersion stdenv.cc;
-      in
-      lib.optionalString (lib.versionAtLeast clangVersion "13") ''
-        sed -e '/^build crypto\/CMakeFiles\/crypto\.dir\/x509\/t_x509\.c\.o:/,/^ *FLAGS =/ s/^ *FLAGS = -Werror/& -Wno-error=unused-but-set-variable/' \
-            -e '/^build tool\/CMakeFiles\/bssl\.dir\/digest\.cc\.o:/,/^ *FLAGS =/ s/^ *FLAGS = -Werror/& -Wno-error=unused-but-set-variable/' \
-            -i build.ninja
-      '' + lib.optionalString (lib.versionAtLeast clangVersion "16") ''
-        sed -e '/^build crypto\/CMakeFiles\/crypto\.dir\/trust_token\/trust_token\.c\.o:/,/^ *FLAGS =/ s/^ *FLAGS = -Werror/& -Wno-error=single-bit-bitfield-constant-conversion/' \
-            -i build.ninja
-      ''
-    );
-  });
-in
-stdenv.mkDerivation rec {
-  pname = "lsquic";
-  version = versions.lsquic.version;
-
-  src = fetchFromGitHub {
-    owner = "litespeedtech";
-    repo = pname;
-    rev = "v${version}";
-    inherit (versions.lsquic) sha256;
-    fetchSubmodules = true;
-  };
-
-  postPatch = ''
-    substituteInPlace CMakeLists.txt \
-      --replace ".so" "${stdenv.hostPlatform.extensions.sharedLibrary}"
-  '';
-
-  nativeBuildInputs = [ cmake perl ];
-  buildInputs = [ boringssl' libevent zlib ];
-
-  cmakeFlags = [
-    "-DBORINGSSL_DIR=${lib.getDev boringssl'}"
-    "-DBORINGSSL_LIB_crypto=${lib.getLib boringssl'}/lib/libcrypto.a"
-    "-DBORINGSSL_LIB_ssl=${lib.getLib boringssl'}/lib/libssl.a"
-    "-DZLIB_LIB=${zlib}/lib/libz.so"
-  ];
-
-  # adapted from lsquic.cr’s Dockerfile
-  # (https://github.com/iv-org/lsquic.cr/blob/master/docker/Dockerfile)
-  installPhase = ''
-    runHook preInstall
-
-    mkdir combinedlib
-    cd combinedlib
-    ar -x ${lib.getLib boringssl'}/lib/libssl.a
-    ar -x ${lib.getLib boringssl'}/lib/libcrypto.a
-    ar -x ../src/liblsquic/liblsquic.a
-    ar rc liblsquic.a *.o
-    ranlib liblsquic.a
-    install -D liblsquic.a $out/lib/liblsquic.a
-
-    runHook postInstall
-  '';
-
-  passthru.boringssl = boringssl';
-
-  meta = with lib; {
-    description = "A library for QUIC and HTTP/3 (version for Invidious)";
-    homepage = "https://github.com/litespeedtech/lsquic";
-    maintainers = with maintainers; [ infinisil sbruder ];
-    license = with licenses; [ openssl isc mit bsd3 ]; # statically links against boringssl, so has to include its licenses
-  };
-}
diff --git a/nixpkgs/pkgs/servers/invidious/shards.nix b/nixpkgs/pkgs/servers/invidious/shards.nix
index e5f297d902c0..8e38d563be20 100644
--- a/nixpkgs/pkgs/servers/invidious/shards.nix
+++ b/nixpkgs/pkgs/servers/invidious/shards.nix
@@ -1,80 +1,62 @@
 {
+  ameba = {
+    url = "https://github.com/crystal-ameba/ameba.git";
+    rev = "v1.5.0";
+    sha256 = "1idivsbpmi40aqvs82fsv37nrgikirprxrj3ls9chsb876fq9p2d";
+  };
   athena-negotiation = {
-    owner = "athena-framework";
-    repo = "negotiation";
+    url = "https://github.com/athena-framework/negotiation.git";
     rev = "v0.1.1";
     sha256 = "1vkk59lqrxb0l8kyzs114i3c18zb2bdiah2xhazkk8q7x6fz4yzk";
   };
   backtracer = {
-    owner = "sija";
-    repo = "backtracer.cr";
+    url = "https://github.com/sija/backtracer.cr.git";
     rev = "v1.2.1";
     sha256 = "02r1l7rn2wsljkx495s5s7j04zgn73m2kx0hkzs7620camvlwbqq";
   };
   db = {
-    owner = "crystal-lang";
-    repo = "crystal-db";
+    url = "https://github.com/crystal-lang/crystal-db.git";
     rev = "v0.10.1";
     sha256 = "03c5h14z6h2mxnx949lihnyqjd19hcj38iasdwq9fp95h8cld376";
   };
   exception_page = {
-    owner = "crystal-loot";
-    repo = "exception_page";
+    url = "https://github.com/crystal-loot/exception_page.git";
     rev = "v0.2.2";
     sha256 = "1c8askb9b7621jjz5pjj6b8pdbhw3r1l3dym6swg1saspf5j3jwi";
   };
   kemal = {
-    owner = "kemalcr";
-    repo = "kemal";
+    url = "https://github.com/kemalcr/kemal.git";
     rev = "v1.1.2";
     sha256 = "1149q4qw0zrws5asqqr4snrdi67xsmisdcq58zcrbgqgsxgly9d0";
   };
   kilt = {
-    owner = "jeromegn";
-    repo = "kilt";
+    url = "https://github.com/jeromegn/kilt.git";
     rev = "v0.6.1";
     sha256 = "0dpc15y9m8c5l9zdfif6jlf7zmkrlm9w4m2igi5xa22fdjwamwfp";
   };
-  lsquic = {
-    owner = "iv-org";
-    repo = "lsquic.cr";
-    rev = "v2.18.1-2";
-    sha256 = "0bljk0pwbjb813dfwrhgi00w2ai09k868xvak4hfzdkbmpc7id6y";
-  };
   pg = {
-    owner = "will";
-    repo = "crystal-pg";
+    url = "https://github.com/will/crystal-pg.git";
     rev = "v0.24.0";
     sha256 = "07i5bqkv5j6y6f8v5cpqdxc5wzzrvgv3ds24znv4mzv6nc84csn4";
   };
   protodec = {
-    owner = "iv-org";
-    repo = "protodec";
-    rev = "v0.1.4";
-    sha256 = "15azh9izxqgwpgkpicmivfdz31wkibnwy09rwhxsg0lyc4wf8xj9";
+    url = "https://github.com/iv-org/protodec.git";
+    rev = "v0.1.5";
+    sha256 = "09cm36skv2mxqrlczp0j1g7cf8wsfdqr8q39nxyj3ggc3yadp8bc";
   };
   radix = {
-    owner = "luislavena";
-    repo = "radix";
+    url = "https://github.com/luislavena/radix.git";
     rev = "v0.4.1";
     sha256 = "1l08cydkdidq9yyil1wl240hvk41iycv04jrg6nx5mkvzw4z1bzg";
   };
   spectator = {
-    owner = "icy-arctic-fox";
-    repo = "spectator";
+    url = "https://github.com/icy-arctic-fox/spectator.git";
     rev = "v0.10.4";
     sha256 = "0rcxq2nbslvwrd8m9ajw6dzaw3hagxmkdy9s8p34cgnr4c9dijdq";
   };
   sqlite3 = {
-    owner = "crystal-lang";
-    repo = "crystal-sqlite3";
+    url = "https://github.com/crystal-lang/crystal-sqlite3.git";
     rev = "v0.18.0";
     sha256 = "03nnvpchhq9f9ywsm3pk2rrj4a3figw7xs96zdziwgr5znkz6x93";
   };
-  ameba = {
-    owner = "crystal-ameba";
-    repo = "ameba";
-    rev = "v0.14.3";
-    sha256 = "1cfr95xi6hsyxw1wlrh571hc775xhwmssk3k14i8b7dgbwfmm5x1";
-  };
 }
diff --git a/nixpkgs/pkgs/servers/invidious/update.sh b/nixpkgs/pkgs/servers/invidious/update.sh
index d7302e16bfbd..82c8186bebc4 100755
--- a/nixpkgs/pkgs/servers/invidious/update.sh
+++ b/nixpkgs/pkgs/servers/invidious/update.sh
@@ -35,13 +35,14 @@ if [ ! -d "$git_dir" ]; then
     git init --initial-branch="$git_branch" "$git_dir"
     git -C "$git_dir" remote add origin "$git_url"
 fi
-git -C "$git_dir" fetch origin "$git_branch"
+git -C "$git_dir" fetch origin --tags "$git_branch"
 
 # use latest commit before today, we should not call the version *today*
 # because there might still be commits coming
 # use the day of the latest commit we picked as version
 new_rev=$(git -C "$git_dir" log -n 1 --format='format:%H' --before="${today}T00:00:00Z" "origin/$git_branch")
-new_version="unstable-$(TZ=UTC git -C "$git_dir" log -n 1 --date='format-local:%Y-%m-%d' --format='%cd' "$new_rev")"
+new_tag=$(git -C "$git_dir" describe --tags --abbrev=0 "$new_rev")
+new_version="$new_tag-unstable-$(TZ=UTC git -C "$git_dir" log -n 1 --date='format-local:%Y-%m-%d' --format='%cd' "$new_rev")"
 info "latest commit before $today: $new_rev"
 
 if [ "$new_rev" = "$old_rev" ]; then
@@ -51,8 +52,8 @@ fi
 
 json_set '.invidious.version' "$new_version"
 json_set '.invidious.rev' "$new_rev"
-new_sha256=$(nix-prefetch -I 'nixpkgs=../../..' "$pkg")
-json_set '.invidious.sha256' "$new_sha256"
+new_hash=$(nix-prefetch -I 'nixpkgs=../../..' "$pkg")
+json_set '.invidious.hash' "$new_hash"
 commit_msg="$pkg: $old_version -> $new_version"
 
 # fetch video.js dependencies
@@ -60,37 +61,14 @@ info "Running scripts/fetch-player-dependencies.cr..."
 git -C "$git_dir" reset --hard "$new_rev"
 (cd "$git_dir" && crystal run scripts/fetch-player-dependencies.cr -- --minified)
 rm -f "$git_dir/assets/videojs/.gitignore"
-videojs_new_sha256=$(nix-hash --type sha256 --base32 "$git_dir/assets/videojs")
-json_set '.videojs.sha256' "$videojs_new_sha256"
+videojs_new_hash=$(nix-hash --type sha256 --sri "$git_dir/assets/videojs")
+json_set '.videojs.hash' "$videojs_new_hash"
 
 if git -C "$git_dir" diff-tree --quiet "${old_rev}..${new_rev}" -- 'shard.lock'; then
     info "shard.lock did not change since $old_rev."
 else
     info "Updating shards.nix..."
     crystal2nix -- "$git_dir/shard.lock"  # argv's index seems broken
-
-    lsquic_old_version=$(json_get '.lsquic.version')
-    # lsquic.cr's version tracks lsquic's, so lsquic must be updated to the
-    # version in the shards file
-    lsquic_new_version=$(nix eval --raw -f 'shards.nix' lsquic.rev \
-        | sed -e 's/^v//' -e 's/-[0-9]*$//')
-    if [ "$lsquic_old_version" != "$lsquic_new_version" ]; then
-        info "Updating lsquic to $lsquic_new_version..."
-        json_set '.lsquic.version' "$lsquic_new_version"
-        lsquic_new_sha256=$(nix-prefetch -I 'nixpkgs=../../..' "${pkg}.lsquic")
-        json_set '.lsquic.sha256' "$lsquic_new_sha256"
-
-        info "Updating boringssl..."
-        # lsquic specifies the boringssl commit it requires in its README
-        boringssl_new_rev=$(curl -LSsf "https://github.com/litespeedtech/lsquic/raw/v${lsquic_new_version}/README.md" \
-            | grep -Pom1 '(?<=^git checkout ).*')
-        json_set '.boringssl.rev' "$boringssl_new_rev"
-        boringssl_new_sha256=$(nix-prefetch -I 'nixpkgs=../../..' "${pkg}.lsquic.boringssl")
-        json_set '.boringssl.sha256' "$boringssl_new_sha256"
-        commit_msg="$commit_msg
-
-lsquic: $lsquic_old_version -> $lsquic_new_version"
-    fi
 fi
 
 git commit --verbose --message "$commit_msg" -- versions.json shards.nix
diff --git a/nixpkgs/pkgs/servers/invidious/versions.json b/nixpkgs/pkgs/servers/invidious/versions.json
index 73915248c706..38a59c02413c 100644
--- a/nixpkgs/pkgs/servers/invidious/versions.json
+++ b/nixpkgs/pkgs/servers/invidious/versions.json
@@ -1,18 +1,10 @@
 {
-  "boringssl": {
-    "rev": "251b5169fd44345f455438312ec4e18ae07fd58c",
-    "sha256": "sha256-EU6T9yQCdOLx98Io8o01rEsgxDFF/Xoy42LgPopD2/A="
-  },
   "invidious": {
-    "rev": "c005ada48723808e507d0a4d5a3363a1c14a4f07",
-    "sha256": "sha256-KbnBdAAjScwKV4uUzyBXAQx2C7MqCdCM3gSvgNIzKAU=",
-    "version": "unstable-2024-01-29"
-  },
-  "lsquic": {
-    "sha256": "sha256-hG8cUvhbCNeMOsKkaJlgGpzUrIx47E/WhmPIdI5F3qM=",
-    "version": "2.18.1"
+    "rev": "e8a36985aff1a5b33ddf9abea85dd2c23422c2f7",
+    "hash": "sha256-3nU6z1rd1oiNmIz3Ok02xBsT4oNSGX/n+3/WbRVCbhI=",
+    "version": "0.20.1-unstable-2024-02-18"
   },
   "videojs": {
-    "sha256": "0zj8fgxdg6jsllaxn795xipa6yxh4yf08hb8x0idyg74q37gfh4c"
+    "hash": "sha256-jED3zsDkPN8i6GhBBJwnsHujbuwlHdsVpVqa1/pzSH4="
   }
 }
diff --git a/nixpkgs/pkgs/servers/invidious/videojs.nix b/nixpkgs/pkgs/servers/invidious/videojs.nix
index 4016f8e1258d..35ad0b1f0655 100644
--- a/nixpkgs/pkgs/servers/invidious/videojs.nix
+++ b/nixpkgs/pkgs/servers/invidious/videojs.nix
@@ -14,5 +14,5 @@ stdenvNoCC.mkDerivation {
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = versions.videojs.sha256;
+  outputHash = versions.videojs.hash;
 }
diff --git a/nixpkgs/pkgs/servers/keycloak/default.nix b/nixpkgs/pkgs/servers/keycloak/default.nix
index 16e08aa82962..96a8f4673e66 100644
--- a/nixpkgs/pkgs/servers/keycloak/default.nix
+++ b/nixpkgs/pkgs/servers/keycloak/default.nix
@@ -18,11 +18,11 @@ let
   '';
 in stdenv.mkDerivation rec {
   pname = "keycloak";
-  version = "23.0.6";
+  version = "23.0.7";
 
   src = fetchzip {
     url = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip";
-    hash = "sha256-Sw+6UloKSvYjkm7qYROmsZxKk/sky4DKvgupo+S61Q8=";
+    hash = "sha256-9Hx7pX4m60u1UZAqXiafqEPMTvDVNdGLZfsSCktF84Q=";
   };
 
   nativeBuildInputs = [ makeWrapper jre ];
@@ -84,7 +84,7 @@ in stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.asl20;
     platforms = jre.meta.platforms;
-    maintainers = with maintainers; [ ngerstle talyz ];
+    maintainers = with maintainers; [ ngerstle talyz nickcao ];
   };
 
 }
diff --git a/nixpkgs/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix b/nixpkgs/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
index 992ce7ae932f..f330fd7c6cf3 100644
--- a/nixpkgs/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
+++ b/nixpkgs/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, autoconf, automake, sqlite, pkg-config, dovecot, libtool, xapian, icu64 }:
 stdenv.mkDerivation rec {
   pname = "dovecot-fts-xapian";
-  version = "1.6.2";
+  version = "1.6.5";
 
   src = fetchFromGitHub {
     owner = "grosjo";
     repo = "fts-xapian";
     rev = version;
-    sha256 = "sha256-xXHsbvWA0IWAMBMQgVsyKc1qfiqMH+Xm09fvK87R3hE=";
+    sha256 = "sha256-jkQM5J3Yqjo2j4kXhw/woV0kID2bghCmpFMuxbdMHuk=";
   };
 
   buildInputs = [ dovecot xapian icu64 sqlite ];
diff --git a/nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix b/nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix
index 89195e593737..52c7497f5a6d 100644
--- a/nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix
+++ b/nixpkgs/pkgs/servers/mail/mailman/hyperkitty.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     django-compressor
     django-extensions
     djangorestframework
-    flufl_lock
+    flufl-lock
     mistune
     networkx
     psycopg2
diff --git a/nixpkgs/pkgs/servers/mail/mailman/package.nix b/nixpkgs/pkgs/servers/mail/mailman/package.nix
index 475992fab3a9..190d9c757f60 100644
--- a/nixpkgs/pkgs/servers/mail/mailman/package.nix
+++ b/nixpkgs/pkgs/servers/mail/mailman/package.nix
@@ -26,9 +26,9 @@ buildPythonPackage rec {
     click
     dnspython
     falcon
-    flufl_bounce
-    flufl_i18n
-    flufl_lock
+    flufl-bounce
+    flufl-i18n
+    flufl-lock
     gunicorn
     lazr-config
     passlib
diff --git a/nixpkgs/pkgs/servers/mail/rspamd/default.nix b/nixpkgs/pkgs/servers/mail/rspamd/default.nix
index 6cf520a1a54c..4cd063df9df2 100644
--- a/nixpkgs/pkgs/servers/mail/rspamd/default.nix
+++ b/nixpkgs/pkgs/servers/mail/rspamd/default.nix
@@ -27,13 +27,13 @@ assert withHyperscan -> stdenv.isx86_64;
 
 stdenv.mkDerivation rec {
   pname = "rspamd";
-  version = "3.8.1";
+  version = "3.8.3";
 
   src = fetchFromGitHub {
     owner = "rspamd";
     repo = "rspamd";
     rev = version;
-    hash = "sha256-XbsebaplhLWPXpdwZyMbxsRyuvaBHtO2WtMoFzN7yXA=";
+    hash = "sha256-LX37HE4xr3tJqAXBDbi2O8N9tt8DazslIfmqG9hNiKw=";
   };
 
   hardeningEnable = [ "pie" ];
diff --git a/nixpkgs/pkgs/servers/mastodon/gemset.nix b/nixpkgs/pkgs/servers/mastodon/gemset.nix
index e888bfe750bb..bc556d4f3673 100644
--- a/nixpkgs/pkgs/servers/mastodon/gemset.nix
+++ b/nixpkgs/pkgs/servers/mastodon/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "117vxic67jnw6q637kmsb3ryj0x485295pz9a9y4z8xn9bdlsl0z";
+      sha256 = "0j86qjs1zw34p0p7d5napa1vvwqlvm9nmv7ckxxhcba1qv4dspmw";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.0.8.1";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r8ldj2giaz8cn49qkdqn5zc29gbsr5ky4fg6r7ali0yh1xh684l";
+      sha256 = "1f68h8cl6dqbz7mq3x43s0s82291nani3bz1hrxkk2qpgda23mw9";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.0.8.1";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w6gvj7ybniq89834hqww9rj2xypz9l91f8niwaws2yq1qklymr2";
+      sha256 = "077j47jsg0wqwx5b13n4h0g3g409b6kfrlazpzgjpa3pal74f7sc";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.0.8.1";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1l319p0gipfgq8bp8dvbv97qqb72rad9zcqn5snhgv20cmpqr69b";
+      sha256 = "0jh83rqd6glys1b2wsihzsln8yk6zdwgiyn9xncyiav9rcwjpkax";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.0.8.1";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i47r3n2m8qm002gx7c0lx1pv15pr2zy57dm8j38x960rsb655pp";
+      sha256 = "044qi3zhzxlfq7slc2pb9ky9mdivp1m1sjyhjvnsi64ggq7cvr22";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.0.8.1";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xnpdwj1d8m6c2d90jp9cs50ggiz0jj02ls2h9lg68k4k8mnjbd2";
+      sha256 = "1ygpg75f3ffdcbxvf7s14xw3hcjin1nnx1nk3mg9mj2xc1nb60aa";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.0.8.1";
   };
   active_model_serializers = {
     dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cn1ic7ml75jm0c10s7cm5mvcgfnafj0kjvvjavpjcxgz6lxcqyb";
+      sha256 = "0yql9v4cd1xbqgnzlf3cv4a6sm26v2y4gsgcbbfgvfc0hhlfjklg";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.0.8.1";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "004w8zaz2g3y6lnrsvlcmljll0m3ndqpgwf0wfscgq6iysibiglm";
+      sha256 = "0grdpvglh0cj96qhlxjj9bcfqkh13c1pfpcwc9ld3aw0yzvsw5a1";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.0.8.1";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04wavps80q3pvhvfbmi4gs102y1p6mxbg8xylzvib35b6m92adpj";
+      sha256 = "0rlky1cr5kcdl0jad3nk5jpim6vjzbgkfhxnk7y492b3j2nznpcf";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.0.8.1";
   };
   activestorage = {
     dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
@@ -115,10 +115,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d6vm6alsp0g6f3548b615zxbz8l2wrmaikwgsf8kv11wf6swb4c";
+      sha256 = "0f4g3589i5ii4gdfazv6d9rjinr16aarh6g12v8378ck7jll3mhz";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.0.8.1";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
@@ -126,10 +126,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "188kbwkn1lbhz40ala8ykp20jzqphgc68g3d8flin8cqa2xid0s5";
+      sha256 = "0ff3x7q400flzhml131ix8zfwmh13h70rs6yzbzf513g781gbbxh";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.0.8.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -694,10 +694,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1";
+      sha256 = "149jknsq999gnhy865n33fkk22s0r447k76x9pmcnnwldfv2q7wp";
       type = "gem";
     };
-    version = "3.3.3";
+    version = "3.3.4";
   };
   debug_inspector = {
     groups = ["default" "development"];
@@ -1609,10 +1609,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p744kjpb5zk2ihklbykzii77alycjc04vpnm2ch2f3cp65imlj3";
+      sha256 = "0d5p9vg2qkqfy60i93mpd3b25kw4bdxfai034y5a94pxp5fws61c";
       type = "gem";
     };
-    version = "2.21.3";
+    version = "2.21.4";
   };
   mail = {
     dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"];
@@ -1828,10 +1828,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dxckrlw4q1lcn3qg4mimmjazmg9bma5gllv72f8js3p36fb3b91";
+      sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa";
       type = "gem";
     };
-    version = "0.2.1";
+    version = "0.2.2";
   };
   net-scp = {
     dependencies = ["net-ssh"];
@@ -1850,10 +1850,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c6md06hm5bf6rv53sk54dl2vg038pg8kglwv3rayx0vk2mdql9x";
+      sha256 = "0hwiqplhi29kfjl8jm0rhl51qv6wmxfynl4qap1dhv9xdwc4bm1x";
       type = "gem";
     };
-    version = "0.3.3";
+    version = "0.3.4";
   };
   net-ssh = {
     groups = ["default" "development"];
@@ -2178,10 +2178,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15rdwbyk71c9nxvd527bvb8jxkcys8r3dj3vqra5b3sa63qs30vv";
+      sha256 = "10mpk0hl6hnv324fp1pfimi2nw9acj0z4gyhrph36qg84pk1s4m7";
       type = "gem";
     };
-    version = "2.2.8";
+    version = "2.2.8.1";
   };
   rack-attack = {
     dependencies = ["rack"];
@@ -2255,10 +2255,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rsqin156dawz7gzpy1ijs02afqcr4704vqj56s6yxng3a9ayhwf";
+      sha256 = "1v9dp9sgh8kk32r23mj66zjni7w1dv2h7mbaxgmazsf59a43gsvx";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.0.8.1";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -2323,10 +2323,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sfc16zrcn4jgf5xczb08n6prhmqqgg9f0b4mn73zlzg6cwmqchj";
+      sha256 = "08ga56kz6a37dnlmi7y45r19fcc7jzb62mrc3ifavbzggmhy7r62";
       type = "gem";
     };
-    version = "7.0.8";
+    version = "7.0.8.1";
   };
   rainbow = {
     groups = ["default" "development"];
@@ -3043,10 +3043,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d9cvm0f4zdpwa795v3zv4973y5zk59j7s1x3yn90jjrhcz1yvfd";
+      sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.4.1";
   };
   tpm-key_attestation = {
     dependencies = ["bindata" "openssl" "openssl-signature_algorithm"];
@@ -3342,10 +3342,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mwdd445w63khz13hpv17m2br5xngyjl3jdj08xizjbm78i2zrxd";
+      sha256 = "1m67qmsak3x8ixs8rb971azl3l7wapri65pmbf5z886h46q63f1d";
       type = "gem";
     };
-    version = "2.6.11";
+    version = "2.6.13";
   };
 }
 
diff --git a/nixpkgs/pkgs/servers/mastodon/source.nix b/nixpkgs/pkgs/servers/mastodon/source.nix
index 4036b5b48135..13165c3405fb 100644
--- a/nixpkgs/pkgs/servers/mastodon/source.nix
+++ b/nixpkgs/pkgs/servers/mastodon/source.nix
@@ -1,7 +1,7 @@
 # This file was generated by pkgs.mastodon.updateScript.
 { fetchFromGitHub, applyPatches, patches ? [] }:
 let
-  version = "4.2.7";
+  version = "4.2.8";
 in
 (
   applyPatches {
@@ -9,7 +9,7 @@ in
       owner = "mastodon";
       repo = "mastodon";
       rev = "v${version}";
-      hash = "sha256-lz1HMg/B6BOqGxypzDTTO5yY7C5B6QRNIpRnDZW2eGs=";
+      hash = "sha256-7/E7iHqJxmYSorXYti7h8EbP7wcOAaD04ToLeU2I/nY=";
     };
     patches = patches ++ [];
   }) // {
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/package.json b/nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/package.json
index 8d3204fa2b4f..68f75d734bd7 100644
--- a/nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/package.json
+++ b/nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/package.json
@@ -1,6 +1,6 @@
 {
   "name": "matrix-hookshot",
-  "version": "5.1.2",
+  "version": "5.2.1",
   "description": "A bridge between Matrix and multiple project management services, such as GitHub, GitLab and JIRA.",
   "main": "lib/app.js",
   "repository": "https://github.com/matrix-org/matrix-hookshot",
@@ -114,6 +114,6 @@
     "ts-jest": "^29.1.1",
     "ts-node": "^10.9.1",
     "typescript": "^5.3.3",
-    "vite": "^5.0.10"
+    "vite": "^5.0.12"
   }
 }
diff --git a/nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json b/nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
index 51dab75959ad..08607edb9505 100644
--- a/nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
+++ b/nixpkgs/pkgs/servers/matrix-synapse/matrix-hookshot/pin.json
@@ -1,6 +1,6 @@
 {
-  "version": "5.1.2",
-  "srcHash": "sha256-dBuk/kpU5/GnwoTDh8FdnetK2hEBBTwrUA3fP/L9mWU=",
-  "yarnHash": "100lfm0pr0l33j1bl9zmw1s7fm4ihrwppyvq6x8ahx1sjrr1m0lp",
-  "cargoHash": "sha256-4cFhV5y7tqUZ4pQWQKIbOZ0qXo0ya5gnMizCNcxYZS0="
+  "version": "5.2.1",
+  "srcHash": "sha256-yh8erXI1r9BqdJvEdk2WuBojXUK7VQf9bc4GQ2a2vIo=",
+  "yarnHash": "0nps2wbpkaivi9wb9zcqsrg77w9mm7inls9jqsx7xmyn4ashbs1p",
+  "cargoHash": "sha256-3euxhE9Y3N9bxo5S+l2mhYF575EoC/A5pH/mD+Ey86g="
 }
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix
index 639e4a0b0bc3..7975bf514e3c 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/default.nix
@@ -7,18 +7,18 @@
 
 mkYarnPackage rec {
   pname = "grafana-image-renderer";
-  version = "3.9.0";
+  version = "3.10.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "grafana-image-renderer";
     rev = "v${version}";
-    hash = "sha256-MFMAfjvP7FQRG71xbgwhreDIBdQ4Qho/msdmDLiRetg=";
+    hash = "sha256-fl2vDaGLR2ZlHnljfHYPN0EmbGqJwVs5dBkXRDJ3fM8=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = src + "/yarn.lock";
-    hash = "sha256-hrDsgZlfLJTO3ROJ/Zb3OyF2QQTjsSJIt+2TesyXYUA=";
+    hash = "sha256-6x42/UaTNmoglgHDqfa0LjQz8PeOwUVqI5BOEuzdnuM=";
   };
 
   packageJSON = ./package.json;
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/package.json b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/package.json
index ca8fec206830..7d360f78c6b1 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/package.json
+++ b/nixpkgs/pkgs/servers/monitoring/grafana-image-renderer/package.json
@@ -17,7 +17,11 @@
     "watch:debug": "tsc-watch --onSuccess \"cross-env DEBUG=puppeteer-cluster:* node build/app.js server --config=dev.json\"",
     "build": "tsc",
     "start": "node build/app.js server --config=dev.json",
-    "create-gcom-plugin-json": "ts-node scripts/createGcomPluginJson.ts ./scripts/tmp"
+    "create-gcom-plugin-json": "ts-node scripts/createGcomPluginJson.ts ./scripts/tmp",
+    "test-update": "cross-env UPDATE_GOLDEN=true jest",
+    "test": "sh ./scripts/run_tests.sh",
+    "test-ci": "jest",
+    "test-diff": "cross-env SAVE_DIFF=true jest"
   },
   "dependencies": {
     "@grpc/grpc-js": "^1.7.0",
@@ -29,7 +33,7 @@
     "express": "^4.16.3",
     "express-prom-bundle": "^6.5.0",
     "google-protobuf": "3.21.0",
-    "jimp": "^0.16.13",
+    "jimp": "^0.22.10",
     "jsdom": "20.0.0",
     "lodash": "^4.17.21",
     "minimist": "^1.2.6",
@@ -47,9 +51,12 @@
     "@grafana/eslint-config": "^6.0.0",
     "@types/dompurify": "2.3.4",
     "@types/express": "^4.17.14",
+    "@types/jest": "^29.5.7",
     "@types/jsdom": "20.0.0",
     "@types/multer": "1.4.7",
     "@types/node": "^18.7.18",
+    "@types/pixelmatch": "^5.2.6",
+    "@types/supertest": "^2.0.15",
     "@typescript-eslint/eslint-plugin": "5.37.0",
     "@typescript-eslint/parser": "5.37.0",
     "axios": "1.6.0",
@@ -60,10 +67,16 @@
     "eslint-plugin-prettier": "4.2.1",
     "eslint-plugin-react": "7.31.8",
     "eslint-plugin-react-hooks": "4.6.0",
+    "fast-png": "^6.2.0",
     "husky": "8.0.1",
+    "jest": "^29.7.0",
+    "jsonwebtoken": "^9.0.2",
     "lint-staged": "13.0.3",
     "pkg": "5.8.1",
     "prettier": "2.7.1",
+    "superagent": "^8.1.2",
+    "supertest": "^6.3.3",
+    "ts-jest": "^29.1.1",
     "ts-node": "10.9.1",
     "tsc-watch": "5.0.3",
     "typescript": "4.8.3"
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix
index d4d2d48a0bbc..2b2c5354ca1c 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/dmarc-metrics-exporter/default.nix
@@ -5,7 +5,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "dmarc-metrics-exporter";
-  version = "0.10.1";
+  version = "1.0.0";
 
   disabled = python3.pythonOlder "3.8";
 
@@ -15,7 +15,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "jgosmann";
     repo = "dmarc-metrics-exporter";
     rev = "refs/tags/v${version}";
-    hash = "sha256-gur0+2yHqxySXECMboW7dAyyf0ckSdS0FEy7HvA5Y5w=";
+    hash = "sha256-pT2GGoNPCHBZZbbBE93cJjgogBNcdpvLmrVakNMu6tY=";
   };
 
   pythonRelaxDeps = true;
@@ -29,6 +29,7 @@ python3.pkgs.buildPythonApplication rec {
     bite-parser
     dataclasses-serialization
     prometheus-client
+    structlog
     uvicorn
     xsdata
   ]
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/fastly-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/fastly-exporter.nix
index 0659ead43ccc..ba2d5217e344 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/fastly-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/fastly-exporter.nix
@@ -1,22 +1,31 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, nixosTests
+}:
 
 buildGoModule rec {
   pname = "fastly-exporter";
   version = "7.6.1";
 
   src = fetchFromGitHub {
-    owner = "peterbourgon";
-    repo = pname;
+    owner = "fastly";
+    repo = "fastly-exporter";
     rev = "v${version}";
-    sha256 = "sha256-JUbjWAJ70iq0RCr6U2thbtZ3nmCic9wGtSf2ArRy4uA=";
+    hash = "sha256-JUbjWAJ70iq0RCr6U2thbtZ3nmCic9wGtSf2ArRy4uA=";
   };
 
   vendorHash = "sha256-lEaMhJL/sKNOXx0W+QHMG4QUUE6Pc4AqulhgyCMQQNY=";
 
+  passthru.tests = {
+    inherit (nixosTests.prometheus-exporters) fastly;
+  };
+
   meta = with lib; {
     description = "Prometheus exporter for the Fastly Real-time Analytics API";
-    homepage = "https://github.com/peterbourgon/fastly-exporter";
+    homepage = "https://github.com/fastly/fastly-exporter";
     license = licenses.asl20;
     maintainers = teams.deshaw.members;
+    mainProgram = "fastly-exporter";
   };
 }
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/statsd-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/statsd-exporter.nix
index ca650c53475d..201ec3a32e36 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/statsd-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/statsd-exporter.nix
@@ -14,6 +14,18 @@ buildGoModule rec {
     hash = "sha256-C7+4v40T667KJHEQ3ebLDg2wJNrxD/nossfT6rMlER8=";
   };
 
+  ldflags =
+    let
+      t = "github.com/prometheus/common/version";
+    in
+    [ "-s" "-w"
+      "-X ${t}.Version=${version}"
+      "-X ${t}.Revision=unknown"
+      "-X ${t}.Branch=unknown"
+      "-X ${t}.BuildUser=nix@nixpkgs"
+      "-X ${t}.BuildDate=unknown"
+    ];
+
   vendorHash = "sha256-scBpRZeECgAtpu9lnkIk1I2c8UmAkEL8LYNPUeUNYto=";
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/servers/monitoring/thanos/default.nix b/nixpkgs/pkgs/servers/monitoring/thanos/default.nix
index a1e7c4add953..76e87f8a0a7b 100644
--- a/nixpkgs/pkgs/servers/monitoring/thanos/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/thanos/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "thanos";
-  version = "0.34.0";
+  version = "0.34.1";
 
   src = fetchFromGitHub {
     owner = "thanos-io";
     repo = "thanos";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mbDjp8GAkFMkQnLd64A/nbYA/EIA4HpY6EshdDV+b1U=";
+    hash = "sha256-AynKxORgO8fY8KAhzyIeHCw2MI2se5eHSPn0kt1RJq4=";
   };
 
-  vendorHash = "sha256-ZAPaGDt+TnBUEng5EYIBNHN/o+gpaLzAO4kuSjx9S8U=";
+  vendorHash = "sha256-4IT3YeGXSEzC0z+rC2yQCY9QQZeXxpMtJM/4/kINn3s=";
 
   doCheck = true;
 
diff --git a/nixpkgs/pkgs/servers/monitoring/zabbix/agent.nix b/nixpkgs/pkgs/servers/monitoring/zabbix/agent.nix
index 4aaeb9f103d6..3f1d80ca4df9 100644
--- a/nixpkgs/pkgs/servers/monitoring/zabbix/agent.nix
+++ b/nixpkgs/pkgs/servers/monitoring/zabbix/agent.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, pkg-config, libiconv, openssl, pcre }:
 
-import ./versions.nix ({ version, sha256, ... }:
+import ./versions.nix ({ version, hash, ... }:
   stdenv.mkDerivation {
     pname = "zabbix-agent";
     inherit version;
 
     src = fetchurl {
       url = "https://cdn.zabbix.com/zabbix/sources/stable/${lib.versions.majorMinor version}/zabbix-${version}.tar.gz";
-      inherit sha256;
+      inherit hash;
     };
 
     nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/servers/monitoring/zabbix/agent2.nix b/nixpkgs/pkgs/servers/monitoring/zabbix/agent2.nix
index 718522c8fccf..374a137297f1 100644
--- a/nixpkgs/pkgs/servers/monitoring/zabbix/agent2.nix
+++ b/nixpkgs/pkgs/servers/monitoring/zabbix/agent2.nix
@@ -1,13 +1,13 @@
 { lib, buildGoModule, fetchurl, autoreconfHook, pkg-config, libiconv, openssl, pcre, zlib }:
 
-import ./versions.nix ({ version, sha256, vendorHash ? throw "unsupported version ${version} for zabbix-agent2", ... }:
+import ./versions.nix ({ version, hash, vendorHash ? throw "unsupported version ${version} for zabbix-agent2", ... }:
   buildGoModule {
     pname = "zabbix-agent2";
     inherit version;
 
     src = fetchurl {
       url = "https://cdn.zabbix.com/zabbix/sources/stable/${lib.versions.majorMinor version}/zabbix-${version}.tar.gz";
-      inherit sha256;
+      inherit hash;
     };
 
     modRoot = "src/go";
diff --git a/nixpkgs/pkgs/servers/monitoring/zabbix/proxy.nix b/nixpkgs/pkgs/servers/monitoring/zabbix/proxy.nix
index f9088e682bdb..b287ef56c76f 100644
--- a/nixpkgs/pkgs/servers/monitoring/zabbix/proxy.nix
+++ b/nixpkgs/pkgs/servers/monitoring/zabbix/proxy.nix
@@ -15,14 +15,14 @@ assert sqliteSupport -> !mysqlSupport && !postgresqlSupport;
 let
   inherit (lib) optional optionalString;
 in
-  import ./versions.nix ({ version, sha256, ... }:
+  import ./versions.nix ({ version, hash, ... }:
     stdenv.mkDerivation {
       pname = "zabbix-proxy";
       inherit version;
 
       src = fetchurl {
         url = "https://cdn.zabbix.com/zabbix/sources/stable/${lib.versions.majorMinor version}/zabbix-${version}.tar.gz";
-        inherit sha256;
+        inherit hash;
       };
 
       nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/servers/monitoring/zabbix/server.nix b/nixpkgs/pkgs/servers/monitoring/zabbix/server.nix
index 3cffedd5aeb0..5abf6a93d55d 100644
--- a/nixpkgs/pkgs/servers/monitoring/zabbix/server.nix
+++ b/nixpkgs/pkgs/servers/monitoring/zabbix/server.nix
@@ -16,14 +16,14 @@ assert postgresqlSupport -> !mysqlSupport;
 let
   inherit (lib) optional optionalString;
 in
-  import ./versions.nix ({ version, sha256, ... }:
+  import ./versions.nix ({ version, hash, ... }:
     stdenv.mkDerivation {
       pname = "zabbix-server";
       inherit version;
 
       src = fetchurl {
         url = "https://cdn.zabbix.com/zabbix/sources/stable/${lib.versions.majorMinor version}/zabbix-${version}.tar.gz";
-        inherit sha256;
+        inherit hash;
       };
 
       nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix b/nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix
index d6d7adfb395a..6fe89a17c357 100644
--- a/nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix
+++ b/nixpkgs/pkgs/servers/monitoring/zabbix/versions.nix
@@ -1,18 +1,13 @@
 generic: {
   v60 = generic {
-    version = "6.0.21";
-    sha256 = "sha256-hdKPI5UEQvF/URH2eLWW32az3LMEse3UXIELOsfvwzk=";
+    version = "6.0.26";
+    hash = "sha256-MIOKe5hqfDecB1oWZKzbFmJCsQLuAGtp21l2WxxVG+g=";
     vendorHash = null;
   };
 
   v50 = generic {
-    version = "5.0.37";
-    sha256 = "sha256-+C5fI+eMJKsynVnVJIYj27x1iFQwaG9Fnho0BXgENQI=";
-    vendorHash = "sha256-oSZBzIUL1yHXk7PnkSAlhI0i89aGMFrFHmbMN9rDAJ0=";
-  };
-
-  v40 = generic {
-    version = "4.0.48";
-    sha256 = "sha256-WK8Zzkd/s9M7N5Qr2kejtp/f/n1wb5zRSfh0RiI2K+Q=";
+    version = "5.0.41";
+    hash = "sha256-pPvw0lPoK1IpsXc5c8Qu9zFhx2oHJz2bwiX80vrYa58=";
+    vendorHash = "sha256-qLDoNnEFiSrWXbLtYlmQaqY8Rv6JaG8WbMYBlry5Evc=";
   };
 }
diff --git a/nixpkgs/pkgs/servers/monitoring/zabbix/web.nix b/nixpkgs/pkgs/servers/monitoring/zabbix/web.nix
index cbd095e234cc..7267e3046dd7 100644
--- a/nixpkgs/pkgs/servers/monitoring/zabbix/web.nix
+++ b/nixpkgs/pkgs/servers/monitoring/zabbix/web.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, writeText }:
 
-import ./versions.nix ({ version, sha256, ... }:
+import ./versions.nix ({ version, hash, ... }:
   stdenv.mkDerivation rec {
     pname = "zabbix-web";
     inherit version;
 
     src = fetchurl {
       url = "https://cdn.zabbix.com/zabbix/sources/stable/${lib.versions.majorMinor version}/zabbix-${version}.tar.gz";
-      inherit sha256;
+      inherit hash;
     };
 
     phpConfig = writeText "zabbix.conf.php" ''
diff --git a/nixpkgs/pkgs/servers/nextcloud/notify_push.nix b/nixpkgs/pkgs/servers/nextcloud/notify_push.nix
index 10ec5a6c6589..2322c4f7eac3 100644
--- a/nixpkgs/pkgs/servers/nextcloud/notify_push.nix
+++ b/nixpkgs/pkgs/servers/nextcloud/notify_push.nix
@@ -25,6 +25,10 @@ rustPlatform.buildRustPackage rec {
       buildAndTestSubdir = "test_client";
 
       cargoHash = "sha256-OUALNd64rr2qXyRNV/O+pi+dE0HYogwlbWx5DCACzyk=";
+
+      meta = meta // {
+        mainProgram = "test_client";
+      };
     };
     tests = {
       inherit (nixosTests.nextcloud)
diff --git a/nixpkgs/pkgs/servers/nosql/ferretdb/default.nix b/nixpkgs/pkgs/servers/nosql/ferretdb/default.nix
index 69ee8650697f..526253c7b67f 100644
--- a/nixpkgs/pkgs/servers/nosql/ferretdb/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/ferretdb/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "ferretdb";
-  version = "1.19.0";
+  version = "1.20.1";
 
   src = fetchFromGitHub {
     owner = "FerretDB";
     repo = "FerretDB";
     rev = "v${version}";
-    hash = "sha256-G2eQ0CjvZYYTFnx1U+qUGiZLqY8Xx70p7J1lkzbxmF8=";
+    hash = "sha256-joLl0LTDGP2FVYcUIknrLPYorfIlMXli+igV/Z4P0BI=";
   };
 
   postPatch = ''
@@ -20,7 +20,7 @@ buildGoModule rec {
     echo nixpkgs     > build/version/package.txt
   '';
 
-  vendorHash = "sha256-27WwvhX4QHmhBbg8/OFA7MKo34jwngkDQ/ahqV3N4qY=";
+  vendorHash = "sha256-lkJagsagJT8qP3/cd6Rfe2mqjOmDK7R+we0eblyT9rw=";
 
   CGO_ENABLED = 0;
 
diff --git a/nixpkgs/pkgs/servers/nosql/mongodb/5.0.nix b/nixpkgs/pkgs/servers/nosql/mongodb/5.0.nix
index 7d6985f21054..2a26cb94eb16 100644
--- a/nixpkgs/pkgs/servers/nosql/mongodb/5.0.nix
+++ b/nixpkgs/pkgs/servers/nosql/mongodb/5.0.nix
@@ -6,8 +6,8 @@ let
   };
   variants = if stdenv.isLinux then
     {
-      version = "5.0.23";
-      sha256 = "sha256-URIOBsR64ppZP4DiDg3hXnOGEUwRXhA1P5ZuecsT2mE=";
+      version = "5.0.24";
+      sha256 = "sha256-6CVQOHN3yFTq6OyVkZMYEjIKfFbQZ6M5KAa3k7qv4Gc=";
       patches = [ ./fix-build-with-boost-1.79-5_0-linux.patch ];
     }
   else lib.optionalAttrs stdenv.isDarwin
diff --git a/nixpkgs/pkgs/servers/nosql/mongodb/6.0.nix b/nixpkgs/pkgs/servers/nosql/mongodb/6.0.nix
index 2a3ecb07bec4..edc7ee047466 100644
--- a/nixpkgs/pkgs/servers/nosql/mongodb/6.0.nix
+++ b/nixpkgs/pkgs/servers/nosql/mongodb/6.0.nix
@@ -6,8 +6,8 @@ let
   };
 in
 buildMongoDB {
-  version = "6.0.12";
-  sha256 = "sha256-5orVFio+4HIzhs63KJdZ1RHOPoOMa9Uk/8bygRs1JoY=";
+  version = "6.0.13";
+  sha256 = "sha256-BD3XrTdv4sCa3h37o1A2s3/R0R8zHiR59a4pY0RxLGU=";
   patches = [
     (fetchpatch {
       name = "mongodb-6.1.0-rc-more-specific-cache-alignment-types.patch";
diff --git a/nixpkgs/pkgs/servers/nosql/neo4j/default.nix b/nixpkgs/pkgs/servers/nosql/neo4j/default.nix
index f7eff31691eb..3bf736bdc238 100644
--- a/nixpkgs/pkgs/servers/nosql/neo4j/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/neo4j/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "neo4j";
-  version = "5.16.0";
+  version = "5.17.0";
 
   src = fetchurl {
     url = "https://neo4j.com/artifact.php?name=neo4j-community-${version}-unix.tar.gz";
-    hash = "sha256-XelRjO74bT6HrrUTy5lvbz9NzhHbW7HSMIyrMn3rmJA=";
+    hash = "sha256-l1t5RI5KfgzT9ynDQxSbUtIEdPs1BVCdY4396GHJxEA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/servers/nosql/questdb/default.nix b/nixpkgs/pkgs/servers/nosql/questdb/default.nix
index 454a48beefd7..01d86bdb02ef 100644
--- a/nixpkgs/pkgs/servers/nosql/questdb/default.nix
+++ b/nixpkgs/pkgs/servers/nosql/questdb/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "questdb";
-  version = "7.3.9";
+  version = "7.3.10";
 
   src = fetchurl {
     url = "https://github.com/questdb/questdb/releases/download/${finalAttrs.version}/questdb-${finalAttrs.version}-no-jre-bin.tar.gz";
-    hash = "sha256-kbpLeFOLzVPnoNlnFAPmPhfuNmEEkrrE4QLN3GXMZ1M=";
+    hash = "sha256-diltorfAnyrXZwohrsZHA91AXuSZolxDUajfmOaD5lM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/servers/pleroma/default.nix b/nixpkgs/pkgs/servers/pleroma/default.nix
index 485c27e12da8..c57c1bad3d87 100644
--- a/nixpkgs/pkgs/servers/pleroma/default.nix
+++ b/nixpkgs/pkgs/servers/pleroma/default.nix
@@ -7,14 +7,14 @@
 
 beamPackages.mixRelease rec {
   pname = "pleroma";
-  version = "2.6.1";
+  version = "2.6.2";
 
   src = fetchFromGitLab {
     domain = "git.pleroma.social";
     owner = "pleroma";
     repo = "pleroma";
     rev = "v${version}";
-    sha256 = "sha256-VIGlJ5+99l+VSUl7c9jiQf94X/JV0+HFgI8xQ4ZLQ9s=";
+    sha256 = "sha256-KVB6e/B6DJbylpfR8QTZJ1GOJrAqF6shqoU/zIndi1U=";
   };
 
   patches = [
@@ -47,8 +47,8 @@ beamPackages.mixRelease rec {
           group = "pleroma";
           owner = "elixir-libraries";
           repo = "elixir-captcha";
-          rev = "e0f16822d578866e186a0974d65ad58cddc1e2ab";
-          sha256 = "0qbf86l59kmpf1nd82v4141ba9ba75xwmnqzpgbm23fa1hh8pi9c";
+          rev = "90f6ce7672f70f56708792a98d98bd05176c9176";
+          hash = "sha256-s7EuAhmCsQA/4p2NJHJSWB/DZ5hA+7EelPsUOvKr2Po=";
         };
         beamDeps = with final; [ ];
 
diff --git a/nixpkgs/pkgs/servers/redpanda/default.nix b/nixpkgs/pkgs/servers/redpanda/default.nix
index 5459436dac8a..5d10e3668dc7 100644
--- a/nixpkgs/pkgs/servers/redpanda/default.nix
+++ b/nixpkgs/pkgs/servers/redpanda/default.nix
@@ -7,12 +7,12 @@
 , stdenv
 }:
 let
-  version = "23.3.5";
+  version = "23.3.6";
   src = fetchFromGitHub {
     owner = "redpanda-data";
     repo = "redpanda";
     rev = "v${version}";
-    sha256 = "sha256-rERKoaSZ/lscMW9IcHU00+l4BzvFCz3RMDCQyiEam0E=";
+    sha256 = "sha256-8VkMVbiwQDsYGour9fn0qYXXS/kWnhtARNaGmXVyaIY=";
   };
   server = callPackage ./server.nix { inherit src version; };
 in
diff --git a/nixpkgs/pkgs/servers/search/opensearch/default.nix b/nixpkgs/pkgs/servers/search/opensearch/default.nix
index 8e71e14671b5..94207ec5665f 100644
--- a/nixpkgs/pkgs/servers/search/opensearch/default.nix
+++ b/nixpkgs/pkgs/servers/search/opensearch/default.nix
@@ -11,11 +11,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "opensearch";
-  version = "2.11.1";
+  version = "2.12.0";
 
   src = fetchurl {
     url = "https://artifacts.opensearch.org/releases/bundle/opensearch/${finalAttrs.version}/opensearch-${finalAttrs.version}-linux-x64.tar.gz";
-    hash = "sha256-km6z+Z9ZLnUY1dweJQrhHRu0XvdmqQIiqN8Ruy7jWpw=";
+    hash = "sha256-t9s633qDzxvG1x+VVATpczzvD+ojnfTiwB/EambMKtA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/servers/search/weaviate/default.nix b/nixpkgs/pkgs/servers/search/weaviate/default.nix
index b99f5aa2d423..f8d91944aed2 100644
--- a/nixpkgs/pkgs/servers/search/weaviate/default.nix
+++ b/nixpkgs/pkgs/servers/search/weaviate/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "weaviate";
-  version = "1.23.9";
+  version = "1.23.10";
 
   src = fetchFromGitHub {
     owner = "weaviate";
     repo = "weaviate";
     rev = "v${version}";
-    hash = "sha256-cl8jTMrX/N/MNxmFtF818veZEFuBQ1APXzqs8WC/Bt4=";
+    hash = "sha256-aPXPQO47HeYXqzD+wS+EAhvDy7D9g5Kh6YXB89M1d0c=";
   };
 
   vendorHash = "sha256-UEdGoXKq7ewNszahgcomjjuO2uzRZpiwkvvnXyFc9Og=";
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/default.nix b/nixpkgs/pkgs/servers/sql/postgresql/default.nix
index 11fae33a6edd..700f0ad99bd1 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/default.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/default.nix
@@ -115,17 +115,6 @@ let
       ./patches/specify_pkglibdir_at_runtime.patch
       ./patches/findstring.patch
 
-      # Fix build with libxml2 2.12.0 and -Wincompatible-function-pointer-types
-      (if atLeast "16" then
-        # https://www.postgresql.org/message-id/CACpMh%2BDMZVHM%2BiDSyqdcpK8sr7jd_HxxLJRNvGTzcLBE0W07QA%40mail.gmail.com
-        fetchurl {
-          url = "https://www.postgresql.org/message-id/attachment/152769/v1-0001-Make-PostgreSQL-work-with-newer-version-of-libxml.patch";
-          hash = "sha256-1j5mtG++hFmYwfS98PdN1SmNI4T86q4FXvKLz2VeJyg=";
-        }
-      else
-        ./patches/libxml2.12-15.patch
-      )
-
       (substituteAll {
         src = ./locale-binary-path.patch;
         locale = "${if stdenv.isDarwin then darwin.adv_cmds else lib.getBin stdenv.cc.libc}/bin/locale";
@@ -366,45 +355,45 @@ let
 
   mkPackages = self: {
     postgresql_12 = self.callPackage generic {
-      version = "12.17";
+      version = "12.18";
       psqlSchema = "12";
-      hash = "sha256-k+jhsjmB1fA8bFdj93soGEwc5NtxlPpGbi7bZdnBxfY=";
+      hash = "sha256-T5kZcl2UHOmGjgf+HtHTqGdIWZtIM4ZUdYOSi3TDkYo=";
       this = self.postgresql_12;
       thisAttr = "postgresql_12";
       inherit self;
     };
 
     postgresql_13 = self.callPackage generic {
-      version = "13.13";
+      version = "13.14";
       psqlSchema = "13";
-      hash = "sha256-ivacJZkEeirSRlZ9aOxBMa7xFpVNjD5GnpeJCAs3pHQ=";
+      hash = "sha256-uN8HhVGJiWC9UA3F04oXfpkFN234H+fytmChQH+mpe0=";
       this = self.postgresql_13;
       thisAttr = "postgresql_13";
       inherit self;
     };
 
     postgresql_14 = self.callPackage generic {
-      version = "14.10";
+      version = "14.11";
       psqlSchema = "14";
-      hash = "sha256-yZQxxI6dRwsNCrlG6yFBo80ZEwwvtNxLMoSnd07Mg5k=";
+      hash = "sha256-pnC9fc4i3K1Cl7JhE2s7HUoJpvVBcZViqhTKY78paKg=";
       this = self.postgresql_14;
       thisAttr = "postgresql_14";
       inherit self;
     };
 
     postgresql_15 = self.callPackage generic {
-      version = "15.5";
+      version = "15.6";
       psqlSchema = "15";
-      hash = "sha256-j1OqldeOuOglNupGtoGHeTtCu6O09lqjQvVAsjybEKY=";
+      hash = "sha256-hFUUbtnGnJOlfelUrq0DAsr60DXCskIXXWqh4X68svs=";
       this = self.postgresql_15;
       thisAttr = "postgresql_15";
       inherit self;
     };
 
     postgresql_16 = self.callPackage generic {
-      version = "16.1";
+      version = "16.2";
       psqlSchema = "16";
-      hash = "sha256-zjxNhdGbASH+DT+O8fpgH3GYnob4pm99w61UbdVWT+w=";
+      hash = "sha256-RG6IKU28LJCFq0twYaZG+mBLS+wDUh1epnHC5a2bKVI=";
       this = self.postgresql_16;
       thisAttr = "postgresql_16";
       inherit self;
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/lantern.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/lantern.nix
index b1b21174c8a8..b08311dfd1a5 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/lantern.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/lantern.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "lantern";
-  version = "0.0.12";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "lanterndata";
     repo = "lantern";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-PJLpRX5IuHBz7xywgD/lXfr6c6Kn1XmQ6MCGSuKPmlE=";
+    hash = "sha256-B8Dpt/VmD/QzNzfRSlhijnVEd/EuTOP+MI/qERcIbOU=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_net.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_net.nix
index 3cfcafad74e7..8ef3182ebeb6 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_net.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/pg_net.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_net";
-  version = "0.7.3";
+  version = "0.8.0";
 
   buildInputs = [ curl postgresql ];
 
@@ -10,9 +10,11 @@ stdenv.mkDerivation rec {
     owner  = "supabase";
     repo   = pname;
     rev    = "refs/tags/v${version}";
-    hash   = "sha256-j5qLgn/i4ljysuwgT46579N+9VpGr483vQEX/3lUYFA=";
+    hash   = "sha256-ZPsRPWV1G3lMM2mT+H139Wvgoy8QnmeUbzEnGeDJmZA=";
   };
 
+  env.NIX_CFLAGS_COMPILE = "-Wno-error";
+
   installPhase = ''
     mkdir -p $out/{lib,share/postgresql/extension}
 
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index c4ee2385296a..8e1147630a84 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
+++ b/nixpkgs/pkgs/servers/sql/postgresql/ext/timescaledb.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "timescaledb${lib.optionalString (!enableUnfree) "-apache"}";
-  version = "2.14.1";
+  version = "2.14.2";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ postgresql openssl libkrb5 ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "timescale";
     repo = "timescaledb";
     rev = version;
-    hash = "sha256-SzldMtVkR0sJEzrLSXZ2jSBaXftA8z09fU5RtxXmfmo=";
+    hash = "sha256-gJViEWHtIczvIiQKuvvuwCfWJMxAYoBhCHhD75no6r0=";
   };
 
   cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" "-DTAP_CHECKS=OFF" ]
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/patches/libxml2.12-15.patch b/nixpkgs/pkgs/servers/sql/postgresql/patches/libxml2.12-15.patch
deleted file mode 100644
index 13438c7d4bb7..000000000000
--- a/nixpkgs/pkgs/servers/sql/postgresql/patches/libxml2.12-15.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c
-index 6411f56b998..0eb39fcfc26 100644
---- a/src/backend/utils/adt/xml.c
-+++ b/src/backend/utils/adt/xml.c
-@@ -119,7 +119,7 @@ struct PgXmlErrorContext
- 
- static xmlParserInputPtr xmlPgEntityLoader(const char *URL, const char *ID,
- 										   xmlParserCtxtPtr ctxt);
--static void xml_errorHandler(void *data, xmlErrorPtr error);
-+static void xml_errorHandler(void *data, const xmlError *error);
- static void xml_ereport_by_code(int level, int sqlcode,
- 								const char *msg, int errcode);
- static void chopStringInfoNewlines(StringInfo str);
-@@ -1749,7 +1749,7 @@ xml_ereport(PgXmlErrorContext *errcxt, int level, int sqlcode, const char *msg)
-  * Error handler for libxml errors and warnings
-  */
- static void
--xml_errorHandler(void *data, xmlErrorPtr error)
-+xml_errorHandler(void *data, const xmlError *error)
- {
- 	PgXmlErrorContext *xmlerrcxt = (PgXmlErrorContext *) data;
- 	xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) error->ctxt;
diff --git a/nixpkgs/pkgs/servers/sql/rqlite/default.nix b/nixpkgs/pkgs/servers/sql/rqlite/default.nix
index df1d760b68e4..4a3ab9d6832c 100644
--- a/nixpkgs/pkgs/servers/sql/rqlite/default.nix
+++ b/nixpkgs/pkgs/servers/sql/rqlite/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "rqlite";
-  version = "8.20.3";
+  version = "8.21.1";
 
   src = fetchFromGitHub {
     owner = "rqlite";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pblCeabZeAL45L4prwYwKh0uIG/I/2TnFciOJS1N3Ds=";
+    sha256 = "sha256-u6LmzqlRmG8uCl5acGlkqo2pt/vKkc/xuZQhq51gVfY=";
   };
 
-  vendorHash = "sha256-FzxY6CTcFwSmW9LEKzPRtCsKxsGedwU9G3A3efYG9zk=";
+  vendorHash = "sha256-onR4n6ok6y9APRwGjBoMISbidGDVw19D48TkogRp1uM=";
 
   subPackages = [ "cmd/rqlite" "cmd/rqlited" "cmd/rqbench" ];
 
diff --git a/nixpkgs/pkgs/servers/tang/default.nix b/nixpkgs/pkgs/servers/tang/default.nix
index 4206973dbd15..e6581921fcb7 100644
--- a/nixpkgs/pkgs/servers/tang/default.nix
+++ b/nixpkgs/pkgs/servers/tang/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tang";
-  version = "14";
+  version = "15";
 
   src = fetchFromGitHub {
     owner = "latchset";
     repo = "tang";
     rev = "refs/tags/v${version}";
-    hash = "sha256-QKURKb2g71pZvuZlJk3Rc26H3oU0WSkjgQtJQLrYGbw=";
+    hash = "sha256-nlC2hdNzQZrfirjS2gX4oFp2OD1OdxmLsN03hfxD3ug=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/servers/web-apps/changedetection-io/default.nix b/nixpkgs/pkgs/servers/web-apps/changedetection-io/default.nix
index a162448e637e..b9156d2e5b7d 100644
--- a/nixpkgs/pkgs/servers/web-apps/changedetection-io/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/changedetection-io/default.nix
@@ -5,19 +5,19 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "changedetection-io";
-  version = "0.45.9";
+  version = "0.45.14";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dgtlmoon";
     repo = "changedetection.io";
     rev = version;
-    hash = "sha256-xiKXp9DBaiSteqZwQLZ4zLwT5MeETJx01rKRrWGYioc=";
+    hash = "sha256-O+kWivVc/FZmIDjOE/fsUccrOyHrQ8GakjulEnm4w88=";
   };
 
   postPatch = ''
     substituteInPlace requirements.txt \
-      --replace "apprise~=1.6.0" "apprise" \
+      --replace "apprise~=1.7.1" "apprise" \
       --replace "cryptography~=3.4" "cryptography" \
       --replace "dnspython~=2.4" "dnspython" \
       --replace "pytest ~=7.2" "" \
@@ -47,6 +47,7 @@ python3.pkgs.buildPythonApplication rec {
     jinja2-time
     jsonpath-ng
     jq
+    loguru
     lxml
     paho-mqtt
     pillow
@@ -76,5 +77,6 @@ python3.pkgs.buildPythonApplication rec {
     changelog = "https://github.com/dgtlmoon/changedetection.io/releases/tag/${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ mikaelfangel ];
+    mainProgram = "changedetection.io";
   };
 }
diff --git a/nixpkgs/pkgs/servers/web-apps/dolibarr/default.nix b/nixpkgs/pkgs/servers/web-apps/dolibarr/default.nix
index ca3b815eb021..fa6abf047943 100644
--- a/nixpkgs/pkgs/servers/web-apps/dolibarr/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/dolibarr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dolibarr";
-  version = "18.0.5";
+  version = "19.0.0";
 
   src = fetchFromGitHub {
     owner = "Dolibarr";
     repo = "dolibarr";
     rev = version;
-    hash = "sha256-DMy5GrQ6xKwMqJtJv3IW0CuLVq85pDCF9qJBs+1B5H4=";
+    hash = "sha256-Guq3CHdVqGfprXo0O3VriWSfWR/sIgj3Znso1BUeLNY=";
   };
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/servers/web-apps/matomo/default.nix b/nixpkgs/pkgs/servers/web-apps/matomo/default.nix
index f4946809a6a9..374c1bff3555 100644
--- a/nixpkgs/pkgs/servers/web-apps/matomo/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/matomo/default.nix
@@ -6,6 +6,10 @@ let
       version = "4.16.0";
       hash = "sha256-OFZT4195WTWw2XNAyGiNixW6hSNKC3IyBpa5kM9PCVk=";
     };
+    matomo_5 = {
+      version = "5.0.2";
+      hash = "sha256-rLAShJLtzd3HB1Je+P+i8GKWdeklyC2sTnmPR07Md+8=";
+    };
     matomo-beta = {
       version = "5.0.0";
       # `beta` examples: "b1", "rc1", null
diff --git a/nixpkgs/pkgs/servers/web-apps/outline/default.nix b/nixpkgs/pkgs/servers/web-apps/outline/default.nix
index c1ea00484db9..1af9b6ae7a73 100644
--- a/nixpkgs/pkgs/servers/web-apps/outline/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/outline/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "outline";
-  version = "0.74.0";
+  version = "0.75.0";
 
   src = fetchFromGitHub {
     owner = "outline";
     repo = "outline";
     rev = "v${version}";
-    hash = "sha256-fF//SgcBYcJmPDaev8G1s+svCW1bU9CmN3uWEoEeMUk=";
+    hash = "sha256-u4WDD0HRaNHdknHaoPYprebUaHt8EmESjBG0N6NZpIk=";
   };
 
   nativeBuildInputs = [ makeWrapper prefetch-yarn-deps ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   yarnOfflineCache = fetchYarnDeps {
     yarnLock = "${src}/yarn.lock";
-    hash = "sha256-T5FrtPN0CxLjF5KkQyH6dA61kvzIOj1Fe5rIY7l+aFE=";
+    hash = "sha256-V+1lqZh68T3C9VAFETHehv9iCt1j24ZeY9ErbnRGIrk=";
   };
 
   configurePhase = ''
diff --git a/nixpkgs/pkgs/servers/x11/xorg/default.nix b/nixpkgs/pkgs/servers/x11/xorg/default.nix
index 8e18237b8e9f..45be30799912 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/default.nix
+++ b/nixpkgs/pkgs/servers/x11/xorg/default.nix
@@ -48,11 +48,11 @@ self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   bitmap = callPackage ({ stdenv, pkg-config, fetchurl, libX11, libXaw, xbitmaps, libXmu, xorgproto, libXt, wrapWithXFileSearchPathHook, testers }: stdenv.mkDerivation (finalAttrs: {
     pname = "bitmap";
-    version = "1.1.0";
+    version = "1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/app/bitmap-1.1.0.tar.xz";
-      sha256 = "141nhfmrg14axvix2mc34vfs07gmki3k14qq1vqy7v7f5yf8g1lf";
+      url = "mirror://xorg/individual/app/bitmap-1.1.1.tar.xz";
+      sha256 = "1ri66kxa9m6s3xw25mz85k34qhjyksa4kbs4jfrri0g47yv2xm33";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     strictDeps = true;
@@ -1298,11 +1298,11 @@ self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   libXext = callPackage ({ stdenv, pkg-config, fetchurl, libX11, xorgproto, testers }: stdenv.mkDerivation (finalAttrs: {
     pname = "libXext";
-    version = "1.3.5";
+    version = "1.3.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/lib/libXext-1.3.5.tar.xz";
-      sha256 = "1jkv7l9qm4vms6af4faax916rirxp6r8rpjrhlxa6zn5jp4c056v";
+      url = "mirror://xorg/individual/lib/libXext-1.3.6.tar.xz";
+      sha256 = "0lwpx0b7lid47pff6dagp5h63bi0b3gsy05lqpyhbr4l76i9zdgd";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     strictDeps = true;
@@ -1638,11 +1638,11 @@ self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   libXvMC = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libX11, libXext, libXv, testers }: stdenv.mkDerivation (finalAttrs: {
     pname = "libXvMC";
-    version = "1.0.13";
+    version = "1.0.14";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/lib/libXvMC-1.0.13.tar.xz";
-      sha256 = "0z35xqna3dnrfxgn9aa1y6jx7mrwsn8vi8dcwm3sg23qx9nvx7ha";
+      url = "mirror://xorg/individual/lib/libXvMC-1.0.14.tar.xz";
+      sha256 = "1nayf8qck0b1xb88dirdbvj7clr18wq1dxs73zwbpzdsnsv9xgp4";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     strictDeps = true;
@@ -1756,19 +1756,18 @@ self: with self; {
   })) {};
 
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
-  libpciaccess = callPackage ({ stdenv, pkg-config, fetchurl, hwdata, zlib, testers }: stdenv.mkDerivation (finalAttrs: {
+  libpciaccess = callPackage ({ stdenv, pkg-config, fetchurl, testers }: stdenv.mkDerivation (finalAttrs: {
     pname = "libpciaccess";
-    version = "0.17";
+    version = "0.18";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/lib/libpciaccess-0.17.tar.xz";
-      sha256 = "0wsvv5d05maqbidvnavka7n0fnql55m4jix5wwlk14blr6ikna3l";
+      url = "mirror://xorg/individual/lib/libpciaccess-0.18.tar.xz";
+      sha256 = "1ab2qbksf15jrpzd6x9ncri64d2bnhlw7aajdws58lj9gljv0qal";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     strictDeps = true;
     nativeBuildInputs = [ pkg-config ];
-    buildInputs = [ hwdata zlib ];
-    configureFlags = [ "--with-pciids-path=${hwdata}/share/hwdata" ];
+    buildInputs = [ ];
     passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
     meta = {
       pkgConfigModules = [ "pciaccess" ];
@@ -1839,11 +1838,11 @@ self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   libxkbfile = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libX11, testers }: stdenv.mkDerivation (finalAttrs: {
     pname = "libxkbfile";
-    version = "1.1.2";
+    version = "1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/lib/libxkbfile-1.1.2.tar.xz";
-      sha256 = "1ca4crhzc5a2gdkc4r0m92wyirsy5mngnz0430bj02s2mi7pi8xq";
+      url = "mirror://xorg/individual/lib/libxkbfile-1.1.3.tar.xz";
+      sha256 = "1v2bhw1q1cj3wjfs0igq393iz10whcavbyxlm3k9xfvsk7m3xdm9";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     strictDeps = true;
@@ -1937,18 +1936,18 @@ self: with self; {
   })) {};
 
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
-  makedepend = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, testers }: stdenv.mkDerivation (finalAttrs: {
+  makedepend = callPackage ({ stdenv, pkg-config, fetchurl, testers }: stdenv.mkDerivation (finalAttrs: {
     pname = "makedepend";
-    version = "1.0.8";
+    version = "1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/util/makedepend-1.0.8.tar.xz";
-      sha256 = "0nxs5ibrghym3msbnh0b8i3yd3xgqandmrkc500jm6qq4n06zcmz";
+      url = "mirror://xorg/individual/util/makedepend-1.0.9.tar.xz";
+      sha256 = "1m1dg32z22fw9shg0wsxw7dvdcnfm16gq9qxpkfxixpzb6vdxl4j";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     strictDeps = true;
     nativeBuildInputs = [ pkg-config ];
-    buildInputs = [ xorgproto ];
+    buildInputs = [ ];
     passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
     meta = {
       pkgConfigModules = [ ];
@@ -3819,11 +3818,11 @@ self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   xkbcomp = callPackage ({ stdenv, pkg-config, fetchurl, libX11, libxkbfile, xorgproto, testers }: stdenv.mkDerivation (finalAttrs: {
     pname = "xkbcomp";
-    version = "1.4.6";
+    version = "1.4.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/app/xkbcomp-1.4.6.tar.xz";
-      sha256 = "164fqnpq80vbl7693x82h38kvxcdf668vggpg9439q21xw8xcl7s";
+      url = "mirror://xorg/individual/app/xkbcomp-1.4.7.tar.xz";
+      sha256 = "0xqzz209m9i43jbyrf2lh4xdbyhzzzn9mis2f2c32kplwla82a0a";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     strictDeps = true;
@@ -3879,11 +3878,11 @@ self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   xkbutils = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libX11, libXaw, libXt, testers }: stdenv.mkDerivation (finalAttrs: {
     pname = "xkbutils";
-    version = "1.0.5";
+    version = "1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/app/xkbutils-1.0.5.tar.xz";
-      sha256 = "197f4pgw3jdnlp7sj37f3xf15ayad20sl7vvg2rvx0j5qplsi97n";
+      url = "mirror://xorg/individual/app/xkbutils-1.0.6.tar.xz";
+      sha256 = "0pp2bsksblvvw0fx667k2bl5sm0baj7pp2cjvq0vmk093vpbp8ii";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     strictDeps = true;
@@ -3899,11 +3898,11 @@ self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   xkeyboardconfig = callPackage ({ stdenv, pkg-config, fetchurl, testers }: stdenv.mkDerivation (finalAttrs: {
     pname = "xkeyboard-config";
-    version = "2.40";
+    version = "2.41";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.40.tar.xz";
-      sha256 = "1qrakn6gyj701mxwbrlhjv4gd73ws51140ns68a1kivxxhdvlgbs";
+      url = "mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.41.tar.xz";
+      sha256 = "13vjvyg1fjvsqzqkpxzigvv94v154mcb2gba4d80spi9aywxcb7h";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     strictDeps = true;
@@ -4077,18 +4076,18 @@ self: with self; {
   })) {};
 
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
-  xmore = callPackage ({ stdenv, pkg-config, fetchurl, libXaw, libXt, wrapWithXFileSearchPathHook, testers }: stdenv.mkDerivation (finalAttrs: {
+  xmore = callPackage ({ stdenv, pkg-config, fetchurl, libXaw, xorgproto, libXt, wrapWithXFileSearchPathHook, testers }: stdenv.mkDerivation (finalAttrs: {
     pname = "xmore";
-    version = "1.0.3";
+    version = "1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/app/xmore-1.0.3.tar.bz2";
-      sha256 = "06r514p30v87vx00ddlck9mwazaqk9bx08ip866p1mw2a46iwjk4";
+      url = "mirror://xorg/individual/app/xmore-1.0.4.tar.xz";
+      sha256 = "16havfffngvx5kc9lam8rhsdfabsj1rsv4g49z346knyq7dn1dby";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     strictDeps = true;
     nativeBuildInputs = [ pkg-config wrapWithXFileSearchPathHook ];
-    buildInputs = [ libXaw libXt ];
+    buildInputs = [ libXaw xorgproto libXt ];
     passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
     meta = {
       pkgConfigModules = [ ];
@@ -4219,11 +4218,11 @@ self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   xprop = callPackage ({ stdenv, pkg-config, fetchurl, libX11, xorgproto, testers }: stdenv.mkDerivation (finalAttrs: {
     pname = "xprop";
-    version = "1.2.6";
+    version = "1.2.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/app/xprop-1.2.6.tar.xz";
-      sha256 = "0vjqnn42gscw1z2wdj24kdwjwvd7mw58pj0nm9203k1fn4jqa2sq";
+      url = "mirror://xorg/individual/app/xprop-1.2.7.tar.xz";
+      sha256 = "0pw2iv7dcy2xq5fh3427nx88pjj9d9rry3930qj1c6mricaf6dj4";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     strictDeps = true;
diff --git a/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 94755a1637ba..d0f88c4dfdbc 100755
--- a/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -198,12 +198,6 @@ while (<>) {
         push @{$extraAttrs{$pkg}}, "postPatch = ''substituteInPlace configure --replace 'MAPFILES_PATH=`pkg-config' 'MAPFILES_PATH=`\$PKG_CONFIG' '';";
     }
 
-    # libpciaccess requires pci.ids{,.gz} at runtime
-    if ($pkg eq "libpciaccess") {
-        push @requires, "hwdata";
-        push @{$extraAttrs{$pkg}}, "configureFlags = [ \"--with-pciids-path=\${hwdata}/share/hwdata\" ];";
-    }
-
     if (@@ = glob("$tmpDir/*/app-defaults/")) {
         push @nativeRequires, "wrapWithXFileSearchPathHook";
     }
diff --git a/nixpkgs/pkgs/servers/x11/xorg/overrides.nix b/nixpkgs/pkgs/servers/x11/xorg/overrides.nix
index b3aac93d89cb..6cc04f1490c6 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/overrides.nix
+++ b/nixpkgs/pkgs/servers/x11/xorg/overrides.nix
@@ -5,7 +5,7 @@
   libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm, netbsd,
   ncompress,
   mesa, udev, bootstrap_cmds, bison, flex, clangStdenv, autoreconfHook,
-  mcpp, libepoxy, openssl, pkg-config, llvm, libxslt, libxcrypt,
+  mcpp, libepoxy, openssl, pkg-config, llvm, libxslt, libxcrypt, hwdata,
   ApplicationServices, Carbon, Cocoa, Xplugin,
   xorg, windows
 }:
@@ -408,14 +408,15 @@ self: super:
   });
 
   libpciaccess = super.libpciaccess.overrideAttrs (attrs: {
-    patches = attrs.patches or [] ++ [
-      (fetchpatch {
-        url = "https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/commit/833c86ce15cee2a84a37ae71015f236fd32615d9.patch";
-        hash = "sha256-6koQV+Vse7/OWwuWYrWmBUebHBT+5F32Kkn9V9j+m+Q=";
-      })
-    ];
+    nativeBuildInputs = attrs.nativeBuildInputs ++ [ meson ninja ];
 
-    buildInputs = lib.optionals stdenv.hostPlatform.isNetBSD (with netbsd; [ libarch libpci ]);
+    buildInputs = attrs.buildInputs ++ [ zlib ]
+      ++ lib.optionals stdenv.hostPlatform.isNetBSD (with netbsd; [ libarch libpci ]);
+
+    mesonFlags = [
+      (lib.mesonOption "pci-ids" "${hwdata}/share/hwdata")
+      (lib.mesonEnable "zlib" true)
+    ];
 
     meta = attrs.meta // {
       # https://gitlab.freedesktop.org/xorg/lib/libpciaccess/-/blob/master/configure.ac#L108-114
diff --git a/nixpkgs/pkgs/servers/x11/xorg/tarballs.list b/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
index c6dcd9b0402f..756cc80bb51b 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
+++ b/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
@@ -8,7 +8,7 @@ mirror://xorg/individual/xcb/xcb-util-keysyms-0.4.1.tar.xz
 mirror://xorg/individual/xcb/xcb-util-renderutil-0.3.10.tar.xz
 mirror://xorg/individual/xcb/xcb-util-wm-0.4.2.tar.xz
 mirror://xorg/individual/app/appres-1.0.6.tar.xz
-mirror://xorg/individual/app/bitmap-1.1.0.tar.xz
+mirror://xorg/individual/app/bitmap-1.1.1.tar.xz
 mirror://xorg/individual/app/editres-1.0.8.tar.xz
 mirror://xorg/individual/app/fonttosfnt-1.2.3.tar.xz
 mirror://xorg/individual/app/iceauth-1.0.9.tar.xz
@@ -45,10 +45,10 @@ mirror://xorg/individual/app/xgc-1.0.6.tar.xz
 mirror://xorg/individual/app/xhost-1.0.9.tar.xz
 mirror://xorg/individual/app/xinit-1.4.2.tar.xz
 mirror://xorg/individual/app/xinput-1.6.4.tar.xz
-mirror://xorg/individual/app/xkbcomp-1.4.6.tar.xz
+mirror://xorg/individual/app/xkbcomp-1.4.7.tar.xz
 mirror://xorg/individual/app/xkbevd-1.1.5.tar.xz
 mirror://xorg/individual/app/xkbprint-1.0.6.tar.xz
-mirror://xorg/individual/app/xkbutils-1.0.5.tar.xz
+mirror://xorg/individual/app/xkbutils-1.0.6.tar.xz
 mirror://xorg/individual/app/xkill-1.0.6.tar.xz
 mirror://xorg/individual/app/xload-1.1.4.tar.xz
 mirror://xorg/individual/app/xlsatoms-1.1.4.tar.xz
@@ -57,9 +57,9 @@ mirror://xorg/individual/app/xlsfonts-1.0.7.tar.xz
 mirror://xorg/individual/app/xmag-1.0.7.tar.xz
 mirror://xorg/individual/app/xmessage-1.0.6.tar.xz
 mirror://xorg/individual/app/xmodmap-1.0.11.tar.xz
-mirror://xorg/individual/app/xmore-1.0.3.tar.bz2
+mirror://xorg/individual/app/xmore-1.0.4.tar.xz
 mirror://xorg/individual/app/xpr-1.1.0.tar.xz
-mirror://xorg/individual/app/xprop-1.2.6.tar.xz
+mirror://xorg/individual/app/xprop-1.2.7.tar.xz
 mirror://xorg/individual/app/xrandr-1.5.2.tar.xz
 mirror://xorg/individual/app/xrdb-1.2.2.tar.xz
 mirror://xorg/individual/app/xrefresh-1.0.7.tar.xz
@@ -74,7 +74,7 @@ mirror://xorg/individual/app/xwininfo-1.1.6.tar.xz
 mirror://xorg/individual/app/xwud-1.0.6.tar.xz
 mirror://xorg/individual/data/xbitmaps-1.1.3.tar.xz
 mirror://xorg/individual/data/xcursor-themes-1.0.7.tar.xz
-mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.40.tar.xz
+mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.41.tar.xz
 mirror://xorg/individual/doc/xorg-docs-1.7.2.tar.gz
 mirror://xorg/individual/doc/xorg-sgml-doctools-1.12.tar.gz
 mirror://xorg/individual/driver/xf86-input-evdev-2.10.6.tar.bz2
@@ -171,7 +171,7 @@ mirror://xorg/individual/lib/libdmx-1.1.5.tar.xz
 mirror://xorg/individual/lib/libfontenc-1.1.7.tar.xz
 mirror://xorg/individual/lib/libFS-1.0.9.tar.xz
 mirror://xorg/individual/lib/libICE-1.1.1.tar.xz
-mirror://xorg/individual/lib/libpciaccess-0.17.tar.xz
+mirror://xorg/individual/lib/libpciaccess-0.18.tar.xz
 mirror://xorg/individual/lib/libSM-1.2.4.tar.xz
 mirror://xorg/individual/lib/libWindowsWM-1.0.1.tar.bz2
 mirror://xorg/individual/lib/libX11-1.8.7.tar.xz
@@ -183,14 +183,14 @@ mirror://xorg/individual/lib/libXcursor-1.2.1.tar.xz
 mirror://xorg/individual/lib/libxcvt-0.1.2.tar.xz
 mirror://xorg/individual/lib/libXdamage-1.1.6.tar.xz
 mirror://xorg/individual/lib/libXdmcp-1.1.4.tar.xz
-mirror://xorg/individual/lib/libXext-1.3.5.tar.xz
+mirror://xorg/individual/lib/libXext-1.3.6.tar.xz
 mirror://xorg/individual/lib/libXfixes-6.0.1.tar.xz
 mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2
 mirror://xorg/individual/lib/libXfont2-2.0.6.tar.xz
 mirror://xorg/individual/lib/libXft-2.3.8.tar.xz
 mirror://xorg/individual/lib/libXi-1.8.1.tar.xz
 mirror://xorg/individual/lib/libXinerama-1.1.5.tar.xz
-mirror://xorg/individual/lib/libxkbfile-1.1.2.tar.xz
+mirror://xorg/individual/lib/libxkbfile-1.1.3.tar.xz
 mirror://xorg/individual/lib/libXmu-1.1.4.tar.xz
 mirror://xorg/individual/lib/libXp-1.0.4.tar.xz
 mirror://xorg/individual/lib/libXpm-3.5.17.tar.xz
@@ -204,7 +204,7 @@ mirror://xorg/individual/lib/libXTrap-1.0.1.tar.bz2
 mirror://xorg/individual/lib/libXt-1.3.0.tar.xz
 mirror://xorg/individual/lib/libXtst-1.2.4.tar.xz
 mirror://xorg/individual/lib/libXv-1.0.12.tar.xz
-mirror://xorg/individual/lib/libXvMC-1.0.13.tar.xz
+mirror://xorg/individual/lib/libXvMC-1.0.14.tar.xz
 mirror://xorg/individual/lib/libXxf86dga-1.1.6.tar.xz
 mirror://xorg/individual/lib/libXxf86misc-1.0.4.tar.bz2
 mirror://xorg/individual/lib/libXxf86vm-1.1.5.tar.xz
@@ -215,7 +215,7 @@ mirror://xorg/individual/util/bdftopcf-1.1.1.tar.xz
 mirror://xorg/individual/util/gccmakedep-1.0.3.tar.bz2
 mirror://xorg/individual/util/imake-1.0.10.tar.xz
 mirror://xorg/individual/util/lndir-1.0.4.tar.xz
-mirror://xorg/individual/util/makedepend-1.0.8.tar.xz
+mirror://xorg/individual/util/makedepend-1.0.9.tar.xz
 mirror://xorg/individual/util/util-macros-1.20.0.tar.xz
 mirror://xorg/individual/util/xorg-cf-files-1.0.8.tar.xz
 mirror://xorg/individual/xserver/xorg-server-21.1.11.tar.xz